LinkedIn Profile Posts Scraper avatar

LinkedIn Profile Posts Scraper

Pricing

from $5.00 / 1,000 results

Go to Apify Store
LinkedIn Profile Posts Scraper

LinkedIn Profile Posts Scraper

Scrape posts from any LinkedIn profile: text, date, reactions by type, comments, reposts, images, videos, shared articles, mentions and quoted posts. Works without login for recent posts, or add your session cookie to get all posts. Export to JSON, CSV or Excel.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Arishma

Arishma

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

What does LinkedIn Profile Posts Scraper do?

LinkedIn Profile Posts Scraper returns the posts of any LinkedIn profile as clean, structured data: text, publication date, reactions (split by type), comments, reposts, images, videos, shared articles and job posts, quoted and reposted posts, and the people and companies mentioned in each post.

It works in two modes:

Without a cookieWith your session cookie
Posts per profileThe few recent posts LinkedIn shows logged-out visitors (usually 3-6)All posts, with paging
Text, date, total reactions, comments✅✅
Reactions by type (like, celebrate, love, ...) and repost count❌✅
Images, videos, shared articles✅✅
Job post details❌✅
MentionsNames and profile/company usernamesNames and LinkedIn ids
Author headline❌ (hidden by LinkedIn)✅
Risk to a LinkedIn accountNoneSee the cookie section

How do I use it?

  1. Enter a LinkedIn profile URL or username, for example https://www.linkedin.com/in/steffanhaas/.
  2. Set Posts per profile and, to page through a long history, Page number.
  3. Optionally paste your LinkedIn session cookie to get all posts with full details.
  4. Click Start and download the posts as JSON, CSV or Excel, or read them through the API.

How much does it cost?

$5.00 per 1,000 posts, with platform usage and proxies included. You pay only for posts returned; rows for profiles that fail are free. To control costs, set Posts per profile, or set a maximum cost per run in the run options; the Actor stops as soon as that limit is reached.

Example input:

{
"username": "https://www.linkedin.com/in/steffanhaas/",
"total_posts": 25,
"page_number": 1,
"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
FieldDescription
usernameProfile URL or username.
usernamesMore profiles for the same run.
total_postsPosts per profile (default 50).
page_numberPage of total_posts posts to return. Page 2 with 25 posts returns posts 26-50.
limitAlternative cap on posts per profile; the smaller of limit and total_posts applies.
cookieOptional li_at session cookie. Stored encrypted; never logged.
proxyProxy settings. Residential proxies work best.

Output

One item per post:

{
"urn": { "activity_urn": "7511765195523014656", "share_urn": "7511765194520567808", "ugcPost_urn": null },
"full_urn": "urn:li:activity:7511765195523014656",
"posted_at": { "date": "2026-10-02 12:33:04", "relative": "2 days ago • Visible to anyone on or off LinkedIn", "timestamp": 1790944384461 },
"text": "🌍 Help define the future workplace architecture of a global technology organization...",
"url": "https://www.linkedin.com/posts/steffanhaas_ssischaefer-architecture-digitalworkplace-activity-7511765195523014656-aqNK",
"post_type": "regular",
"author": {
"first_name": "Steffan",
"last_name": "Haas",
"headline": "IT Transformation | Enterprise Infrastructure | Executive Leadership",
"username": "steffanhaas",
"profile_url": "https://www.linkedin.com/in/steffanhaas",
"profile_picture": "https://media.licdn.com/dms/image/...",
"actor_type": "member"
},
"stats": { "total_reactions": 22, "like": 22, "support": 0, "love": 0, "insight": 0, "celebrate": 0, "funny": 0, "curious": 0, "comments": 0, "reposts": 3 },
"job_data": { "id": "4474149762", "title": "Digital Workplace Architect", "company": "SSI SCHÄFER", "location": "Riga, Latvia (Hybrid)", "workplace_type": "Hybrid", "url": "https://www.linkedin.com/jobs/view/4474149762/" },
"text_annotations": [{ "start": 268, "length": 11, "text": "SSI SCHÄFER", "type": "company", "company_urn": "106330" }],
"pagination_token": "dXJuOmxpOmFjdGl2aXR5..."
}
  • post_type is regular, quote (a reshare with the member's own text) or repost (a plain reshare). Quotes and reposts have the original post under reshared_post.
  • Depending on the post there is also media (images or video), article and attachment (shared links), job_data or document.
  • posted_at.date is in UTC. text_annotations positions count Unicode characters, so an emoji counts as one.
  • Without a cookie, fields LinkedIn does not show logged-out visitors are null: the per-reaction split, reposts, author.headline and pagination_token.

Profiles that fail (not found, cookie expired, ...) are added as rows with error and errorDescription, which are free. A run summary is saved as RUN_SUMMARY in the key-value store.

  1. Log in to LinkedIn in Chrome.
  2. Open DevTools (F12) → Application → Cookies → https://www.linkedin.com.
  3. Copy the value of the li_at cookie and paste it into the LinkedIn session cookie field.

LinkedIn may restrict accounts it believes are automated. The Actor keeps one IP for the whole run and paces its requests like a person browsing, but use an account you can afford to lose and avoid very large runs. For the fewest security checks, set the proxy country to the account's country. The cookie stops working when you log out of LinkedIn in that browser.

FAQ

LinkedIn shows logged-out visitors only a handful of each member's recent posts. Everything else requires a logged-in session.

The Actor reads data that is visible to the account or visitor it runs as. Posts contain personal data, which is protected by regulations such as the GDPR. Only collect personal data you have a legitimate reason to process, and check LinkedIn's terms for your use case. If unsure, consult a lawyer.