100 free credits on signup · no card required

LinkedIn Search API

One keyword in. Clean JSON out.

Search public LinkedIn posts by keyword and get the matches back as JSON. Send a query string to /v1/linkedin/search and you get an array of posts with their text, engagement counts, publish time and author. 5 credits per result returned, so a 20-post search costs 100 credits.

Credits 5 / result
Input ?query=
Cache 15m–7d
Paging limit
GET · BEARER
Request composing…
Fresh when it matters
age-aware cache
Works with your stack
cURL Python Node.js Zapier n8n Make MCP
One key · one credit balance · plain REST

The difference

Stop parsing markup. Start reading fields.

On the left, what a headless browser hands you. On the right, what the endpoint hands you.

Scraping it yourself raw HTML · every call
<div class="feed-shared-update-v2 artdeco-card" data-urn="urn:li:activity:7181111111111111111"><div class="update-components-text relative"><span dir="ltr">We just cut p95 latency in half by moving the cache closer to the edge.</span></div><div class="social-details-social-counts"><li class="social-details-social-counts__item"><span aria-label="842 reactions">842</span></li><li class="social-details-social-counts__comments">63 comments</li><li>41 reposts</li></div><time class="update-components-actor__sub-description">4d</time><code style="display:none">{"data":{"*elements":["urn:li:fsd_update:(urn:li:activity...
×Class names rotate; your selectors break weekly ×Headless browsers, proxies, blocks to babysit ×Counts arrive as strings, not numbers
One GET request 8 typed fields
{
"data": [
{
"id": "7181111111111111111",
"url": "https://www.linkedin.com/posts/linkedin_hiring-activity-7181111111111111111",
"text": "We just cut p95 latency in half by moving the cache closer to the edge.",
"posted_at": "2026-07-04T11:00:00Z",
"metrics": {
"reactions": 842,
"comments": 63,
"reposts": 41
}
}
],
"meta": {
"count": 2,
"limit": 20,
"item": "result"
},
"request_id": "req_01JZX4M8Q2TE9W"
}
Stable field names, documented nulls No proxies, no browser, no login session Counters are integers you can sort on

The payload

What comes back

{ data, meta?, request_id }
01 One object per public post

An array. Each element is one public post: the body text, how many likes, comments and reposts it has picked up, when it went live, and a nested author object. Same shape the LinkedIn Post Stats API returns for a single URL, so a search result can be stored in the same table as a post you fetched by link.

02 Order is relevance, not chronology

Ordering comes from LinkedIn's own results for that query. It is relevance-weighted with a recency bias, not a strict reverse-chronological feed, and it is not stable between calls — run the same query tomorrow and posts will shift position. Deduplicate on the id field rather than assuming position means anything.

03 Limit is a ceiling, not a promise

Result counts are a ceiling, not a promise. A narrow query may return four posts when you asked for fifty. You are billed per result actually returned, so a thin query is a cheap query.

Field explorer Pick a key to see its type and the caveats.
number|null Nullable Sortable metric
comments

Comment count. Pass the url to the LinkedIn Comments API if you need the text of them.

{
"id": "7181111111111111111",
"url": "https://www.linkedin.com/posts/linkedin_hiring-activity-7181111111111111111",
"text": "We just cut p95 latency in half by moving the cache closer to the edge.",
"likes": 0,
"comments": 63,
"shares": 0,
"posted_at": "2026-07-04T11:00:00Z",
"author": { … }
}
Good fit

Reach for this when

  • Tracking mentions of your product, a competitor or a category term across LinkedIn, on a schedule, without a social listening subscription.
  • Finding the people who are already talking about a problem you solve — search the phrasing they would use, then look at author.handle on the posts that land.
  • Collecting a corpus for analysis: pull a few hundred posts on a topic and run classification, sentiment or topic modelling over the text field.
  • Watching a launch, a conference hashtag or a news event as it plays out, by re-running one query hourly and diffing on id.
  • Feeding an LLM current, cited source material about an industry conversation instead of relying on training data.
Different job?

There's an endpoint for that

  • You want people, not posts. This searches post content — use the LinkedIn People Search API, which returns profiles.
  • You already have the post link. Use the LinkedIn Post Stats API, which fetches one known post for a flat 5 credits instead of billing per search result.
  • You want everything one company published. The LinkedIn Company Posts API reads a page's own timeline in order, which is more complete than searching for the company name. It is priced the same, at 5 credits per post.
  • You need the comment threads. This returns the comment count; the LinkedIn Comments API returns the comments themselves.

Pricing

Start free, pay for what comes back

Each returned post is 5 credits — about 2.5¢ on the monthly plan. A default 20-result search runs 50¢, and a query that matches nothing still costs 1 credit.

Estimate your bill
$15/ month
30 results/day × 5 credits × 365 days = 54,750 credits/yr, or $183/yr on the annual plan plus 43 top-up blocks Whichever plan is cheaper for that volume, divided by 12.
30
102,000
Credits / yr 54,750
Plan Annual $54/yr
Per result

Estimate only, on a full-year basis. 5 credits per returned result. Monthly: $5 per 1,000 credits with $4/1,000 top-ups. Annual: $54 per 12,000 credits with $3/1,000 top-ups. We show whichever plan is cheaper for your annual volume, divided by 12. Failed calls are never charged; cache hits cost the same as fresh calls.

Free trial
100 credits

On signup, no card. Your key is on screen immediately.

Get your free API key
Monthly $5/mo 1,000 credits. Top-ups $4 per extra 1,000.
Annual $54/yr 12,000 credits. Top-ups $3 per extra 1,000.

Entry price, side by side

Cheapest way to start

Verified July 2026 from each vendor's live pricing page
ScraperSocial
$5 / mo 1,000 credits · 100 free credits, no card
Supadata
$5 / mo 300 credits, annual commitment · 100 free/mo
SocialKit
$29 / mo 12,000 credits · 20 free credits
Dumpling AI
$40 / mo Billed annually · free tier size unpublished
ScrapeCreators
$47 pack 25,000 credits, no subscription · 100 free once

Credits are not equivalent units across vendors — each meters differently. Price your own workload on both before deciding on entry price alone. At high volume, several of these are cheaper per credit than we are.

Engineering notes

Docs you can build on

We document exactly how every endpoint behaves — nulls, caching, billing — so what you ship on day one is still running in month six. No surprises, no support tickets.

Failed calls are never charged Public data only, no login session Built for parallel traffic

5 credits per post returned. The limit parameter is your budget control — set it deliberately rather than leaving it at the default of 20. Asking for 200 results on a broad term like 'AI' will bill 1,000 credits and hand you a lot of noise.

Nothing is charged for results that do not come back. A query matching nine posts costs 45 credits even if you asked for 100.

We pass your string through to LinkedIn's post search. Quoted phrases work. Broad single words behave like a broad single word does in any search box: high volume, low precision. Two or three narrow queries almost always beat one wide one.

There is no date filter, no author filter and no language filter on the query itself. Filter after the fact using posted_at and author on the response.

LinkedIn is inconsistent about which counters it renders publicly. shares is null often enough that you should not build a chart that assumes it. text is null on image-only and video-only posts. author.handle is null for company-page posts because a company URL has no public identifier in the same slot.

Treat a null as 'LinkedIn did not show this', not as zero. Writing null through as 0 will quietly corrupt any average you compute later.

We read what a logged-out visitor sees. Posts limited to connections, posts inside groups, and anything behind a login are not reachable and never will be through this endpoint. Deleted posts drop out of results silently between runs, which is another reason to key on id and keep your own copy of the text.

Search responses sit in the fast cache class, so re-running an identical query and limit inside the window returns in milliseconds with x-cache: hit. A cache hit is billed the same as a fresh call. Add fresh=true when you are monitoring and need the window bypassed — for example the first call of each scheduled run.

Questions

Frequently asked

Send a GET request to /v1/linkedin/search with your query and API key. You get back an array of matching public posts with text, engagement counts, timestamp and author. No LinkedIn developer application, no OAuth, no partner approval. LinkedIn's own Marketing API does not offer public post search to general developers, which is why this exists as a separate service.

5 credits per result returned. Credits are $0.005 each monthly and $0.0045 annual, so a post costs about 2.5 cents and a 20-result search runs roughly 50 cents. You are only billed for posts actually returned, so narrow queries that match little are cheap. Set limit to control the ceiling before you run anything broad.

Whatever one call returns. Set limit to what you can justify paying for; the default is 20. There is no second page — no cursor, no page token, no offset — so limit is the whole of what you will get, and re-running the query is a fresh search rather than a continuation. Beyond that the constraint is LinkedIn, not us: broad commercial terms will fill a large request, niche phrases often return single digits no matter how high you set the cap. Budget for the ceiling and expect to receive less.

Yes, include the hashtag in the query string and LinkedIn matches posts using it. Results are not restricted to that tag alone — LinkedIn will also surface posts that merely mention the phrase. If you need strict tag matching, filter the returned text field for the exact hashtag on your side.

No. Only content a logged-out visitor can load is reachable. Connection-only posts, group posts and anything behind a login are excluded. We do not use logged-in sessions and do not attempt to reach gated content. If a post disappears from later runs it usually means the author deleted it or made it private.

LinkedIn ranks post search by its own relevance model, which weighs recency and engagement and changes constantly. Position carries no meaning you can rely on across calls. Deduplicate on the id field, sort by posted_at or likes yourself if you need a stable order, and never treat result index as a rank.

You can find people discussing a topic — author.handle and author.name come back on each post, and you can feed a handle into the LinkedIn Profile API for more. What this endpoint does not do is return contact details, and it is not an email finder. Whatever you do with the profiles afterwards is subject to LinkedIn's terms and your local privacy law.

Next

Pairs well with

Full LinkedIn API reference →
/v1/linkedin/people-search
LinkedIn People Search API Search public LinkedIn profiles by keyword, title, company or location. 5 cr / profile
/v1/linkedin/stats
LinkedIn Stats API Reactions, comments and reposts for a LinkedIn post. 5 cr / post
/v1/linkedin/comments
LinkedIn Comments API Paginated comments on a LinkedIn post; charged per comment returned. 5 cr / comment
/v1/tiktok/search
TikTok Search API Keyword search over TikTok videos. 4 cr / result

More LinkedIn endpoints

/v1/linkedin/stats Reactions, comments and reposts for a LinkedIn post. 5 credits / post /v1/linkedin/comments Paginated comments on a LinkedIn post; charged per comment returned. 5 credits / comment /v1/linkedin/profile Public profile data for a LinkedIn member: headline, positions, education. 10 credits / profile /v1/linkedin/company Company page data: industry, size, followers and description. 10 credits / company /v1/linkedin/company-posts Latest posts from a LinkedIn company page with per-post metrics. 5 credits / post /v1/linkedin/people-search Search public LinkedIn profiles by keyword, title, company or location. 5 credits / profile

Try the LinkedIn Search endpoint free

100 trial credits on signup — no card, key on screen immediately.

1 Sign up free no card · 30 seconds
2 Copy your key sk_live_...
3 GET the endpoint /v1/linkedin/search
Get your free API key