Skip to main content
POST
Search LinkedIn posts and retrieve one synchronous page of up to 50 posts, each with its author, content, publication date, engagement counts, and image URLs. Rows are returned as found on LinkedIn, without profile enrichment.
Each successful request costs 1 credit, whatever the number of posts returned. A successful empty page is also charged. Invalid input and failed requests are not charged. The workspace needs at least 1 credit to start a request.

Authentication

Send your Airscale workspace API key as a Bearer token. Both V1 and V2 workspace API keys are accepted.

Filters

Provide keywords (up to 200 characters) or at least one author, mention, or group filter. All filters you send combine, so a post must match every one of them. List filters accept a string or an array of up to 10 values. Unknown fields are rejected with 400. With posted_within set to 1h, 3months, 6months, or year, the period is applied to each fetched page, so a page can hold fewer than 50 posts. LinkedIn search can return fewer posts per author than that author’s full feed.

Rate limit

The limit is 180 requests per minute per workspace for Post search, including requests made with different API keys for the same workspace. Profile comments and Comment likers each have their own separate 180-request allowance. Pagination requests and retries count toward the limit. The counter uses a fixed minute window and resets at the next minute boundary. Requests above the limit receive HTTP 429 and are not charged. When LinkedIn content capacity is busy for all workspaces, the response is a free 503 with Retry-After: 5.

Pagination

Omit cursor on the first request. When pagination.next_cursor is not null, send it unchanged together with the same filters to fetch the next page. A cursor sent with different filters, or to another endpoint, returns 400. pagination.total is the number of matching posts reported by LinkedIn, or null when unavailable.

Retries

This endpoint does not accept an idempotency key. Retrying a request fetches the page again and is charged again. Retry only responses that were not charged:

Next step

Use Profile comments to see what a post author comments on, or Post likers to retrieve enriched people who liked a post.

Authorizations

Authorization
string
header
required

Use an Airscale workspace API key. Never expose the key in client-side code.

Body

application/json

Search filters and an optional cursor. The JSON body must not exceed 16 KiB.

Provide keywords or at least one author, mention, or group filter. All provided filters combine.

keywords
string | null

Words to search for in posts.

Maximum string length: 200
author_keywords
string | null

Words in the authors' profiles.

Maximum string length: 200
author_profile_urls

Posts written by these LinkedIn profiles (linkedin.com/in/...). A string or an array of up to 10 values.

Minimum string length: 1
author_company_urls

Posts published by these company pages, as LinkedIn company URLs or numeric company IDs. A string or an array of up to 10 values.

Minimum string length: 1
author_employer_company_urls

Posts whose authors work at these companies, as LinkedIn company URLs or numeric company IDs. A string or an array of up to 10 values.

Minimum string length: 1
author_industry_ids

Authors' company industry, as numeric LinkedIn industry IDs. A value or an array of up to 10 values.

mentioning_profile_urls

Posts that mention these LinkedIn profiles. A string or an array of up to 10 values.

Minimum string length: 1
mentioning_company_urls

Posts that mention these companies, as LinkedIn company URLs or numeric company IDs. A string or an array of up to 10 values.

Minimum string length: 1
group_url

Posts inside one LinkedIn group, as a group URL (linkedin.com/groups/...) or numeric group ID.

content_type
enum<string> | null
Available options:
videos,
images,
live_videos,
documents,
collaborative_articles,
jobs,
null
sort_by
enum<string> | null
default:date
Available options:
date,
relevance,
null
posted_within
enum<string> | null

24h, week, and month are filtered by LinkedIn. 1h, 3months, 6months, and year are applied to each fetched page, so pages can hold fewer than 50 posts; they require sort_by date.

Available options:
1h,
24h,
week,
month,
3months,
6months,
year,
null
cursor
string | null

The opaque pagination.next_cursor from the previous page. Send it unchanged with the same filters as the first page.

Required string length: 1 - 2048

Response

A page of LinkedIn posts.

items
object[]
required

Posts matching the filters.

pagination
object
required
billing
object
required