LinkedIn Search Posts API
Keyword search of public LinkedIn posts — offset cursor, ceiling 50.
Search public LinkedIn posts by keyword. LinkedIn's own content search needs a login and Captapi never signs in, so results come from public search-engine results for LinkedIn post pages, each read and kept only when the post contains every keyword — not LinkedIn's full index. Broad queries fill pages; niche queries can return few or no results. When nothing public matches, the call is 200 with an empty list, truncatedReason=no_public_matches, a note, and 0 credits. If the search sources cannot be reached at all, the call is 502 UPSTREAM_UNAVAILABLE, retryable, 0 credits. Each row is the same post card as post-details minus media. author.id is the /in or /company vanity (or ACoAA… urn); author.headline is the job title when the post page exposes it. engagement.likes / comments are read locale-proof from the post page's DOM counters (guest pages arrive in random languages — "9 réactions" used to null likes on a post with 9 reactions) and always carry their *IsApproximate pair (null flag when the count is null — the key never disappears row to row); reposts is omitted when LinkedIn hides shares. Cursor pagination via nextCursor + hasMore (numeric offset, same as company-posts); hasMore is true only when nextCursor is present. A null nextCursor means the end of this SERP window (max 50), not that LinkedIn has no more posts. sort=relevance (default) is the search-engine rank — publishedAt can span years; sort=date sorts the found posts newest first. The envelope names query / sort / requested / listingHits / totalReturned / truncatedReason=serp-window plus serpMs / hydrateMs / totalMs. Billing is ~0.8/result (10 posts → 8, 20 → 16); an empty result is 0 credits.
Request
- Base URL: https://api.captapi.com
- URL: https://api.captapi.com/v1/linkedin/search-posts
- Auth: one of:
- HTTP bearer
- API key in header X-API-Key
Query parameters
Search query or keywords (min 2 characters).
relevance (default, search-engine rank — dates can span years) or date (found posts newest first).
Max items to return (default 20, max 50). Billed per result.
Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (numeric offset, e.g. 20). A null nextCursor means the end of the list (max 50 posts).
Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
Response
Success. The data object for this endpoint.
Changes
No recorded changes to this operation across all 3 revisions of this API.