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 posts from public profiles — text, images/videos, links, hashtags, mentions, timestamps & engagement metrics. 🚀 Ideal for content analysis, social selling, and competitor intel. 📈 Export CSV/JSON; API-ready.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScrapeMesh

ScrapeMesh

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

6 days ago

Last modified

Share

Linkedin Profile Post Scraper

The Linkedin Profile Post Scraper is a fast, resilient LinkedIn post scraper that extracts recent posts from public LinkedIn profile pages into clean, structured records — including post text, images, timestamps, author details, and engagement counts. It helps teams scrape LinkedIn profile posts reliably with a proxy fallback pipeline, making it ideal for marketers, developers, data analysts, and researchers. Use this LinkedIn profile post scraper for content analysis, social selling intelligence, and monitoring thought-leadership at scale. 🚀

What data / output can you get?

Below are the key fields this LinkedIn profile posts scraper returns. Each dataset item represents a single post.

Data typeDescriptionExample value
urnLinkedIn URN identifier resolved from post URLurn:li:activity:1234567890123456789
urlCanonical post URL (from JSON-LD/Open Graph)https://www.linkedin.com/feed/update/urn:li:activity:1234567890
textPost body text extracted from the pageExcited to share our latest research on AI safety…
postedAtTimestampUnix timestamp in milliseconds1712323200000
postedAtISOISO-8601 datetime string2024-04-05T13:20:15.000000Z
timeSincePostedHuman-friendly relative time3d
authorType“Person” or “Company” (inferred from author data)Person
authorProfileUrlThe profile URL the crawl started fromhttps://www.linkedin.com/in/username
authorProfileIdProfile identifier derived from URLusername
authorFullNameAuthor name parsed from JSON-LD/OGAda Lovelace
authorHeadlineAuthor headline/description (if available)CTO at Example Labs
imagePrimary image for the post if presenthttps://media.licdn.com/dms/image/…/post-image.jpg
imagesArray of post images (up to 5)["https://media.licdn.com/dms/image/…/1.jpg"]
numLikesReaction/like count parsed from page142
numCommentsComment count parsed from page12

Bonus fields include:

  • author object with detailed metadata (firstName, lastName, occupation, picture, publicId, profileId, trackingId, backgroundImage)
  • attributes array with detected mentions
  • comments array with sampled comment items (author, text, link, time, entities, pinned, originalLanguage, author.distance)
  • reactions array with sampled reaction items (type + reactor profile)
  • flags and capabilities (commentsTruncated, commentsComplete, reactionsTruncated, canReact, canPostComments, canShare, commentingDisabled, allowedCommentersScope, rootShare, shareAudience)
  • numShares and post type (“image” or “text”)

Results are stored in an Apify dataset, ready to export as CSV or JSON for downstream analysis and pipelines.

Key features

  • 🔄 Resilient proxy cascade (direct → datacenter → residential)
    Automatically escalates from no proxy to datacenter and then residential proxies when blocked (incl. 999). Profile pages use residential from the start for better stability.

  • ⚡ Live dataset streaming
    Each post is pushed to the dataset in real time as it’s discovered, enabling incremental processing and faster feedback loops.

  • 📥 Multi-URL batching
    Add multiple LinkedIn profile URLs in one run to scale your LinkedIn posts crawler across many targets.

  • 🧠 Robust extraction logic
    Combines JSON-LD parsing, Open Graph fallback, and HTML selectors to capture post text, timestamps, images, mentions, reactions, and comment snippets.

  • 🧰 API-ready and automation friendly
    Output lands in an Apify dataset, making it simple to integrate this LinkedIn profile post extractor with your data workflows and automation stacks via the Apify API.

  • 🛡️ Built-in retries and backoff
    Handles rate limits and transient failures with exponential backoff and multi-retry sequencing, improving success rates on large runs.

How to use Linkedin Profile Post Scraper - step by step

  1. Sign up or log in to your Apify account.
  2. Open the actor “Linkedin Profile Post Scraper” in Apify Console.
  3. Paste one or more LinkedIn profile URLs into the urls list (must be profile pages containing “/in/”).
  4. Set maxPosts to control how many posts to collect per profile (between 1 and 500; default 10).
  5. (Optional) Configure proxyConfiguration — by default the actor starts without a proxy and falls back automatically if blocked.
  6. Click Start to run. The scraper warms up, chooses the right proxy strategy, and begins fetching posts.
  7. Watch the “Output” tab’s dataset table update live as posts are found.
  8. Export your results to CSV or JSON from the dataset, or fetch them via the Apify API.

Pro Tip: Use this LinkedIn posts scraping tool on multiple profiles to monitor competitors’ content performance or to extract LinkedIn posts by user for your analytics pipeline.

Use cases

Use caseDescription
Content analysis for marketingTrack posting cadence, themes, and engagement by exporting LinkedIn profile posts to CSV/JSON for dashboards.
Social selling insightsExtract recent posts by prospects to personalize outreach with timely, relevant context.
Competitor intelMonitor competitor leaders’ posts to analyze messaging, product announcements, and audience reactions.
Brand/thought leadership trackingFollow executives’ activity to benchmark influence and content strategy.
Academic researchCollect public posts from target profiles for sentiment, topic modeling, and network analysis.
API-powered enrichmentFeed structured post data into internal APIs or data lakes to enrich profiles and analytics.

Why choose Linkedin Profile Post Scraper?

This LinkedIn post extractor is built for precision and reliability, combining robust parsing with resilient access strategies.

  • 🎯 Accuracy you can trust: Structured fields from JSON-LD with Open Graph fallback plus targeted HTML selectors.
  • 📈 Scales with your needs: Paste multiple profile URLs and set maxPosts to fit your throughput and budget.
  • 🔌 Developer-friendly & API-ready: Results in an Apify dataset for easy programmatic access and automation.
  • 🧱 No-login operation: Scrapes publicly available profile posts without cookies or session auth.
  • 🔐 Reliable access: Automatic proxy fallback (direct → datacenter → residential), with profile-first residential strategy to reduce 999 blocks.
  • 💸 Cost-conscious: Control volume via maxPosts and leverage built-in backoff to reduce retries.

In short, this LinkedIn profile posts scraper delivers production-ready stability without the fragility of manual browser extensions or ad-hoc scripts.

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

Yes — when used responsibly. This actor works on publicly available LinkedIn profile pages and does not access private or authenticated data. Always:

  • Scrape only public information you’re allowed to process.
  • Comply with privacy and data protection laws (e.g., GDPR, CCPA).
  • Review and respect LinkedIn’s terms applicable to your use case.
  • Consult your legal team for edge cases and jurisdiction-specific requirements.

Input parameters & output format

Example JSON input

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

Input parameters

  • urls (array, required)
    Description: 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)
    Description: 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)
    Description: 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: none (prefill: {"useApifyProxy": false})

Example JSON output

{
"urn": "urn:li:activity:1234567890",
"text": "Excited to share our latest research on AI safety and alignment.",
"url": "https://www.linkedin.com/feed/update/urn:li:activity:1234567890",
"postedAtTimestamp": 1712323200000,
"postedAtISO": "2024-04-05T13:20:15.000000Z",
"timeSincePosted": "3d",
"isRepost": false,
"authorType": "Person",
"authorProfileUrl": "https://www.linkedin.com/in/username",
"authorProfileId": "username",
"authorHeadline": "CTO at Example Labs",
"authorFullName": "Ada Lovelace",
"image": "https://media.licdn.com/dms/image/…/post-image.jpg",
"type": "image",
"images": [
"https://media.licdn.com/dms/image/…/post-image.jpg"
],
"author": {
"firstName": "Ada",
"lastName": "Lovelace",
"occupation": "CTO at Example Labs",
"id": "username",
"publicId": "username",
"trackingId": "ZXhhbXBsZVRyYWNraWQ",
"profileId": "username",
"picture": "https://media.licdn.com/dms/image/…/profile.jpg",
"backgroundImage": ""
},
"authorName": "Ada Lovelace",
"authorTitle": "CTO at Example Labs",
"attributes": [
{
"start": 0,
"length": 9,
"type": "PROFILE_MENTION",
"profile": {
"firstName": "OpenAI",
"lastName": "",
"occupation": "",
"id": "user-0",
"publicId": "openai",
"trackingId": "ZXhhbXBsZVRyYWNraWQ",
"profileId": "user-0",
"picture": "",
"backgroundImage": ""
}
}
],
"comments": [
{
"time": 1712419600000,
"link": "https://www.linkedin.com/feed/update/urn:li:activity:1234567890",
"text": "Great work!",
"entities": [],
"pinned": false,
"originalLanguage": "English",
"author": {
"firstName": "Grace",
"lastName": "Hopper",
"occupation": "",
"id": "commenter-a1b2c3d4e5f6",
"publicId": "grace-hopper",
"trackingId": "ZXhhbXBsZVRyYWNraWQ",
"profileId": "commenter-a1b2c3d4e5f6",
"picture": "",
"backgroundImage": "",
"distance": "OUT_OF_NETWORK"
}
}
],
"reactions": [
{
"type": "LIKE",
"profile": {
"firstName": "Alan",
"lastName": "Turing",
"occupation": "",
"id": "reactor-12ab34cd56ef",
"publicId": "alan-turing",
"trackingId": "ZXhhbXBsZVRyYWNraWQ",
"profileId": "ACoAA12ab34cd",
"picture": "",
"backgroundImage": ""
}
}
],
"numShares": 0,
"numLikes": 142,
"numComments": 12,
"commentsTruncated": false,
"commentsComplete": true,
"reactionsTruncated": false,
"canReact": true,
"canPostComments": true,
"canShare": true,
"commentingDisabled": false,
"allowedCommentersScope": "ALL",
"rootShare": true,
"shareAudience": "PUBLIC"
}

Notes:

  • Some fields may be empty or “Unknown” if not present in the public page (e.g., authorHeadline, images).
  • comments and reactions are sampled and may be truncated; see flags commentsTruncated and reactionsTruncated.

FAQ

Do I need to log in or provide cookies to use this LinkedIn post scraper?

No. The actor works without login and targets publicly available LinkedIn profile pages. It does not access private or authenticated content.

Can it scrape company pages or group posts?

No. This LinkedIn profile activity scraper only processes LinkedIn profile URLs that contain “/in/”. Non-profile URLs (company, school, groups) are skipped.

How many posts can I extract per profile?

You can set maxPosts between 1 and 500. The default is 10. Keep lower values (e.g., 10–50) for faster, more cost-efficient runs.

What engagement data is captured?

The LinkedIn post data extractor parses numLikes and numComments from the page. It also samples reactions and comments when available, with flags indicating if they’re truncated.

Does it handle LinkedIn’s anti-bot measures?

Yes. It automatically falls back from direct connection to datacenter and then residential proxies when blocked (including 999). Profile pages use residential from the start for improved reliability.

What export formats are supported?

Results are stored in an Apify dataset and can be exported as CSV or JSON. The dataset is also accessible via the Apify API for downstream automation.

Can I integrate this with Python or an API pipeline?

Yes. The actor is API-ready. You can trigger runs and fetch datasets via the Apify API from your Python scripts to extract LinkedIn posts by user at scale.

What types of media does it capture?

This LinkedIn profile posts scraper extracts images where available. The primary image is in image, and up to five images are in images.

Closing CTA / Final thoughts

The Linkedin Profile Post Scraper is built to scrape LinkedIn profile posts reliably at scale. With resilient proxy fallback, live dataset output, and structured fields, it empowers marketers, analysts, and developers to turn public profile activity into actionable insights. Export data to CSV/JSON or consume it via the Apify API to power dashboards and analytics. Start extracting smarter with a production-ready LinkedIn posts crawler tailored for content analysis, social selling, and competitor intelligence.