LinkedIn Post Scraper avatar

LinkedIn Post Scraper

Pricing

$19.99/month + usage

Go to Apify Store
LinkedIn Post Scraper

LinkedIn Post Scraper

๐Ÿ“ LinkedIn Post Scraper (linkedin-post-scraper) extracts post text, author, date, reactions, comments, shares, media, links & hashtags. ๐Ÿ” Ideal for content research, social listening, competitor analysis & lead gen. ๐Ÿ“Š Fast, scalable, API-ready JSON/CSV exports. ๐Ÿš€

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScrapeEngine

ScrapeEngine

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

LinkedIn Post Scraper

LinkedIn Post Scraper is a fast, scalable Apify actor that collects public LinkedIn posts from company and personal profile URLs. It solves the manual, repetitive work of capturing post text, author details, timestamps, engagement, images, comments, and reactions โ€” exporting clean, structured results ready for analysis or automation. Built for marketers, developers, data analysts, and researchers, it enables content research, social listening, competitor tracking, and API-ready workflows at scale. ๐Ÿš€

What data / output can you get?

Here are the key fields the actor saves for each post in the dataset and in the linkedin_posts.json snapshot. Example values illustrate structure.

  • Data field | Description | Example value
  • urn | LinkedIn URN for the post (detected from URL or hashed) | urn:li:activity:7191234567890
  • text | Full post text content | โ€œWeโ€™re excited to unveil our latest AI researchโ€ฆโ€
  • url | Canonical URL of the post | https://www.linkedin.com/feed/update/urn:li:activity:7191234567890
  • postedAtTimestamp | Post time in milliseconds since epoch | 1778862600000
  • postedAtISO | ISO timestamp of post time | 2026-03-15T08:30:00.000Z
  • timeSincePosted | Relative time descriptor | 3d
  • authorType | Author category | Company
  • authorProfileUrl | Source profile URL scraped | https://www.linkedin.com/company/google/
  • authorFullName | Display name of the author | Google
  • authorHeadline | Author description/headline (if available) | โ€œOur mission is to organize the worldโ€™s informationโ€ฆโ€
  • type | Post type derived from media presence | image
  • images | Array of post image URLs | ["https://media.licdn.com/dms/image/.../feedshare-image-1.png"]

Bonus fields and objects:

  • image (primary image URL), author (nested profile object), attributes (PROFILE_MENTION entities), comments (with author object, text, link, time), reactions (with reactor profile and type)
  • numLikes, numComments, numShares (numShares defaults to 0)
  • commentsTruncated, commentsComplete, reactionsTruncated
  • canReact, canPostComments, canShare, commentingDisabled, allowedCommentersScope, rootShare, shareAudience
  • rawHtml (included only when rawData is true)

Exports:

  • Dataset: export individual post records as JSON, CSV, or Excel via Apify
  • Key-value store: full array mirror saved to linkedin_posts.json

Key features

  • โšก Batch collection per source URL
    Gather up to your specified limitPerSource posts per LinkedIn company or person profile in one run โ€” ideal for monitoring and reporting.

  • ๐Ÿ” Deep scraping mode
    Enable deepScrape to follow additional activity links and enrich the dataset with more posts and contextual signals (comments, reactions, images).

  • ๐Ÿ“… Date-based filtering
    Use scrapeUntil to include only posts from a specific date onwards, keeping your output timely and relevant.

  • ๐Ÿ“ฆ Raw data option (advanced)
    Turn on rawData to include rawHtml in each post object for custom parsing or auditing needs.

  • ๐ŸŒ Proxy-ready reliability
    Configure proxyConfiguration in the Apify UI for better stability and to reduce rate limiting.

  • ๐Ÿ’พ Flexible exports
    Download results as JSON, CSV, or Excel from the Apify dataset, with a complete array mirror saved to linkedin_posts.json.

  • ๐Ÿ’ป Developer-friendly and API-ready
    Built on the Apify platform โ€” trigger runs programmatically, stream results via the Dataset API, and wire into n8n or Make.com workflows.

  • ๐Ÿ›ก๏ธ Production-focused
    Stable HTTP session with retries and backoff, plus optional proxy use for resilient scraping on public LinkedIn pages.

How to use LinkedIn Post Scraper - step by step

  1. Sign in to your Apify account.
  2. Open the โ€œLinkedIn Post Scraperโ€ actor.
  3. In the Input tab, paste one or more LinkedIn company or personal profile URLs into urls.
  4. Set limitPerSource to control how many posts to collect per URL.
  5. (Optional) Set scrapeUntil to only include posts from that date onward (YYYY-MM-DD).
  6. Choose whether to enable deepScrape for richer data and rawData to include rawHtml.
  7. (Optional) Configure proxyConfiguration in the Apify UI for higher reliability and throughput.
  8. Click Start to run the scraper. Progress logs will appear in real time.
  9. When finished, open the Dataset to preview and export results in JSON/CSV/Excel.
  10. Download the complete post array from the Key-value store as linkedin_posts.json.

Pro Tip: Trigger runs and pull datasets via the Apify API, then connect to n8n or Make.com for hands-free reporting and enrichment.

Use cases

  • Use case | Description
  • Marketing + Social listening | Monitor competitorsโ€™ posts and engagement to inform content strategy and campaign timing.
  • Content research for teams | Aggregate post text and images to extract themes and winning formats across brands or authors.
  • Sales + Lead intelligence | Track executive or company posts to spot product signals and market moves.
  • Recruitment branding analysis | Analyze company updates and engagement over time to benchmark employer brand activity.
  • Academic & policy research | Build corpora of public LinkedIn posts with timestamps and authors for longitudinal studies.
  • Data engineering pipeline | Feed structured post data into analytics stacks via Apify API and schedule automated runs.

Why choose LinkedIn Post Scraper?

Purpose-built for public LinkedIn pages, this actor emphasizes precision, reliability, and automation-ready outputs.

  • โœ… Accurate structured output: Captures post text, timestamps, author details, images, comments, and reactions.
  • ๐ŸŒ Scales across profiles: Set per-source limits and run on many company/person URLs in one job.
  • ๐Ÿ”Œ API & workflow friendly: Export to JSON/CSV/Excel and integrate with n8n or Make.com.
  • ๐Ÿ›ก๏ธ Safe & robust: Works on public pages with retry/backoff and optional proxy support.
  • ๐Ÿ’ฐ Cost-efficient control: Tune depth and limits to match your budget and data needs.
  • ๐Ÿงฐ Developer-first: Clean JSON schema with a run-level snapshot in linkedin_posts.json for reproducibility.

Bottom line: A production-ready alternative to fragile extensions, designed for consistent outputs and automation.

Is it legal / ethical to use LinkedIn Post Scraper?

Yes โ€” when used responsibly. This actor accesses publicly available LinkedIn pages and does not log in or access private data.

Guidelines for compliant use:

  • Scrape only public data youโ€™re permitted to process.
  • Follow applicable data protection laws (e.g., GDPR, CCPA).
  • Respect LinkedInโ€™s terms and avoid abusive request patterns.
  • Do not use scraped content for spam or misuse.
  • Consult your legal team for edge cases or regulated use.

Input parameters & output format

Example JSON input

{
"urls": ["https://www.linkedin.com/company/google/"],
"limitPerSource": 10,
"scrapeUntil": "2026-03-01",
"deepScrape": true,
"rawData": false,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Input fields

  • Field: urls

    • Type: array
    • Description: Add LinkedIn company or person profile URLs to scrape โ€” one or many!
    • Default: โ€”
    • Required: Yes
  • Field: limitPerSource

    • Type: integer
    • Description: How many posts to collect from each URL. More = more data!
    • Default: 10
    • Required: No
  • Field: scrapeUntil

    • Type: string
    • Description: Filter posts โ€” only include content from this date onwards. Pick from calendar!
    • Default: null
    • Required: No
  • Field: deepScrape

    • Type: boolean
    • Description: Get richer data โ€” more metadata & engagement details. Recommended!
    • Default: true
    • Required: No
  • Field: rawData

    • Type: boolean
    • Description: For power users โ€” include extra raw data in output. Turn off for cleaner results.
    • Default: false
    • Required: No
  • Field: proxyConfiguration

    • Type: object
    • Description: Optional โ€” use proxy for better reliability & to avoid rate limits.
    • Default: null
    • Required: No

Notes:

  • urls must be non-empty; the run will end early if none are provided.
  • scrapeUntil is applied as a timestamp cutoff; posts older than the date are excluded.
  • rawData=true adds a rawHtml field to each output item.

Example JSON output

{
"urn": "urn:li:activity:7191234567890",
"text": "Weโ€™re excited to unveil our latest AI research. Read more below!",
"url": "https://www.linkedin.com/feed/update/urn:li:activity:7191234567890",
"postedAtTimestamp": 1778862600000,
"postedAtISO": "2026-03-15T08:30:00.000Z",
"timeSincePosted": "3d",
"isRepost": false,
"authorType": "Company",
"authorProfileUrl": "https://www.linkedin.com/company/google/",
"authorProfileId": "google",
"authorHeadline": "Our mission is to organize the worldโ€™s information and make it universally accessible and useful.",
"authorFullName": "Google",
"image": "https://media.licdn.com/dms/image/.../feedshare-image-1.png",
"type": "image",
"images": [
"https://media.licdn.com/dms/image/.../feedshare-image-1.png",
"https://media.licdn.com/dms/image/.../feedshare-image-2.png"
],
"author": {
"firstName": null,
"lastName": null,
"occupation": "Our mission is to organize the worldโ€™s information and make it universally accessible and useful.",
"id": "google",
"publicId": "google",
"trackingId": "Q29DgqS1Vq9W5oQkZB1yHA",
"profileId": "google",
"picture": "https://media.licdn.com/dms/image/.../logo.png",
"backgroundImage": ""
},
"authorName": "Google",
"authorTitle": "Our mission is to organize the worldโ€™s information and make it universally accessible and useful.",
"attributes": [
{
"start": 0,
"length": 7,
"type": "PROFILE_MENTION",
"profile": {
"firstName": "openai",
"lastName": "",
"occupation": "",
"id": "user-0",
"publicId": "openai",
"trackingId": "WsT2b8hQ9z1lV3nPq6YqVw",
"profileId": "user-0",
"picture": "",
"backgroundImage": ""
}
}
],
"comments": [
{
"time": 1778949000000,
"link": "https://www.linkedin.com/feed/update/urn:li:activity:7191234567890",
"text": "Congrats on the launch!",
"entities": [],
"pinned": false,
"originalLanguage": "English",
"author": {
"firstName": "Jane",
"lastName": "Doe",
"occupation": "",
"id": "commenter-a1b2c3d4e5f6",
"publicId": "jane-doe",
"trackingId": "XyZ1nOaB7pQ6lMdRtUeFrw",
"profileId": "commenter-a1b2c3d4e5f6",
"picture": "",
"backgroundImage": "",
"distance": "OUT_OF_NETWORK"
}
}
],
"reactions": [
{
"type": "LIKE",
"profile": {
"firstName": "John",
"lastName": "Smith",
"occupation": "",
"id": "reactor-0f9e8d7c6b5a",
"publicId": "john-smith-12345",
"trackingId": "R2F0eSdUd1BqTnN5QXhZdw",
"profileId": "ACoAA0f9e8d7c",
"picture": "",
"backgroundImage": ""
}
}
],
"numShares": 0,
"numLikes": 128,
"numComments": 12,
"commentsTruncated": true,
"commentsComplete": false,
"reactionsTruncated": false,
"canReact": true,
"canPostComments": true,
"canShare": true,
"commentingDisabled": false,
"allowedCommentersScope": "ALL",
"rootShare": true,
"shareAudience": "PUBLIC"
}

Notes:

  • authorFullName may be โ€œUnknownโ€ if not found in page metadata.
  • postedAtTimestamp/postedAtISO may be 0/empty when the date is unavailable.
  • numShares defaults to 0 when share counts arenโ€™t present in the HTML.
  • rawHtml appears only when rawData is true.

Outputs are written to:

  • Dataset: individual post records (export as JSON/CSV/Excel)
  • Key-value store: linkedin_posts.json containing the full array

FAQ

Do I need to log in or provide cookies to use this actor?

No. The LinkedIn Post Scraper works on publicly available LinkedIn pages without authentication. It uses standard HTTP requests with retry/backoff and optional proxy support.

What types of LinkedIn URLs are supported?

Company and person profile pages, as well as feed URLs, are supported as sources. Unsupported URL types (e.g., direct post, school, group) are skipped and not included in the final dataset.

How many posts can I collect per source?

You control this with limitPerSource. Set it to the number of posts you want per URL, and the actor will collect up to that amount, subject to availability and page content.

How does the date filter work?

If you set scrapeUntil (YYYY-MM-DD), the actor computes a timestamp cutoff and includes only posts at or after that date. Posts older than the cutoff are excluded from the output.

What engagement data is included?

The actor extracts likes and comments counts when detectable from the page HTML, plus parsed comments and reactions lists. numShares is included and defaults to 0 when not found.

Can I export the results to CSV or Excel?

Yes. Open the runโ€™s Dataset in Apify and export in JSON, CSV, or Excel. A complete JSON array is also saved to the Key-value store as linkedin_posts.json.

Is there a way to include the raw HTML?

Yes. Set rawData to true. Each post in the dataset will include a rawHtml field containing the page snapshot used for parsing.

Does it support proxies and automation tools?

Yes. Configure proxyConfiguration in the Apify input UI for reliable scraping, and integrate outputs with automation platforms like n8n and Make.com via the Apify API.

Closing CTA / Final thoughts

The LinkedIn Post Scraper is built for structured, reliable extraction of public LinkedIn posts at scale. It delivers clean JSON suitable for analytics, enrichment, and automated workflows. Set your per-source limits, optionally enable deepScrape and rawData, and export to JSON/CSV/Excel for use by marketing teams, analysts, developers, and researchers. Developers can automate runs via the Apify API and wire outputs into n8n or Make.com. Start extracting smarter LinkedIn insights today โ€” from public posts to structured datasets, ready for your next analysis or pipeline.