LinkedIn Post Scraper
Pricing
from $1.50 / 1,000 results
LinkedIn Post Scraper
Scrape LinkedIn posts without login. Full post text, author, reactions total + breakdown, comment count, published date, media, and shared-content (reshares). HTTP/1.1 + residential proxy. Optional cookie for profile discovery.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Aurenic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape LinkedIn posts from profiles or direct URLs using your own session cookie. Full post text, author, reactions total + breakdown, comment count, published date, media, and shared-content. HTTP/1.1 + residential proxy.
What does LinkedIn Post Scraper do?
Extract posts from any public LinkedIn profile in two steps:
- Profile → posts discovery — pass a username (
satyanadella) or profile URL. The actor loads/recent-activity/all/and extracts the post URLs LinkedIn returns. - Post → full data — each post URL is fetched and parsed for the full body text, author, publication timestamp, reactions total + per-type breakdown, comment count, images, and reshare context.
You can also pass direct post URLs without profiles for one-off fetches.
Setup — getting your LinkedIn cookie
The actor needs your own LinkedIn session cookie to bypass LinkedIn's bot detection (HTTP 999). You paste it once per run — the actor never sees your password.
- Log in to
linkedin.comin your browser - Press F12 to open DevTools
- Go to the Application tab (Chrome/Edge) or Storage tab (Firefox)
- In the left sidebar: Cookies → https://www.linkedin.com
- Find the cookie named
li_at - Copy its Value (a long string starting with
AQED...) - Paste into the LinkedIn Cookie field — just the value, no
li_at=prefix needed
The cookie lasts weeks to months. If the actor starts failing with HTTP 401/999 — cookie may be invalid or expired, re-copy it from your browser.
Alternatively, paste the entire cookie header string (li_at=...; JSESSIONID=...; bcookie=...) — both forms work.
Output fields
| Field | Description |
|---|---|
| postUrl | Canonical post URL |
| activityId | Numeric activity ID |
| type | SocialMediaPosting, Article, VideoObject |
| text | Full post body text |
| textLength | Character count |
| headline | Post headline when present |
| description | Page description fallback |
| authorName | Author display name |
| authorUrl | Author profile URL |
| authorImage | Author avatar |
| publishedAt | ISO 8601 publication timestamp |
| reactionsTotal | Total reactions |
| commentCount | Total comments |
| reactionsByType | Per-type breakdown object |
| imageCount / images / thumbnail | Attached media |
| sharedContent | Original post when this is a reshare |
| isReshare | Reshare flag |
| sourceProfile | Which profile produced this post |
| keywords | Keywords from structured data |
Who is it for?
- Social media analysts tracking post engagement and topic trends
- Content marketers benchmarking competitor post performance
- Recruiters and sales teams monitoring thought-leader activity
- AI/ML builders sourcing LinkedIn post corpora for training
- Brand monitoring teams watching mentions across public feeds
- Newsrooms verifying quotes and viral posts
Pricing
$1.50 per 1,000 results. No subscription.
| Results | Cost |
|---|---|
| 100 | $0.15 |
| 1,000 | $1.50 |
| 10,000 | $15.00 |
How to use it
- Paste your LinkedIn Cookie (
li_atvalue from DevTools). - Enter one or more Profiles — usernames or URLs.
- Optionally add Direct Post URLs.
- Set Max Posts per Profile (default 10).
- Click Start.
Output example
{"recordType": "linkedin-post","postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7488618410256523265/","activityId": "7488618410256523265","type": "SocialMediaPosting","text": "Three things I learned this year working on climate innovation...","textLength": 1842,"authorName": "Bill Gates","authorUrl": "https://www.linkedin.com/in/williamhgates","authorImage": "https://media.licdn.com/dms/image/...","publishedAt": "2026-06-14T09:30:00Z","reactionsTotal": 18422,"commentCount": 611,"reactionsByType": { "Like": 15200, "Celebrate": 2100, "Support": 1122 },"imageCount": 1,"images": ["https://media.licdn.com/dms/image/..."],"thumbnail": "https://media.licdn.com/dms/image/...","sharedContent": null,"isReshare": false,"sourceProfile": "williamhgates","scrapedAt": "2026-09-26T12:00:00.000Z"}
Technical details
- Cookie-authenticated requests. The
li_atsession cookie makes every request look like a real logged-in browser session — this is what bypasses LinkedIn's HTTP 999 bot-detection. No account is created by the actor; you supply your own session. - JSON-LD
SocialMediaPostingis the primary extraction path. LinkedIn embeds a schema.org block on post pages — the actor parses it directly. DOM selectors are a fallback for text and images. - HTTP/1.1 required. LinkedIn's edge blocks HTTP/2 fingerprints regardless of headers. The actor uses
got-scrapingwithhttp2: false. - Residential proxy for IP-level safety on top of the authenticated session. Rotates every 30 requests.
- URL normalization — all three common post URL forms map to one canonical URL + activity ID. Deduping happens before fetching.
- No browser, no rendering. Pure HTTP + Cheerio.
Known limits
- Cookie is required. LinkedIn blocks unauthenticated profile access with HTTP 999. There is no keyless path — every working LinkedIn actor on the Apify Store requires a user-supplied cookie.
- Cookie can expire. LinkedIn invalidates
li_atafter weeks to months, or when you log out of the browser session. The actor fails fast withHTTP 401/999 — cookie may be invalid or expiredso you know to re-copy it. - Rate limits still apply per IP. Even authenticated sessions are rate-limited. The actor rotates residential proxy sessions every 30 requests.
- Public activity only. The actor cannot see posts only visible to a user's connections — even with your cookie, it sees what your account can see.
commentCountis what LinkedIn publishes — the actor does not paginate into comment threads.- Some posts return short
articleBody— LinkedIn truncates JSON-LD for very long posts. The DOM fallback catches most cases but not all.
FAQ
Do I need a LinkedIn account? You need to be logged into LinkedIn in your browser to obtain the cookie. The actor itself never creates or uses an account — it only uses the session token you paste.
Where exactly do I find the li_at cookie? DevTools (F12) → Application → Cookies → https://www.linkedin.com → find li_at → copy its value. Full step-by-step is in the README setup section above.
Is pasting my cookie safe? The cookie is a session token, not your password. It's passed only to linkedin.com from the actor's proxy IP. If you're worried about exposure, log out of LinkedIn in your browser afterward — this invalidates the cookie. Or use a dedicated throwaway LinkedIn session.
Why does the actor need a cookie? LinkedIn blocks unauthenticated profile access with a non-standard HTTP 999 status code. Cookies are how every working LinkedIn scraper on the Apify Store operates.
How long does the cookie last? Typically weeks to months, or until you log out of that browser session.
How do I export data? After a run, go to Storage → Export as JSON, CSV, Excel.
Support
Open an issue on the Actor's page for bugs or feature requests.