LinkedIn Posts Scraper avatar

LinkedIn Posts Scraper

Pricing

from $6.00 / 1,000 linkedin post scrapeds

Go to Apify Store
LinkedIn Posts Scraper

LinkedIn Posts Scraper

Scrape public LinkedIn posts from keyword searches, company feeds, and exact post URLs. Returns post text, author, engagement, media, comments preview, provider provenance, and run summaries. Charged $0.006 per post.

Pricing

from $6.00 / 1,000 linkedin post scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

5

Bookmarked

21

Total users

10

Monthly active users

a month ago

Last modified

Share

Scrape public LinkedIn posts from keyword searches, company feeds, and exact post URLs. The actor returns clean JSON rows with post text, author context, company context, engagement metrics, media URLs, comments preview, provider provenance, and a machine-readable run summary.

This actor is built for social listening, B2B lead research, competitive monitoring, founder/influencer tracking, and AI agents that need structured LinkedIn post data without handling cookies or browser sessions.

What can it scrape?

  • Keyword search results for public LinkedIn posts
  • Recent posts from public LinkedIn company pages
  • Exact public LinkedIn post, feed update, and article URLs
  • Post text, URL, ID, author, author URL, follower counts when exposed
  • Likes, reactions, comments, shares, and engagement totals when exposed
  • Company name, company URL, handle, followers, and industry for company-sourced posts when available
  • Media URLs and up to five public comments returned inside post-detail payloads

The actor only returns public data available through managed data providers. It does not scrape private feeds, logged-in-only content, emails, connections, or LinkedIn profile work history.

Input examples

Search by keyword:

{
"searchQueries": ["ai agents", "sales automation"],
"datePosted": "last-month",
"maxPosts": 50
}

Scrape company posts:

{
"companyUrls": ["https://www.linkedin.com/company/shopify"],
"maxPagesPerCompany": 2,
"maxPosts": 100
}

Fetch exact post URLs:

{
"postUrls": ["https://www.linkedin.com/posts/example_activity-7354600338621906944"],
"includeComments": true
}

You can combine all three source types in one run. Duplicates are removed before records are saved.

Output fields

Each dataset item is one LinkedIn post record:

FieldDescription
sourceTypesearch, company, or postUrl
sourceInputQuery, company URL, or exact post URL that produced the row
postUrlPublic LinkedIn post URL
postIdLinkedIn activity/share/article ID when available
publishedAtProvider-returned publish date
textVisible post body or article description
authorName, authorUrlPublic author details
companyName, companyUrlCompany details when available
reactionCount, commentCount, shareCountPublic engagement counters
engagementCountConvenience total of available engagement counters
mediaUrl, mediaUrlsPrimary and full media URLs when exposed
commentsPreviewUp to five comments when includeComments is enabled
providerProvider or provider chain used for the row
scrapedAtISO timestamp when the row was saved

The actor also writes a summary to key-value store records OUTPUT and RUN_SUMMARY, including provider attempts, retries, status codes, billing counters, duplicates skipped, and stopReason.

Pricing

This actor uses pay-per-event pricing:

EventPrice
Actor start$0.00005
LinkedIn post scraped$0.006 per saved post

Example: scraping 100 saved posts costs about $0.60 plus the tiny start event.

MCP and automation

Works with the Apify MCP Server, REST API, Apify SDK, n8n, Make, Zapier, Google Sheets, Airtable, and downstream enrichment pipelines.

Example agent request:

Find recent LinkedIn posts about AI sales agents and return author names, post text, engagement counts, and URLs.

The actor is intentionally narrow: it returns public LinkedIn post data. For full post comments as separate rows, use the LinkedIn Post Comments & Engagements Scraper. For company-only monitoring, use the LinkedIn Company Posts Scraper.

Limits and notes

  • Keyword search depends on public indexing and may be sparse for very recent posts.
  • Company-post coverage is limited by public provider availability.
  • Exact post URLs must be public LinkedIn post, feed update, or article URLs.
  • Enrichment adds provider calls, but improves text, engagement, media, and comments-preview coverage.
  • Raw provider payloads are disabled by default to keep dataset rows compact.

API usage

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('khadinakbar/linkedin-posts-scraper').call({
searchQueries: ['ai agents'],
datePosted: 'last-month',
maxPosts: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

This actor extracts public web data returned by managed provider APIs. Review LinkedIn's terms, applicable laws, and your use case before running large-scale collection. Do not use the data for spam, harassment, discrimination, or privacy-invasive profiling.