LinkedIn Post Scraper avatar

LinkedIn Post Scraper

Pricing

$19.99/month + usage

Go to Apify Store
LinkedIn Post Scraper

LinkedIn Post Scraper

✨ Scrape LinkedIn posts from public profiles and pages with this Apify Actor. Extract content, timestamps, reactions, and engagement data quickly. Ideal for research, lead generation, and content tracking. Features: ⚡ fast scraping • 📊 clean data • 🔍 insights • 🌍 scalable automation

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScraperX

ScraperX

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

17 days ago

Last modified

Share

LinkedIn Post Scraper

The LinkedIn Post Scraper is a fast, reliable LinkedIn post extractor that lets you scrape LinkedIn posts from public company pages, personal profiles, and feeds — capturing text, timestamps, images, comments, and reactions at scale. It solves the manual, error-prone work of monitoring content by providing a LinkedIn content scraper built for marketers, developers, data analysts, and researchers. With this LinkedIn post scraper tool, you can automate engagement tracking, enrich analytics, and export LinkedIn posts data into your pipelines with confidence.

What data / output can you get?

Below are real output fields this LinkedIn post data extractor saves to your dataset and to a JSON file. Results are pushed item-by-item during the run and the full array is saved at the end for easy downloads (export to JSON, CSV, or Excel on Apify).

Data typeDescriptionExample value
urnUnique LinkedIn URN for the posturn:li:activity:1234567890
textPost text content“We’re hiring data engineers in Berlin! Apply below.”
urlCanonical URL to the posthttps://www.linkedin.com/feed/update/urn:li:activity:1234567890
postedAtTimestampUnix timestamp in milliseconds1712246400000
postedAtISOISO-8601 timestamp2024-04-04T10:00:00.000Z
timeSincePostedHumanized relative time3d
authorTypeAuthor classificationCompany
authorProfileUrlSource page the posts were collected fromhttps://www.linkedin.com/company/google/
authorProfileIdAuthor profile identifier inferred from URL or datagoogle
authorFullNameAuthor/company/person name (when available)Google
authorHeadlineAuthor/company summary/description (when available)“Search the world's information...”
typeDetected post type by media presenceimage
imagePrimary image URL (if detected)https://media.licdn.com/.../post-image.jpg
imagesArray of image URLs (if detected)["https://media.licdn.com/.../1.jpg"]
authorNested author object (name, IDs, picture, etc.){ "firstName": "Sundar", "publicId": "google", ... }
attributesExtracted profile mentions in text/HTML[ { "type": "PROFILE_MENTION", "profile": { ... } } ]
commentsSampled comments array with author metadata[ { "text": "Congrats!", "author": { ... } } ]
reactionsSampled reactions array with reactor profiles[ { "type": "LIKE", "profile": { ... } } ]
numSharesShare count (best-effort; default 0)0
numLikesReactions/likes count (best-effort parse)128
numCommentsComment count (best-effort parse)14
commentsTruncatedIndicates comments list is a sampletrue
commentsCompleteIndicates if all comments are presentfalse
reactionsTruncatedIndicates reactions list is a sampletrue
canReactPermission flagtrue
canPostCommentsPermission flagtrue
canSharePermission flagtrue
commentingDisabledIndicates if commenting is disabledfalse
allowedCommentersScopeAllowed commenters scopeALL
rootShareIndicates if item is a root sharetrue
shareAudienceAudience visibilityPUBLIC
rawHtmlRaw HTML of the page (only when rawData=true)"..."

Notes:

  • When deepScrape is enabled, the LinkedIn post engagement scraper explores more post pages to enrich reactions and comments.
  • If rawData is enabled, each record also includes rawHtml for advanced parsing.
  • You can export datasets to JSON, CSV, or Excel directly from your Apify run.

Key features

  • ⚡ Fast, scalable extraction
    Optimized HTTP client with retries/backoff and optional async crawling for rapid discovery — ideal as a LinkedIn feed scraper when you need larger coverage.

  • 🔎 Deep scraping toggle
    Enable deepScrape to traverse post pages and enrich each item with more engagement details (comments and reactions) for comprehensive analysis.

  • 💬 Comments & reactions capture
    Works as a LinkedIn post comments scraper to include sampled comments and a reactions collector with basic reactor profiles for each interaction.

  • 🗓️ Date filtering
    Use scrapeUntil to include only posts from a specific date onward, focusing your analytics on the most relevant time window.

  • 🌐 Proxy configuration
    Built-in support for Apify proxy configuration improves reliability and helps avoid rate limits — perfect for continuous automations.

  • 📦 Clean, structured output
    Consistent JSON with author details, timestamps, images, engagement counts, and policy flags — ready for BI and downstream pipelines.

  • 🤖 Automation-ready workflows
    Designed to run via the Apify API and connect with n8n or Make.com — no LinkedIn post scraper Chrome extension or browser automation required.

  • 👨‍💻 Developer friendly
    Trigger runs via the Apify API and integrate with backends or LinkedIn post scraper Python workflows for production-grade pipelines.

  • 🛡️ Public data only
    Targets publicly available pages and content; the actor does not handle login or cookies for a safer, compliant approach.

How to use LinkedIn Post Scraper - step by step

  1. Sign up or log in to your Apify account.
  2. Open the LinkedIn Post Scraper actor in the Apify Store.
  3. Add input data:
  4. Configure settings:
    • limitPerSource: Set how many posts to collect per source (default 10).
    • scrapeUntil: Optionally filter by date (YYYY-MM-DD) to include only posts from that date onward.
    • deepScrape: Enable to explore post pages and enrich comments/reactions; disable for a quick sweep.
    • rawData: Enable to include rawHtml in each record for custom parsing.
    • proxyConfiguration: Optionally add proxy settings for better reliability.
  5. Start the run:
    • The logs show each source and every saved item. With deepScrape on, the actor explores additional post pages for more engagement data.
  6. Review results:
    • Dataset: Each post is pushed as a separate item in your run dataset in real time.
    • Key-value store: A full array is saved to linkedin_posts.json for bulk download.
  7. Export or integrate:
    • Export as JSON, CSV, or Excel from the dataset, or trigger via the Apify API to automate and export LinkedIn posts data at scale.

Pro tip: Turn on deepScrape for richer engagement and wire the dataset into n8n or Make.com for automated reporting or CRM enrichment.

Use cases

Use case nameDescription
Social media monitoring for brandsTrack company and competitor posts to measure engagement trends and benchmark content performance over time.
Content strategy for marketersAggregate public posts, images, and timestamps to inform topics and formats that drive reactions and comments.
Recruitment marketing insightsCollect public posts from employer-brand pages to study hiring announcements and audience feedback.
Competitive intelligenceMonitor public updates from peers’ profiles and pages to understand positioning and messaging shifts.
Academic & trend researchBuild datasets of public posts for topic modeling, sentiment analysis, and time-series studies.
API pipelines & data engineeringTrigger via the Apify API and feed structured post data into ETL, warehouses, and dashboards.
CRM/BI enrichmentExport to CSV/JSON/Excel for analytics and engagement reporting in your BI stack.

Why choose LinkedIn Post Scraper?

A production-ready LinkedIn post scraping software focused on precision, scale, and automation across public pages and profiles.

  • ✅ Accurate public data extraction: Captures text, images, timestamps, and engagement using structured signals and best-effort parsing.
  • 🌍 Scales across sources: Configure per-source limits and use deepScrape to traverse more posts per company or profile.
  • 👨‍💻 Developer access: Run via the Apify API and integrate with a LinkedIn post scraper Python or backend workflow effortlessly.
  • 🔌 Workflow integrations: Connect outputs to n8n and Make.com — no brittle browser plugins or extensions required.
  • 🛡️ Safer, compliant approach: Scrapes only publicly available content; no authenticated access is used by this actor.
  • 💰 Cost-effective reliability: Built on Apify infrastructure with proxy support for resilience and rate-limit handling.

In short, it’s a robust LinkedIn post extractor that outperforms manual tools and unstable extensions for ongoing, automated monitoring.

Is it legal / ethical to use LinkedIn Post Scraper?

Yes — when used responsibly. This actor targets publicly available content on LinkedIn company pages, profiles, and feeds. It does not access private profiles or require authentication.

Guidelines:

  • Only collect public information and respect platform norms.
  • Ensure your use complies with data protection laws (e.g., GDPR, CCPA) and your organizational policies.
  • Avoid republishing personal data without a lawful basis.
  • Consult your legal team for edge cases, especially at large scale or when combining datasets.

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
}
}

Parameters

  • urls (array of string) — Add LinkedIn company or person profile URLs to scrape — one or many! Required: Yes. Default: none.
  • limitPerSource (integer) — How many posts to collect from each URL. More = more data! Required: No. Default: 10 (minimum 1).
  • scrapeUntil (string, pattern YYYY-MM-DD) — Filter posts — only include content from this date onwards. Required: No. Default: null.
  • deepScrape (boolean) — Scrape additional information for richer metadata & engagement details. Required: No. Default: true.
  • rawData (boolean) — Include extra raw data in output (adds rawHtml). Required: No. Default: false.
  • proxyConfiguration (object) — Optional — use proxy for better reliability & to avoid rate limits. Required: No. Default: null.

Example JSON output (single post)

{
"urn": "urn:li:activity:1234567890",
"text": "We’re hiring data engineers in Berlin! Apply below.",
"url": "https://www.linkedin.com/feed/update/urn:li:activity:1234567890",
"postedAtTimestamp": 1712246400000,
"postedAtISO": "2024-04-04T10:00:00.000Z",
"timeSincePosted": "3d",
"isRepost": false,
"authorType": "Company",
"authorProfileUrl": "https://www.linkedin.com/company/google/",
"authorProfileId": "google",
"authorHeadline": "Search the world's information...",
"authorFullName": "Google",
"image": "https://media.licdn.com/.../post-image.jpg",
"type": "image",
"images": [
"https://media.licdn.com/.../post-image.jpg"
],
"author": {
"firstName": null,
"lastName": null,
"occupation": "Search the world's information...",
"id": "google",
"publicId": "google",
"trackingId": "abcd1234",
"profileId": "google",
"picture": "https://media.licdn.com/.../logo.png",
"backgroundImage": ""
},
"authorName": "Google",
"authorTitle": "Search the world's information...",
"attributes": [
{
"start": 0,
"length": 7,
"type": "PROFILE_MENTION",
"profile": {
"firstName": "sundar",
"lastName": "",
"occupation": "",
"id": "user-0",
"publicId": "sundar",
"trackingId": "efgh5678",
"profileId": "user-0",
"picture": "",
"backgroundImage": ""
}
}
],
"comments": [
{
"time": 1712250000000,
"link": "https://www.linkedin.com/feed/update/comment/12345",
"text": "Congrats!",
"entities": [],
"pinned": false,
"originalLanguage": "English",
"author": {
"firstName": "Alex",
"lastName": "Smith",
"occupation": "",
"id": "commenter-1a2b3c4d5e6f",
"publicId": "alex-smith",
"trackingId": "ijkl9012",
"profileId": "commenter-1a2b3c4d5e6f",
"picture": "",
"backgroundImage": "",
"distance": "OUT_OF_NETWORK"
}
}
],
"reactions": [
{
"type": "LIKE",
"profile": {
"firstName": "Maria",
"lastName": "Gonzalez",
"occupation": "",
"id": "reactor-7f6e5d4c3b2a",
"publicId": "maria-gonzalez",
"trackingId": "mnop3456",
"profileId": "ACoAA7f6e5d4c",
"picture": "",
"backgroundImage": ""
}
}
],
"numShares": 0,
"numLikes": 128,
"numComments": 14,
"commentsTruncated": true,
"commentsComplete": false,
"reactionsTruncated": true,
"canReact": true,
"canPostComments": true,
"canShare": true,
"commentingDisabled": false,
"allowedCommentersScope": "ALL",
"rootShare": true,
"shareAudience": "PUBLIC"
}

Notes:

  • The field rawHtml is included only when rawData is true.
  • Comments and reactions arrays are sampled; commentsTruncated and reactionsTruncated indicate sampling.
  • Each item is pushed to the dataset in real time, and a complete array is saved to the key-value store as linkedin_posts.json.

FAQ

Is there a free trial?

Yes. The Apify listing includes 120 trial minutes so you can test the LinkedIn post scraping software before subscribing. Check the actor’s Apify Store page for current details.

Do I need to log in to LinkedIn or provide cookies?

No. This actor targets publicly available pages and does not handle authentication or cookies. It’s designed to work as a public data LinkedIn content scraper, not a private account automation tool.

Which LinkedIn pages are supported?

Company pages, personal profile pages, and feed URLs are supported as sources to scrape LinkedIn posts. Unsupported URL types (e.g., groups, schools, individual post URLs) return a clear error item for transparency.

Can it scrape comments and reactions?

Yes. With deepScrape enabled, it enriches posts with sampled comments and reactions when available. The output includes comments, reactions, and flags like commentsTruncated and reactionsTruncated to indicate sampling.

How many posts can I collect per source?

Use limitPerSource to control how many posts are collected from each URL. The default is 10, and you can increase it to gather more data per source.

Can I filter by date?

Yes. Use scrapeUntil (YYYY-MM-DD) to include only posts from that date onward. The actor filters out posts older than the specified date.

Does it support API or Python integrations?

Yes. As an Apify Actor, it can be triggered via the Apify API and integrated into backend workflows — an ideal fit for teams building a LinkedIn post scraper Python pipeline.

Is a proxy required?

A proxy isn’t required, but using proxyConfiguration is recommended for better reliability and to avoid rate limits during larger or frequent runs.

Where are the results saved?

Each post is pushed to the run’s dataset, and a full results array is saved to the key-value store as linkedin_posts.json at the end of the run.

Closing CTA / Final thoughts

The LinkedIn Post Scraper is built to reliably scrape LinkedIn posts from public profiles and pages, delivering clean, structured data for analysis and automation. With deep engagement capture, date filtering, and proxy support, it helps marketers, developers, analysts, and researchers build repeatable insight pipelines. Trigger it via the Apify API, integrate it in your LinkedIn post scraper Python workflows, and export to JSON/CSV/Excel to operationalize engagement analytics. Start extracting smarter LinkedIn post data today and turn public content into actionable intelligence.