LinkedIn Post Scraper
Pricing
$19.99/month + usage
LinkedIn Post Scraper
Scrape LinkedIn posts from public profiles and pages with ease πΌπ’ Extract post text, images, videos, dates, reactions, comments, shares, and more. Perfect for competitor research, content analysis, lead generation, and brand monitoring. Turn LinkedIn content into actionable insights fast π
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
Scraply
Actor stats
0
Bookmarked
4
Total users
2
Monthly active users
16 days ago
Last modified
Categories
Share
LinkedIn Post Scraper
The LinkedIn Post Scraper extracts posts from public LinkedIn company pages, people profiles, and feeds β capturing text, media, engagement, and author metadata for analysis. It solves the time-consuming challenge of collecting LinkedIn content reliably at scale. Built for marketers, developers, data analysts, and researchers, this LinkedIn post extractor and LinkedIn feed scraper turns public LinkedIn content into structured, ready-to-use datasets you can export or automate across your stack.
What data / output can you get?
Below are real output fields pushed to the Apify dataset (and saved to linkedin_posts.json). You can export results to JSON, CSV, or Excel.
| Data type | Description | Example value |
|---|---|---|
| urn | Canonical LinkedIn URN for the post | urn:li:activity:7123456789012345678 |
| text | Post text content | βExcited to announce our new product launch!β |
| url | Public URL to the post | https://www.linkedin.com/feed/update/urn:li:activity:7123456789012345678 |
| postedAtTimestamp | Publish time in milliseconds since epoch | 1712448000000 |
| postedAtISO | Publish time in ISO format | 2024-04-07T10:00:00.000Z |
| timeSincePosted | Relative time string | 2w |
| authorType | Author entity type | Company |
| authorFullName | Full author name (company or person) | |
| authorProfileUrl | Source profile/page URL | https://www.linkedin.com/company/google/ |
| images | Array of image URLs detected in the post | ["https://media.licdn.com/dms/image/..."] |
| numLikes | Number of reactions/likes detected | 154 |
| numComments | Number of comments detected | 23 |
Bonus fields include:
- author (object with firstName, lastName, occupation, id, publicId, trackingId, profileId, picture, backgroundImage)
- authorHeadline, authorName, authorTitle
- image (primary image), type (text/image), attributes (mentions), comments[], reactions[]
- moderation and capability flags: commentsTruncated, commentsComplete, reactionsTruncated, canReact, canPostComments, canShare, commentingDisabled, allowedCommentersScope, rootShare, shareAudience
- When rawData is enabled, rawHtml (full source HTML of the post page)
Key features
-
π Fast, scalable post extraction Scrape LinkedIn posts from public profiles and company pages with a production-ready LinkedIn post scraping tool. Collect multiple sources in a single run using per-source limits.
-
π Deep scraping mode Enable deepScrape to enrich each post with author details, engagement metrics, media, reactions, and a comments snapshot β ideal for a LinkedIn post engagement scraper workflow.
-
ποΈ Historical cutoff by date Use scrapeUntil to include only posts from a specific date onward. Perfect for trend analysis and content audits.
-
π Reliable proxy support Configure proxyConfiguration to improve stability and reduce rate limits for large-scale runs.
-
π¦ Clean or advanced outputs Toggle rawData to include rawHtml for power users who need full HTML context; disable it for clean, lightweight exports.
-
π Real-time dataset streaming Posts are pushed to the Apify dataset as theyβre found, so you can monitor progress and export to JSON/CSV/Excel at any time.
-
π§© Developer-friendly (API & Python) Built in Python and deployable as a LinkedIn post scraping API via Apify. Integrate with n8n and Make.com for automated pipelines and export LinkedIn posts to CSV.
-
π Public data only, no login Works on public LinkedIn pages without cookies or session auth β a LinkedIn post scraper tool designed for ethical, compliant use.
How to use LinkedIn Post Scraper - step by step
- Sign in to your Apify account and open the βLinkedIn Post Scraperβ actor.
- Add your sources in urls β paste one or more public LinkedIn company pages, profiles, or feed URLs (e.g., https://www.linkedin.com/company/google/).
- Set limitPerSource to control how many posts to collect from each URL (default: 10).
- (Optional) Set scrapeUntil (YYYY-MM-DD) to include only posts from that date onward.
- (Optional) Toggle deepScrape to enrich results with media, reactions, and comments (default: true).
- (Optional) Toggle rawData if you want rawHtml included in each item (default: false).
- (Optional) Configure proxyConfiguration for improved reliability at scale.
- Click Start. Watch logs as posts are discovered and streamed to the dataset.
- Export results from the Dataset in JSON, CSV, or Excel. A full JSON array is also saved to the key-value store as linkedin_posts.json.
Pro tip: Orchestrate runs and download results using the Apify API, then plug outputs into n8n or Make.com to automate monitoring and reporting workflows for your LinkedIn post data extraction.
Use cases
| Use case name | Description |
|---|---|
| Competitor content tracking | Monitor public posts from competitor company pages to benchmark topics, cadence, and engagement. |
| Campaign performance analysis | Aggregate posts from your brandβs public profiles and track reactions and comment counts over time. |
| Content research for marketing | Download LinkedIn posts data into a spreadsheet for copy, format, and media analysis. |
| Academic & trend research | Collect longitudinal post datasets by date to study industry narratives and sentiment. |
| Lead intelligence enrichment | Enrich records with post URLs and author metadata for social touchpoints in outreach. |
| API pipeline for BI | Automate a LinkedIn post scraping API workflow and feed dashboards through scheduled exports. |
Why choose LinkedIn Post Scraper?
The LinkedIn Post Scraper is built for precision, automation, and reliability on publicly available LinkedIn pages.
- β Accurate post extraction: Captures post text, timestamps, media, reactions, and comments from public pages.
- π Scales across many sources: Batch multiple company/person URLs with per-source limits for efficient runs.
- π» Developer access: Use via Apify API in your workflows; underlying implementation is Python-friendly for advanced users.
- π Automation-ready: Connect outputs into n8n and Make.com to build notification or reporting pipelines.
- π Safe & ethical focus: Targets public pages only β no cookies, no login.
- π Proxy support: Optional proxy configuration improves stability for larger crawls.
- πΎ Flexible exports: Download structured datasets in JSON, CSV, or Excel directly from the Apify dataset.
Unlike brittle browser extensions or manual copy-paste, this LinkedIn post scraper tool runs on Apifyβs production infrastructure for dependable, repeatable results.
Is it legal / ethical to use LinkedIn Post Scraper?
Yes β when used responsibly. This actor targets publicly available LinkedIn pages (company profiles, public person profiles, and feeds). It does not log in or access private data.
Guidelines for compliant use:
- Scrape only public content.
- Avoid collecting or storing sensitive personal data.
- Respect platform terms and applicable regulations (e.g., GDPR/CCPA as relevant).
- Consult your legal team for edge cases or specific compliance requirements.
Input parameters & output format
Example input
{"urls": ["https://www.linkedin.com/company/google/"],"limitPerSource": 10,"scrapeUntil": "2026-03-01","deepScrape": true,"rawData": false,"proxyConfiguration": {"useApifyProxy": true}}
Input parameters
- urls (array, required): Add LinkedIn company or person profile URLs to scrape β one or many!
- Default: none
- limitPerSource (integer): How many posts to collect from each URL. Minimum 1.
- Default: 10
- scrapeUntil (string, nullable): Filter posts β only include content from this date onwards. Format YYYY-MM-DD.
- Default: null
- deepScrape (boolean): Get richer data β more metadata & engagement details.
- Default: true
- rawData (boolean): Include extra raw data (rawHtml) in output for advanced use.
- Default: false
- proxyConfiguration (object, nullable): Optional proxy configuration for better reliability and to avoid rate limits.
- Default: null
Example output item
{"urn": "urn:li:activity:7123456789012345678","text": "Excited to announce our new product launch!","url": "https://www.linkedin.com/feed/update/urn:li:activity:7123456789012345678","postedAtTimestamp": 1712448000000,"postedAtISO": "2024-04-07T10:00:00.000Z","timeSincePosted": "2w","isRepost": false,"authorType": "Company","authorProfileUrl": "https://www.linkedin.com/company/google/","authorProfileId": "google","authorHeadline": "We organize the worldβs information and make it universally accessible and useful.","authorFullName": "Google","image": "https://media.licdn.com/dms/image/...","type": "image","images": ["https://media.licdn.com/dms/image/..."],"author": {"firstName": null,"lastName": null,"occupation": "We organize the worldβs information and make it universally accessible and useful.","id": "google","publicId": "google","trackingId": "bWZ2c3Jvd3JhbGx5","profileId": "google","picture": "https://media.licdn.com/dms/image/...","backgroundImage": ""},"authorName": "Google","authorTitle": "We organize the worldβs information and make it universally accessible and useful.","attributes": [{"start": 0,"length": 6,"type": "PROFILE_MENTION","profile": {"firstName": "alice","lastName": "","occupation": "","id": "user-0","publicId": "alice","trackingId": "YWJjZGVmZ2hpamts","profileId": "user-0","picture": "","backgroundImage": ""}}],"comments": [{"time": 1712451600000,"link": "https://www.linkedin.com/feed/update/urn:li:activity:7123456789012345678","text": "Congrats!","entities": [],"pinned": false,"originalLanguage": "English","author": {"firstName": "John","lastName": "Doe","occupation": "","id": "commenter-1a2b3c4d5e6f","publicId": "john-doe","trackingId": "cXdlcnR5dWlvcGFzZGZo","profileId": "commenter-1a2b3c4d5e6f","picture": "","backgroundImage": "","distance": "OUT_OF_NETWORK"}}],"reactions": [{"type": "LIKE","profile": {"firstName": "Jane","lastName": "Smith","occupation": "","id": "reactor-a1b2c3d4e5f6","publicId": "jane-smith-123456","trackingId": "eHl6YWJjZGVmZ2hp","profileId": "ACoAAa1b2c3d4","picture": "","backgroundImage": ""}}],"numShares": 0,"numLikes": 154,"numComments": 23,"commentsTruncated": false,"commentsComplete": true,"reactionsTruncated": false,"canReact": true,"canPostComments": true,"canShare": true,"commentingDisabled": false,"allowedCommentersScope": "ALL","rootShare": true,"shareAudience": "PUBLIC"}
Notes:
- comments may be limited to a snapshot based on numComments; see commentsTruncated/commentsComplete.
- reactions include basic profile info where available.
- When rawData is true, each item includes rawHtml for advanced parsing.
FAQ
Do I need to log in or provide cookies to scrape LinkedIn posts?
No. The actor targets publicly available pages and does not require login. It fetches public company pages, public person profiles, and feed URLs.
How many posts can I scrape per source URL?
You control this with limitPerSource. The default is 10 posts per URL, and you can increase it as needed.
Can I filter posts by date?
Yes. Set scrapeUntil (YYYY-MM-DD) to only include posts from that date onward. The actor compares each postβs postedAtTimestamp to your cutoff.
Does it capture comments and reactions?
Yes. With deepScrape enabled (default), the output includes a comments snapshot and reactions array, plus numLikes and numComments counts.
What outputs do I get and how can I export them?
Each post is pushed to the Apify dataset. You can export to JSON, CSV, or Excel. The complete array is also saved to the key-value store as linkedin_posts.json.
Can I use this via API or in automation workflows?
Yes. Run the actor through the Apify API and integrate with n8n or Make.com. This makes it a practical LinkedIn post scraping API for continuous pipelines.
Which LinkedIn URLs are supported?
company pages (/company/), person profiles (/in/), and feed URLs (/feed/). For unsupported types, the actor returns a structured error for that URL.
Is using this scraper legal and compliant?
Yes β when used responsibly on public data. Avoid private or sensitive data and ensure your use complies with platform terms and applicable regulations.
Closing CTA / Final thoughts
The LinkedIn Post Scraper is built to turn public LinkedIn posts into structured, analytics-ready datasets. In minutes, you can collect post text, media, engagement, and author metadata β then export to CSV/JSON/Excel for dashboards and reports. Itβs ideal for marketers, developers, analysts, and researchers who need a dependable LinkedIn post scraping tool with API access and automation-friendly outputs.
Integrate via the Apify API, connect to n8n/Make.com, and start automating your LinkedIn post data extraction today. Start exporting smarter insights from public LinkedIn content β reliably and at scale.