LinkedIn Post Search Scraper — No Login, No Cookies
Pricing
from $4.00 / 1,000 posts
LinkedIn Post Search Scraper — No Login, No Cookies
Search public LinkedIn posts by keyword, author, hashtag or date. No login or cookie needed. Author, full text, exact date, reactions, comments, media and job cards. Optional cookie power mode.
Pricing
from $4.00 / 1,000 posts
Rating
0.0
(0)
Developer
Yugenox Corp
Maintained by CommunityActor stats
0
Bookmarked
23
Total users
9
Monthly active users
15 days ago
Last modified
Categories
Share
LinkedIn Post Search (No Login, No Cookies)
Search public LinkedIn posts by keyword, author, hashtag or date, and get clean, structured JSON. No LinkedIn account, no cookie, no login.
Type a keyword like hiring toronto and get back who posted, their profile, the full post text, the exact date, reactions and comments, images and video, hashtags and mentions. When a post carries a job, you also get the job title, company, location and a direct apply link. Export to JSON, CSV or Excel, or pull it from the API.
What you get for every post
| Field | Example |
|---|---|
author | Paul C Nichols |
profileUrl | https://www.linkedin.com/in/paulcnichols |
text | "I'm hiring a Director of Engineering to help me hire and manage…" (full text) |
postUrl / shareUrl | direct links to the post |
postedAt | 2026-09-21T20:56:23.011Z (exact, to the millisecond) |
engagement | { reactions: 123, comments: 6 } |
hashtags, mentions | #hiring, people and companies tagged |
media | image(s), video (mp4 + poster + duration + transcript), article card |
job | { title, company, location, applyUrl } when the post has a job card |
authorFollowers, authorType, authorImage | 2153, person / company, photo URL |
commentsPreview | up to ~10 public comments (author, text, date, likes) |
What you can do with it
- Recruiters and sourcers: find people posting "we're hiring", each with the job and a direct apply link.
- Lead generation and sales: catch buying signals (hiring, funding, launches) from decision makers while they are fresh.
- Job seekers and job boards: pull fresh hiring posts by keyword and city.
- Brand and competitor monitoring: track who talks about a company, product or topic. Use monitor mode on a schedule to get only new posts.
- Content and trend research: see what is being posted on any subject, with engagement numbers.
How to use it
- Enter a keyword, for example
data engineer hiring toronto. - Pick a date range and how many posts you want.
- Run it. That is all: no cookie, no account.
Main input
| Field | What it does |
|---|---|
| keyword | What to search for. All words are required; "quotes" for an exact phrase, OR for alternatives, -word to exclude. |
| datePosted | Any time, past 24 hours, week, month, 3 months, 6 months or year. |
| maxPosts | Posts per keyword, up to 1,000. You pay only for full posts delivered. |
| searchQueries | Several keywords in one run (each gets its own maxPosts). |
| authorUrls | Only posts by these people or companies (profile or company URLs). |
| hashtags | Only posts that use all of these hashtags. |
| excludeKeywords | Drop posts containing these words. |
| postedAfter / postedBefore | Exact dates (2026-09-01) or relative (7 days). |
| sortBy | Relevance (default) or newest first. |
| onlyWithJob | Only hiring posts that carry a job card with an apply link. |
| postUrls | Fetch specific posts directly, no search. |
| monitorMode + monitorKey | For scheduled runs: return and charge only posts you have not received before. |
| strictMatch | On by default: a post is kept only if its own text, author or hashtags contain your keyword. |
Example inputs
{ "keyword": "hiring", "datePosted": "past-week", "maxPosts": 50 }
{ "authorUrls": ["https://www.linkedin.com/company/shopify"], "maxPosts": 30 }
{ "keyword": "series A", "hashtags": ["#startups"], "postedAfter": "2026-09-01", "excludeKeywords": ["crypto"], "maxPosts": 100 }
{ "keyword": "we are hiring toronto", "onlyWithJob": true, "datePosted": "past-month", "maxPosts": 25, "maxSearchPages": 15 }
HarvestAPI-style inputs work too: { "keywords": ["ai agents"], "postedLimit": "week", "authors": ["https://www.linkedin.com/company/openai"] }.
Output: which fields are filled
Rows have the same fields in every mode. Three fields tell you how a row was built:
dataQuality:full(the public LinkedIn post page was read and names its author: billed),preview(LinkedIn shows guests only a preview of this post: free),partial(the page could not be read, e.g. LinkedIn answered with a sign-up wall instead of the post, so the row comes from the search result: link, exact date, author, snippet: free). A sign-up page, a 404 page or a company page is never billed as a post.fetchPath:page,embed,embed-compact,embed-res,orgfeed,serporcookieSearch.source:google,related,companyFeed,postUrl,cache,ddg,bing,braveorlinkedinSearch.
Always or often empty without login (LinkedIn does not show these to logged-out visitors):
authorDegreeandauthorVerified: alwaysnull(connection degree and badges are only shown to members).engagement.shares: alwaysnull(repost counts are hidden from guests).authorHeadline: filled when the post came through the embed page, otherwise usuallynull.job: filled when the post has a job card (most complete on the full post page).profileUrl,engagement,media:nullor empty on freepartialrows.
How it works, and the honest limits
The actor finds posts through Google's public search results (via Apify's Google SERP proxy) and LinkedIn's related-post lists, then reads each public, logged-out LinkedIn post page (datacenter proxy by default, with a small residential fallback). Company authors also come from LinkedIn's public company feed. Dates are exact: they are decoded from the post id itself.
- Freshness: Google usually shows a new post a few hours after it is published. For real-time results use power mode.
- Depth: Google returns up to about 280 results per search. The actor splits long date ranges into daily windows to go deeper, and uses related posts, so hundreds of posts per keyword are normal. Very rare keywords return fewer; the status message says so.
- Authors: company authors are reliable (their public feed has about the 70 latest posts, plus search). Searching a person's posts is best effort.
- Speed: a 10-post run takes about 30 to 90 seconds; 300 posts about 2 to 3 minutes. Keep the run Timeout at 180 s or more. A shorter timeout still works: the run stops a few seconds before it, keeps what it found, and the status message says what Timeout to use (0 posts = no charge).
Power mode (optional: your own LinkedIn cookie)
Not needed. If you want LinkedIn's own real-time search (about 400 posts per search, filtered by LinkedIn), paste your li_at cookie into Optional: your LinkedIn cookie (power mode):
- Log in to linkedin.com in Chrome on a computer.
- Press F12 (or right-click, Inspect), open Application, then Cookies, then
https://www.linkedin.com. - Copy the Value of
li_at(a long string starting withAQE…).
Your cookie is stored encrypted and used only for your searches. If LinkedIn rejects it, the run switches to the no-login mode automatically and says so. If LinkedIn stops the cookie search early, the rest is filled from public search. A secondary LinkedIn account is recommended for power mode.
Reliability
Every run ends SUCCEEDED, whatever you type and whatever fails on the way (Google slow or blocked, LinkedIn pages refused, a time limit). You always get the best data available and a status message that starts with a code:
| Code | Meaning |
|---|---|
[OK] | Normal finish. |
[DEGRADED] | Finished, but some sources failed and fallbacks were used. |
[PARTIAL] | Stopped early (your run Timeout, or your spending limit). Everything found is saved; the message says what to change. |
[NO_RESULTS] | There are no public posts for this search and date range. |
[SERP_BLOCKED] / [SERP_UNAVAILABLE] | Google search was blocked, or the Google SERP proxy is not available on your plan. Nothing charged. |
[LI_BLOCKED] | LinkedIn refused every public page; only free previews were delivered. |
[COOKIE_FALLBACK] | Your cookie was rejected (at the start or part-way); public search filled only what was still missing. |
[INPUT] | Nothing to search; the message shows an example input. |
A RUN_REPORT record in the run's key-value store lists which sources were used and what failed.
Pricing
$4.00 per 1,000 full posts. You pay only for full rows. Preview and partial rows, posts removed by your filters, duplicates and runs that find nothing are free. In monitor mode, posts you already received are never charged again. If you set a maximum cost per run, the run stops exactly at it (never one post over) and ends [PARTIAL] with a spending-limit note.
Apify platform usage for the run (compute and proxies, including the Google SERP proxy at about $2.50 per 1,000 search pages) is billed by Apify on top, as with other pay-per-event actors. It is typically around $0.30 per 1,000 posts. Small runs cost relatively more because the first search pages are always needed.
Run it from your code
POST https://api.apify.com/v2/acts/yugenox~linkedin-post-search/run-sync-get-dataset-items?token=YOUR_TOKEN{ "keyword": "data engineer hiring toronto", "datePosted": "past-week", "maxPosts": 100 }
Returns the posts array in the response. Works with Make, Zapier, n8n and any HTTP client.
FAQ
Do I need a LinkedIn account or cookie? No. The default mode uses only public, logged-out pages. The cookie is an optional power mode.
Is it legal to scrape LinkedIn posts? This actor collects only publicly available data: Google's public search results and the LinkedIn post pages that LinkedIn shows to anyone who is not logged in. In the default mode it never logs in, never uses an account, and never bypasses a login wall or CAPTCHA; posts LinkedIn keeps behind its login are returned only as the short public preview LinkedIn itself shows. In power mode it uses your own session to run the searches your account can already run. Collecting publicly available data is generally legal, but you are responsible for how you use it. Results include names and public profile links, which count as personal data, so you must follow privacy laws such as GDPR, PIPEDA and CCPA, as well as LinkedIn's terms. If you are unsure, check with a lawyer. More: Is web scraping legal?
Does it access private data? No. No private messages, connection lists, private profiles or anything behind LinkedIn's login.
Why did I get fewer posts than I asked for?
Google has fewer public matching posts for that keyword and date range, strict matching removed off-topic posts, or further search pages stopped returning new posts. The status message tells you which. Try a broader keyword, a longer date range, turning off strict match, or raising maxSearchPages.
Can I get only new posts every day?
Yes: schedule the actor with monitorMode: true and a monitorKey. Each run returns and charges only posts not delivered before.