Search › Posts
Returns public LinkedIn posts and Pulse articles matching a keyword, with each result's text, author, media, like and comment counts, and date.
Use it for broad keyword monitoring; it reads public search results, so treat coverage as best effort rather than complete.
Metered: 10–480 credits. We reserve the ceiling when the call starts and charge what it actually used when it finishes.
Paginates by cursor: see Pagination.
Request
- Base URL: https://api.insightsocial.app
- URL: https://api.insightsocial.app/v1/linkedin/search/posts
- Auth: API key in header x-api-key
Query parameters
Keyword or phrase to search for. Optional when from_member or from_company is set: omit it to get that subject's posts unfiltered, and note that supplying a real content word narrows the results to posts matching it. Provide at least one of: query, from_member, from_company.
Filter to posts from one member, by their LinkedIn member urn — the bare ACoAA… value published as author.ext.urn by /v1/linkedin/profile. A profile URL, a public slug (williamhgates) or a urn:li:fsd_profile:-prefixed value is rejected. Pass this on its own, with no query, to walk one member's back catalogue. Provide at least one of: query, from_member, from_company.
Filter to posts from a company, by numeric LinkedIn company id (for example 1035). A company slug or URL is rejected; read the id from author.id on /v1/linkedin/company. Provide at least one of: query, from_member, from_company.
1-based page number of Google results. Defaults to 1.
Result ordering: relevance (default) or date_posted. On a subject-only call (from_member or from_company with no query) the results are ordered by date and relevance is rejected, because there is no query for them to be relevant to.
Date filter based on Google-indexed results. One of past_24h, past_week, past_month (underscores, not hyphens). Note the JOB lanes use past_24_hours for the same concept; the two vocabularies are not interchangeable.
Narrow to one kind of post.
Return up to this many posts in one call, 1 to 200. Requires query. Cannot be combined with page or cursor: the result always starts at the top and pagination.next_cursor is null. pagination.has_more says whether more posts were available when the call stopped, and walk.stopped says why it stopped (limit, exhausted, deadline or sources_unavailable).
Set to 1 to get the price of this call without making it: data.dry_run carries credits_min and credits_max. Nothing is charged.
Only rows published on or after this date: YYYY-MM-DD (midnight UTC) or an ISO 8601 timestamp. Rows older than it are left off each page. This list is not in date order, so the walk does not stop at the date: keep following next_cursor, and each page costs what a page costs even when every row on it is filtered out. A row with no date is kept.
Only rows published on or before this date: YYYY-MM-DD (that whole UTC day is included) or an ISO 8601 timestamp. Newer rows are left off each page and the walk does not stop, so older pages follow. A row with no date is kept.
The pagination.next_cursor from the previous page, sent back unchanged. Omit it for the first page.
Response
Success.
Changes
No recorded changes to this operation across all 1 revision of this API.