LinkedIn hub

LinkedIn Post Search API

Search public LinkedIn posts by keyword and get structured JSON rows — text, author, reactions, comments — with cursor pagination.

GET /v1/linkedin/posts/search

1 credit Failed requests are free

About this endpoint

GET /v1/linkedin/posts/search takes a required query string (1–512 characters after trim). Optional datePosted narrows recency: last-hour, last-day, last-week, last-month, or last-year. The response echoes data.query, returns matching rows in data.posts, and paginates with data.page.hasMore / data.page.nextCursor. When hasMore is true, pass nextCursor as cursor on the next call with the same query and datePosted. Each post can include id (the LinkedIn activity id), url, title, text, publishedAt, media, image and video thumbnail URLs, author (name, profileUrl, avatarUrl, followers), metrics (reactions, comments) and a few top comments when LinkedIn exposes them.

An empty posts array means no matching public posts for that query and page. It is not an error. This route is keyword discovery. For a known permalink, use GET /v1/linkedin/posts. For spoken audio from a post, use GET /v1/linkedin/posts/transcript. Company feed pagination stays on GET /v1/linkedin/companies/posts. Pricing is 1 credit per successful request; bill from meta.creditsCharged.

LinkedIn Post Search API FAQ

How do I search LinkedIn posts by keyword via API?

Call GET /v1/linkedin/posts/search with your Social Fetch API key (x-api-key) and a required query param. Optionally add datePosted and cursor. Read data.posts and data.page in the JSON response. See the API docs for parameters.

How much does LinkedIn post search cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth.

What does datePosted accept?

Optional enum: last-hour, last-day, last-week, last-month, or last-year. Omit it when you want the default (unfiltered) recency window for that search.

How does pagination work on LinkedIn post search?

When data.page.hasMore is true, pass data.page.nextCursor as the cursor query param on the next request. Keep the same query and datePosted across pages. keep the cursor opaque.

What fields does each LinkedIn post search result include?

Each row can include id (the LinkedIn activity id), url, title, text, publishedAt, mediaUrl, imageUrl, imageUrls, thumbnailUrl (video posts), author (name, profileUrl, avatarUrl, followers), metrics (reactions, comments), and comments (top comments with authorName, text and profileUrl). Coverage follows what LinkedIn shows on public search for that hit.

LinkedIn post search vs single-post GET?

Use GET /v1/linkedin/posts/search when you have a keyword and need candidate permalinks. Use GET /v1/linkedin/posts when you already have a post or article URL and want the fuller single-item card (including optional comments and related articles).

What happens when no posts match the query?

The call returns HTTP 200 with an empty data.posts array. That is a valid empty page, not a failure. Keep meta.requestId if you need to retry or escalate.

Do I need LinkedIn partner API access for post search?

No. Social Fetch returns public LinkedIn post search results. LinkedIn's official partner APIs are separate and require LinkedIn's access programs and member authorization.