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

Scrapium

Scrapium

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 production-ready Apify actor that extracts public LinkedIn posts from company pages, personal profiles, and feeds — including post text, media, author details, timestamps, reactions, and comments. It solves the pain of manual copy-paste and unreliable tools by offering a structured, automated way to scrape LinkedIn posts at scale. Built for marketers, developers, data analysts, and researchers, this LinkedIn post extractor helps you scrape LinkedIn posts for competitor research, content analysis, and lead generation — fast and safely — so you can turn public LinkedIn content into actionable insights.

What data / output can you get?

Below are real output fields this LinkedIn post scraping tool produces for each post. Results appear in the Apify dataset and in a key-value store file for easy download and analysis.

Data fieldDescriptionExample value
urnUnique LinkedIn URN for the posturn:li:activity:1234567890
textPost text content“We’re excited to launch…”
urlDirect URL to the posthttps://www.linkedin.com/feed/update/urn:li:activity:1234567890
postedAtTimestampUnix timestamp in milliseconds1712448000000
postedAtISOISO-8601 datetime string“2024-04-07T12:00:00.000Z”
timeSincePostedHuman-friendly relative time“3d”
authorType“Company” or “Person”“Company”
authorProfileUrlSource profile/page URLhttps://www.linkedin.com/company/google/”
authorFullNameDisplay name of the author“Google”
authorHeadlineAuthor/company headline/description“We organize the world’s information…”
typePost type derived from media“image” or “text”
imagePrimary image URL (if any)https://media.licdn.com/dms/image/…”
imagesArray of image URLs (up to 5)[“https://media.licdn.com/dms/image/…”]
numLikesDetected total reactions120
numCommentsDetected total comments10
commentsArray of parsed comments (subset)[{ time, link, text, author, … }]
reactionsArray of reaction profiles (subset)[{ type, profile: { firstName, … } }]
attributesExtracted mention entities[{ start, length, type: “PROFILE_MENTION”, profile: { … } }]
authorNested author object with metadata{ firstName, lastName, id, publicId, picture, … }
numSharesShare count (if detected; default 0)0
commentingDisabledCommenting enabled flagfalse

Notes:

  • When “rawData” is enabled, each item also includes rawHtml with the full page HTML for advanced parsing.
  • Export results to JSON, CSV, or Excel via the Apify dataset UI or API.

Key features

  • 🚀 Fast, scalable scraping of public posts Collect posts from LinkedIn company pages, personal profiles, and feeds. Ideal when you need a LinkedIn posts API alternative without fragile logins.

  • 🧭 Deep scrape mode (BFS crawl of post graph) Enable deepScrape to traverse post URNs and fetch more detail, including additional engagement data, comments, and reactions.

  • 🧠 Structured engagement capture Extract numLikes, numComments, and parse reaction profiles and comment snippets — perfect for a LinkedIn post engagement scraper workflow.

  • 🖼️ Media detection & post typing Automatically detect images and classify posts as “image” or “text”, with an images array for multi-image posts.

  • 📅 Date filtering for historical control Use scrapeUntil to include only posts from a specific date onward — great for time-bounded analysis.

  • 🧪 Raw HTML for power users Toggle rawData to include rawHtml in the output for custom parsing or audit trails.

  • 🌐 Proxy support for reliability Configure proxyConfiguration to improve stability and reduce rate limits during large runs.

  • 🔄 Batch scraping from multiple sources Provide one or many URLs and set limitPerSource to control how many posts you collect per profile/page.

  • 📦 Ready-to-export datasets Results stream to the dataset in real time and are also saved as linkedin_posts.json in the key-value store — easy to export to JSON/CSV/Excel.

  • 🔌 Automation & integrations Built for workflows with API access, n8n, and Make.com — integrate into pipelines or trigger downstream tasks with this LinkedIn post scraping tool.

How to use LinkedIn Post Scraper - step by step

  1. Sign in to Apify
    Create or log in to your Apify account to run the actor in the cloud.

  2. Open the LinkedIn Post Scraper actor
    Find “LinkedIn Post Scraper” on the Apify Store and open the actor page.

  3. Add source URLs
    Paste one or more LinkedIn company, person, or feed URLs into urls. Example:

  1. Set limits and date range
  • limitPerSource controls how many posts to collect from each URL.
  • Optionally set scrapeUntil (YYYY-MM-DD) to collect posts from that date onward.
  1. Choose depth and data richness
  • deepScrape: Enable to traverse post URNs for more engagement details.
  • rawData: Enable to include rawHtml for advanced analysis.
  1. Configure proxy (optional)
    Set proxyConfiguration if you want to route traffic via proxies for added reliability.

  2. Start the run and monitor logs
    Click Start. The actor fetches sources, follows post URNs (in deep mode), and streams posts to the dataset.

  3. Download/export your results
    Open the run’s Dataset to export as JSON, CSV, or Excel. You’ll also find a consolidated array saved as linkedin_posts.json in the Key-value store.

Pro tip: Trigger runs via the Apify API and send dataset exports to your data warehouse or automation tools (n8n, Make.com) to export LinkedIn posts on a schedule.

Use cases

Use case nameDescription
Competitor content analysisTrack public posts from competitors’ company pages to benchmark messaging, cadence, and performance.
Social listening & brand monitoringMonitor public mentions and engagement trends on company or profile feeds to inform content strategy.
Campaign performance snapshotsCollect recent public posts to evaluate reactions and comments for campaign recaps.
Influencer & KOL trackingScrape LinkedIn public posts from individuals to study engagement patterns and topic focus.
Data enrichment pipelines (API)Feed structured post data to downstream analytics, dashboards, or enrichment systems via Apify’s API.
Academic & market researchBuild datasets of public posts across industries and time windows for longitudinal studies.
Content repurposingExport LinkedIn posts and media to analyze themes and repurpose high-performing content across channels.

Why choose LinkedIn Post Scraper?

  • 🎯 Precision from public pages and profiles
    Built to scrape LinkedIn public posts reliably without fragile browser hacks.

  • 🔎 Deep engagement insights
    Capture reactions, comments, and counts — a strong LinkedIn post comments scraper and engagement extractor.

  • ⚙️ Scalable batch runs
    Handle multiple sources at once with limitPerSource and built-in rate limit backoff for dependable runs.

  • 🔌 Developer- and automation-friendly
    Export datasets to JSON/CSV/Excel and integrate with API, n8n, or Make.com for automated pipelines.

  • 🛡️ Proxy-ready reliability
    Optional proxyConfiguration improves stability and throughput on larger jobs.

  • 🧰 Clean, structured schema
    Consistent fields for text, media, author metadata, and engagement make downstream analysis easy.

  • 🆚 Better than extensions
    Unlike a LinkedIn post scraper Chrome extension, this cloud-native actor runs consistently and scales without manual intervention.

Is it legal / ethical to use LinkedIn Post Scraper?

Yes — when used responsibly. This actor is designed to extract publicly available data from LinkedIn company pages, personal profiles, and feeds without authentication. You should:

  • Only collect public information and avoid private or gated content.
  • Respect LinkedIn’s terms and applicable data protection laws (e.g., GDPR/CCPA).
  • Use data ethically and avoid spam or misuse.
  • Consult your legal team for edge cases and ensure your use complies with your organization’s policies.

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

Parameter reference

  • urls (array, required): Add LinkedIn company or person profile URLs to scrape — one or many! Default: none.
  • limitPerSource (integer, optional): How many posts to collect from each URL. Minimum: 1. Default: 10.
  • scrapeUntil (string, optional): Filter posts — only include content from this date onwards (YYYY-MM-DD). Default: null.
  • deepScrape (boolean, optional): Scrape additional information for richer engagement details. Default: true.
  • rawData (boolean, optional): Include extra raw data (rawHtml) in output for advanced use. Default: false.
  • proxyConfiguration (object, optional): Optional proxy configuration for reliability and rate-limiting avoidance. Default: null.

Example output item

{
"urn": "urn:li:activity:1234567890",
"text": "We’re excited to announce our new product launch!",
"url": "https://www.linkedin.com/feed/update/urn:li:activity:1234567890",
"postedAtTimestamp": 1712448000000,
"postedAtISO": "2024-04-07T12:00:00.000Z",
"timeSincePosted": "3d",
"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/ABC123",
"type": "image",
"images": [
"https://media.licdn.com/dms/image/ABC123"
],
"author": {
"firstName": null,
"lastName": null,
"occupation": "We organize the world’s information and make it universally accessible and useful.",
"id": "google",
"publicId": "google",
"trackingId": "QWxhZGRpbjpvcGVuIHNlc2FtZQ",
"profileId": "google",
"picture": "https://media.licdn.com/dms/image/DEF456",
"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": "QWxhZGRpbjpvcGVuIHNlc2FtZQ",
"profileId": "user-0",
"picture": "",
"backgroundImage": ""
}
}
],
"comments": [
{
"time": 1712450000000,
"link": "https://www.linkedin.com/feed/update/comment/12345",
"text": "Congrats!",
"entities": [],
"pinned": false,
"originalLanguage": "English",
"author": {
"firstName": "John",
"lastName": "Doe",
"occupation": "",
"id": "commenter-abcdef123456",
"publicId": "john-doe",
"trackingId": "QWxhZGRpbjpvcGVuIHNlc2FtZQ",
"profileId": "commenter-abcdef123456",
"picture": "",
"backgroundImage": "",
"distance": "OUT_OF_NETWORK"
}
}
],
"reactions": [
{
"type": "LIKE",
"profile": {
"firstName": "Jane",
"lastName": "Smith",
"occupation": "",
"id": "reactor-abcdef123456",
"publicId": "jane-smith",
"trackingId": "QWxhZGRpbjpvcGVuIHNlc2FtZQ",
"profileId": "ACoAAabcdef12",
"picture": "",
"backgroundImage": ""
}
}
],
"numShares": 0,
"numLikes": 120,
"numComments": 10,
"commentsTruncated": true,
"commentsComplete": false,
"reactionsTruncated": false,
"canReact": true,
"canPostComments": true,
"canShare": true,
"commentingDisabled": false,
"allowedCommentersScope": "ALL",
"rootShare": true,
"shareAudience": "PUBLIC"
}

Notes:

  • When rawData is true, an additional rawHtml field is included.
  • All items are streamed to the run’s Dataset and also saved as linkedin_posts.json in the Key-value store.

FAQ

Does this work on company pages, profiles, and feeds?

Yes. The scraper supports LinkedIn URLs that include /company/, /in/, and /feed/. It processes public content from those pages and their posts.

Does it require login or cookies?

No. The actor fetches public pages without authentication and processes publicly available LinkedIn posts. It’s intended for scraping public content only.

Can it scrape comments and reactions?

Yes. It extracts numLikes, numComments, and also parses reaction profiles and a subset of comments for each post when available, especially in deepScrape mode.

How do I limit how many posts are collected?

Use limitPerSource to control how many posts are scraped from each input URL. You can also apply scrapeUntil to include only posts from a certain date onward.

Does it support proxies?

Yes. You can configure proxyConfiguration to route requests through proxies for better reliability and reduced rate limiting during larger runs.

How can I export or download results?

All results are available in the run’s Dataset (exportable to JSON, CSV, or Excel). A consolidated array is also saved to the Key-value store as linkedin_posts.json.

Can I automate this with Python or via an API?

Yes. You can integrate the actor into your pipelines using the Apify API. The actor is designed to work with automation tools such as n8n and Make.com for recurring jobs.

Is this a good alternative to a LinkedIn posts API or browser extension?

Yes. It functions as a LinkedIn posts API alternative by providing structured JSON output without relying on unstable browser extensions, and it scales reliably on Apify’s infrastructure.

Closing CTA / Final thoughts

The LinkedIn Post Scraper is built to reliably scrape LinkedIn public posts and deliver clean, structured datasets for analysis and automation. Use it to export LinkedIn posts, analyze engagement, and power dashboards without manual work. Whether you’re a marketer, developer, or researcher, you’ll get a dependable LinkedIn post data scraper with JSON/CSV/Excel export and automation readiness. Run it on Apify, pull results via API or your Python scripts, and integrate with n8n or Make.com — start extracting smarter insights from public LinkedIn content today.