LinkedIn Posts Scraper avatar

LinkedIn Posts Scraper

Pricing

from $1.26 / 1,000 results

Go to Apify Store
LinkedIn Posts Scraper

LinkedIn Posts Scraper

Search and scrape LinkedIn posts without login, cookies, or authentication. Find posts by keywords, profiles, companies, or hashtags.

Pricing

from $1.26 / 1,000 results

Rating

0.0

(0)

Developer

Artificially

Artificially

Maintained by Community

Actor stats

0

Bookmarked

61

Total users

3

Monthly active users

8 days ago

Last modified

Share

LinkedIn Posts Scraper - No Login Required

Scrape LinkedIn company posts without login, cookies, or authentication. Get recent posts from any company's public page.

Use with AI agents (MCP)

This actor works as a tool for AI agents through Apify's MCP server at https://mcp.apify.com: the agent passes LinkedIn company URLs or slugs and gets back one JSON item per post. For agents, set compactOutput: true to get slim items without photos and long text blobs, and keep limits small (maxPosts around 5).

Quick setup (sign in with your Apify account when asked):

  • Claude (claude.ai or Claude Desktop): Settings → Connectors → Add custom connector, and paste https://mcp.apify.com?tools=artificially/linkedin-posts-scraper
  • Claude Code or Cursor via the Apify CLI (latest version, apify upgrade): apify mcp install claude-code --tools artificially/linkedin-posts-scraper (use cursor instead of claude-code for Cursor)
  • Any MCP client (Cursor, VS Code, Windsurf):
{
"mcpServers": {
"apify": { "url": "https://mcp.apify.com?tools=artificially/linkedin-posts-scraper" }
}
}

Try asking:

  • "What has Stripe posted on LinkedIn recently? Summarize the last 10 posts."
  • "Get the latest LinkedIn posts from OpenAI and Anthropic with like counts."

Key Features

  • No Login Required - Works without LinkedIn credentials
  • No Cookies Needed - Uses public company pages only
  • Rich Data - Post text, timestamps, engagement metrics
  • Bulk Scraping - Process multiple companies at once

What Data You Get

FieldDescription
postIdUnique post identifier
postUrlDirect link to post
author.namePost author (the company, or the person whose post it reposted)
author.profileUrlAuthor page URL
textFull post content
timestampPost date/time (ISO format)
likeCountNumber of likes/reactions
commentCountNumber of comments
repostCountNumber of reposts
mediaTypeType: none, image, video, article, document
mediaUrlURL to media content
isReposttrue when the company reposted someone else's post
hashtags[]Hashtags used in post
mentions[]Mentioned users
companyNameCompany name
companyIdCompany identifier

Input

FieldTypeRequiredDefaultDescription
companyUrlsarrayYes*-LinkedIn company page URLs
companyIdsarrayYes*-Company IDs (e.g., "microsoft")
maxPostsnumberNo20Max posts per company
maxAttemptsPerCompanynumberNo6Retries per company, each with a fresh proxy IP
residentialFallbackbooleanNotrueSwitch to residential proxies for the second half of attempts
compactOutputbooleanNofalseSave slim items with only the key fields. Recommended for AI agents

*At least one of companyUrls or companyIds is required.

Example Input

{
"companyUrls": [
"https://www.linkedin.com/company/microsoft",
"https://www.linkedin.com/company/google"
],
"maxPosts": 20
}

Or using company IDs:

{
"companyIds": ["microsoft", "google", "apify"],
"maxPosts": 15
}

Output Example

{
"postId": "7420019953464053760",
"postUrl": "https://www.linkedin.com/posts/microsoft_when-the-rules-change-the-best-teams-don-activity-7420019953464053760-8wre",
"author": {
"name": "Microsoft",
"headline": null,
"profileUrl": "https://www.linkedin.com/company/microsoft",
"profilePhoto": null
},
"text": "When the rules change, the best teams don't just adapt, they re-architect...",
"timestamp": "2026-01-22T08:30:14.191Z",
"relativeTime": null,
"likeCount": null,
"commentCount": null,
"repostCount": null,
"mediaType": "none",
"mediaUrl": null,
"hashtags": [],
"mentions": [],
"companyName": "Microsoft",
"companyUrl": "https://www.linkedin.com/company/microsoft",
"companyId": "microsoft",
"scrapedAt": "2026-01-23T12:00:00Z"
}

You only pay for complete results

Only real posts are saved and charged: every item must have a post ID, a post URL and actual post text or media. Login walls, blocked requests, pages LinkedIn serves without posts, and non-existent companies are retried with fresh proxy IPs and, if they still fail, skipped for free. Skipped companies are listed in the FAILED_COMPANIES record and totals in the SUMMARY record of the run's key-value store. The run also stops when it reaches your maximum cost per run.

Cost

Pay-per-result pricing with volume discounts:

Cost TypeStandardBronze (-10%)Silver (-20%)Gold (-30%)
Start fee$0.10$0.09$0.08$0.07
Per post$0.005$0.0045$0.004$0.0035

Example Cost (Standard)

  • 20 posts: $0.10 + (20 x $0.005) = $0.20
  • 100 posts: $0.10 + (100 x $0.005) = $0.60

Use Cases

  • Competitor Analysis - Monitor competitor content strategy
  • Content Research - Find what content performs well
  • Brand Monitoring - Track company announcements
  • Market Intelligence - Follow industry leaders
  • Social Listening - Monitor company communications

How It Works

This scraper extracts posts directly from public LinkedIn company pages. It parses:

  1. JSON-LD schema data embedded in the page
  2. Activity feed sections
  3. Embedded JSON data structures

No authentication is required because it only accesses publicly visible content.

Tips

  1. Use Apify Proxy - Recommended for reliable results
  2. Company pages only - This scraper works with company pages, not keyword search
  3. Recent posts - Gets posts visible on the company's public page

This scraper only accesses publicly available data. Users are responsible for ensuring their use complies with applicable laws and LinkedIn's terms of service.

Support

  • Built by: Artificially
  • Issues: Report bugs via Apify Console