Linkedin Profile Post Scraper avatar

Linkedin Profile Post Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Linkedin Profile Post Scraper

Linkedin Profile Post Scraper

🧑‍💼 LinkedIn Profile Post Scraper extracts public posts from any profile—text, timestamps, reactions, comments, links & media. ⚙️ Ideal for content analytics, social listening, lead gen, recruiting & competitor tracking. 🚀 Fast, reliable, CSV/JSON-ready.

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

6 days ago

Last modified

Share

Linkedin Profile Post Scraper

The Linkedin Profile Post Scraper is a fast, reliable LinkedIn post scraper that extracts public posts from any LinkedIn profile (/in/ URLs) — including text, timestamps, reactions, comments, links, and media. It eliminates manual copy‑paste by streaming one structured record per post into an Apify dataset, making it a dependable LinkedIn profile post extractor and LinkedIn post history scraper for CSV/JSON workflows. Built for marketers, developers, data analysts, and researchers, it helps you scrape LinkedIn profile posts at scale for content analytics, social listening, lead generation, recruiting, and competitor tracking — all with automation-ready outputs.

What data / output can you get?

Below are example fields produced for each post record. Results stream in real time and can be exported to JSON, CSV, or Excel from the Apify dataset.

Data typeDescriptionExample value
urnUnique post URN (activity/share/ugcPost)urn:li:activity:7132456789012345678
urlCanonical URL to the posthttps://www.linkedin.com/feed/update/urn:li:activity:7132456789012345678
textPost body text“Excited to share our latest product update 🎉”
postedAtTimestampUNIX timestamp in ms1712845234000
postedAtISOISO datetime string2026-04-11T09:42:00.000Z
timeSincePostedHuman-friendly age2d
authorFullNameAuthor name from public metadata“Jane Doe”
authorTypePerson or CompanyPerson
authorProfileUrlSource profile URLhttps://www.linkedin.com/in/janedoe
authorProfileIdProfile identifierjanedoe
authorHeadlineHeadline/description from JSON-LD“Product Manager at Acme”
imagePrimary image URL (if present)https://media.licdn.com/dms/image/...
imagesUp to 5 image URLs per post["https://media.licdn.com/dms/image/..."]
numLikesNumber of reactions (likes + others)24
numCommentsNumber of comments3

Bonus fields include:

  • type (text or image), author object (firstName, lastName, occupation, id, publicId, trackingId, profileId, picture, backgroundImage)
  • authorName, authorTitle, attributes (profile mentions)
  • comments and reactions arrays with nested author/profile info
  • completeness and sharing flags: commentsTruncated, commentsComplete, reactionsTruncated, canReact, canPostComments, canShare, commentingDisabled, allowedCommentersScope, rootShare, shareAudience, numShares

Exports are ready for analytics in JSON, CSV, or Excel, making this a practical LinkedIn profile feed scraper for dashboards and pipelines.

Key features

  • 🚀 Live, streaming output
    Pushes each post to the dataset as soon as it’s found — ideal for real-time monitoring with a LinkedIn profile activity scraper.

  • 🧠 Smart proxy fallback
    Automatically escalates from direct → datacenter → residential when blocked (including LinkedIn 999). Residential retries up to 3× for resilient scraping.

  • 📦 Batch scraping & bulk automation
    Add multiple LinkedIn profile URLs to scrape in one run — perfect for a LinkedIn user posts scraper at team or org scale.

  • 🎯 Controlled scope per profile
    Use maxPosts to cap how many posts to extract per URL (1–500). Keep it lean for faster runs or expand for deeper history.

  • 🖼️ Rich post content capture
    Extracts text, timestamps, images, mentions, reactions, and comments with completeness flags — useful for LinkedIn article and post scraper needs.

  • 💾 Export-ready output
    Export LinkedIn posts to CSV, JSON, or Excel from the Apify dataset — no extra transformations required.

  • 🔌 Developer-friendly
    Built on Apify — consume via the Dataset API, or plug into automation tools to create a LinkedIn profile posts API alternative for your stack.

  • 🛡️ Production-ready reliability
    Shared session, warm-up phase, jittered pacing, retry with exponential backoff for 429s, and robust proxy strategy — a dependable LinkedIn post scraping automation foundation.

How to use Linkedin Profile Post Scraper - step by step

  1. Sign in to Apify and open the actor in the Apify Console.
  2. Paste one or more LinkedIn profile URLs into the urls field (format: https://www.linkedin.com/in/username). Non-profile URLs are skipped automatically.
  3. Optionally configure proxyConfiguration to start with a specific proxy setup (by default, it starts direct and falls back if blocked).
  4. Set maxPosts to control how many posts to collect per profile (1–500).
  5. Click Start to launch the run. The scraper warms up, probes the target, and adjusts proxies automatically.
  6. Watch the run logs for progress and any proxy fallback messages.
  7. Open the Dataset tab to see items streaming live. Download as JSON, CSV, or Excel — or consume via the Apify API.

Pro Tip: Chain this LinkedIn post data extractor with your analytics pipeline or CRM for scheduled enrichment. It’s a flexible LinkedIn post downloader tool for both one-off pulls and recurring jobs.

Use cases

Use case nameDescription
Content analytics for marketingAggregate profile posts to analyze topics, cadence, and engagement (numLikes, numComments) over time.
Social listening & brand trackingMonitor public profiles for announcements and thought leadership using a LinkedIn profile post extractor.
Sales intelligence & lead genExport LinkedIn posts to CSV to enrich accounts and contacts with recent activity and talking points.
Recruiting & talent researchTrack candidate or influencer activity to inform outreach and evaluate audience resonance.
Competitor updates monitoringScrape LinkedIn profile posts for competitor execs to watch launches, narratives, and community reactions.
Academic & trend researchBuild datasets of public posts for longitudinal studies, sentiment snapshots, or topic modeling.
API pipeline integrationFeed structured post JSON into data warehouses or LLM workflows via the Apify Dataset API.

Why choose Linkedin Profile Post Scraper?

Engineered for precision, automation, and scalability — a reliable LinkedIn post scraper that outperforms brittle alternatives.

  • ✅ Accurate, structured output: Clean fields for post text, timestamps, images, engagement, comments, and mentions.
  • 🌍 Public profile focus: Targets publicly available /in/ pages — no login or cookies required.
  • 📈 Scales with your needs: Process multiple profiles in one run and limit with maxPosts to fit your workflow.
  • 👩‍💻 Developer-ready: Results live in an Apify dataset for API consumption and automation compatibility.
  • 🔁 Resilient to blocking: Automatic proxy fallback from direct to datacenter to residential, with 999 detection and 3× residential retries.
  • 🧩 Integration-friendly: Export to CSV/JSON/Excel and plug into ETL, dashboards, or automation platforms.
  • 🆚 Scraper vs extension: More stable than a LinkedIn post scraper Chrome extension thanks to infrastructure-backed reliability and logging.

In short, this LinkedIn post data extractor delivers consistent, export-ready outputs for production pipelines.

Is it legal / ethical to use Linkedin Profile Post Scraper?

Yes — when done responsibly. This actor extracts data from publicly available LinkedIn profile pages and does not access private or authenticated content.

Guidelines for responsible use:

  • Only scrape publicly visible information and respect privacy.
  • Ensure alignment with applicable regulations (e.g., GDPR, CCPA) and LinkedIn’s terms.
  • Use results for legitimate purposes (research, analytics, enrichment), not spam or misuse.
  • Consult your legal team for edge cases or jurisdiction-specific questions.

Input parameters & output format

Example JSON input

{
"urls": [
"https://www.linkedin.com/in/ajjames",
"https://www.linkedin.com/in/satyanadella"
],
"maxPosts": 10,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Parameter reference

  • urls (array, required): Add one or more LinkedIn profile URLs to scrape (e.g. personal profile pages). Paste each URL on a new line.
    • Default: none
  • maxPosts (integer, optional): Maximum number of posts to collect per URL. Keep lower for faster runs (e.g. 10–50).
    • Range: 1–500
    • Default: 10
  • proxyConfiguration (object, optional): By default uses no proxy. If LinkedIn blocks requests, the actor will automatically try datacenter then residential proxy. Optional: enable Apify Proxy here to start with a specific setup.
    • Default: { "useApifyProxy": false }

Example JSON output

{
"urn": "urn:li:activity:7132456789012345678",
"text": "Excited to share our latest product update 🎉",
"url": "https://www.linkedin.com/feed/update/urn:li:activity:7132456789012345678",
"postedAtTimestamp": 1712845234000,
"postedAtISO": "2026-04-11T09:42:00.000Z",
"timeSincePosted": "2d",
"isRepost": false,
"authorType": "Person",
"authorProfileUrl": "https://www.linkedin.com/in/janedoe",
"authorProfileId": "janedoe",
"authorHeadline": "Product Manager at Acme",
"authorFullName": "Jane Doe",
"image": "https://media.licdn.com/dms/image/...",
"type": "image",
"images": [
"https://media.licdn.com/dms/image/..."
],
"author": {
"firstName": "Jane",
"lastName": "Doe",
"occupation": "Product Manager at Acme",
"id": "janedoe",
"publicId": "janedoe",
"trackingId": "oY3Jf2+QZr0x1aBC",
"profileId": "janedoe",
"picture": "https://media.licdn.com/dms/image/...",
"backgroundImage": ""
},
"authorName": "Jane Doe",
"authorTitle": "Product Manager at Acme",
"attributes": [
{
"start": 0,
"length": 10,
"type": "PROFILE_MENTION",
"profile": {
"firstName": "alex",
"lastName": "",
"occupation": "",
"id": "user-0",
"publicId": "alex",
"trackingId": "Vb1lK7",
"profileId": "user-0",
"picture": "",
"backgroundImage": ""
}
}
],
"comments": [
{
"time": 1712846000000,
"link": "https://www.linkedin.com/feed/update/urn:li:activity:7132456789012345678",
"text": "Congrats!",
"entities": [],
"pinned": false,
"originalLanguage": "English",
"author": {
"firstName": "John",
"lastName": "Smith",
"occupation": "",
"id": "commenter-a1b2c3d4e5f6",
"publicId": "john-smith",
"trackingId": "rN2pQ",
"profileId": "commenter-a1b2c3d4e5f6",
"picture": "",
"backgroundImage": "",
"distance": "OUT_OF_NETWORK"
}
}
],
"reactions": [
{
"type": "LIKE",
"profile": {
"firstName": "Alex",
"lastName": "Lee",
"occupation": "",
"id": "reactor-9f8e7d6c5b4a",
"publicId": "alex-lee-12345",
"trackingId": "kT9mH",
"profileId": "ACoAA9f8e7d6c",
"picture": "",
"backgroundImage": ""
}
}
],
"numShares": 0,
"numLikes": 24,
"numComments": 3,
"commentsTruncated": true,
"commentsComplete": false,
"reactionsTruncated": true,
"canReact": true,
"canPostComments": true,
"canShare": true,
"commentingDisabled": false,
"allowedCommentersScope": "ALL",
"rootShare": true,
"shareAudience": "PUBLIC"
}

Notes:

  • Some fields (e.g., authorFullName, authorHeadline, picture) depend on public JSON-LD/meta availability; when missing, they may be empty or “Unknown”.
  • comments and reactions may be partial; use commentsTruncated and reactionsTruncated to assess completeness.

FAQ

Do I need to log in to scrape LinkedIn profile posts?

No. This LinkedIn user posts scraper collects data from publicly available profile pages and does not require login or cookies.

What URLs are supported?

Only LinkedIn profile URLs under /in/ are supported (for example, https://www.linkedin.com/in/username). Non-profile URLs are skipped automatically during a run.

How many posts can I scrape per profile?

You control this with maxPosts. It accepts 1–500 per URL and defaults to 10, letting you balance speed and depth.

Does it export to CSV or JSON?

Yes. Results stream to an Apify dataset that you can export as JSON, CSV, or Excel. It’s a straightforward LinkedIn post data extractor for analytics and enrichment.

Does it capture comments and reactions?

Yes. It extracts comments and reactions where available, plus engagement counts (numLikes, numComments). Use commentsTruncated and reactionsTruncated to see if the lists are partial.

How does it handle LinkedIn blocking (e.g., 999)?

The actor probes and falls back automatically: direct → datacenter → residential proxies. It detects 999 and switches accordingly, then performs residential retries up to 3× for robustness.

Can developers integrate this into pipelines or code?

Yes. Consume the dataset via the Apify API to build a LinkedIn posts scraper Python workflow, or connect through automation platforms to fit your stack.

Is there a free trial or plan?

On the Apify Store, this actor includes trial minutes (e.g., 120 trial minutes) and offers a flat monthly plan. See the actor’s listing for current pricing and allowances.

Yes — when you only collect publicly available information and use it responsibly. Ensure compliance with data protection laws and LinkedIn’s terms, and consult your legal team for your specific use case.

Closing CTA / Final thoughts

The Linkedin Profile Post Scraper is built to extract structured, export-ready post data from public LinkedIn profiles at scale. With streaming outputs, resilient proxy fallback, and clean JSON fields, it’s ideal for marketers, analysts, recruiters, and developers who need a dependable LinkedIn profile post extractor. Run it on multiple profiles, cap depth with maxPosts, and export to CSV/JSON for dashboards or enrichment. Developers can plug the dataset into APIs and automation for end‑to‑end pipelines — start extracting smarter insights from public LinkedIn activity today.