{
"items": [
{
"post_url": "https://www.linkedin.com/posts/example-person_sales-activity-7511035039397339136-8myb",
"post_id": "7511035039397339136",
"content": "Example post about sales automation.",
"posted_at": "2026-09-30T12:11:41.675Z",
"author": {
"type": "person",
"name": "Example Person",
"linkedin_url": "https://www.linkedin.com/in/example-person",
"headline": "Head of Sales at Example Company",
"picture_url": "https://www.example.org/images/example-person.png"
},
"likes": 4,
"comments": 1,
"shares": 0,
"image_urls": [
"https://www.example.org/images/example-post.png"
]
}
],
"pagination": {
"has_more": true,
"next_cursor": "eyJ2IjoxLCJyIjoiZXhhbXBsZSJ9",
"total": 178
},
"billing": {
"credits_consumed": 1
}
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Post search
Search LinkedIn posts by keywords, authors, companies, mentions, groups, content type, and date. Rate limit: 180 requests per fixed minute per workspace, counted separately for each LinkedIn content endpoint; pagination requests and retries count.
{
"items": [
{
"post_url": "https://www.linkedin.com/posts/example-person_sales-activity-7511035039397339136-8myb",
"post_id": "7511035039397339136",
"content": "Example post about sales automation.",
"posted_at": "2026-09-30T12:11:41.675Z",
"author": {
"type": "person",
"name": "Example Person",
"linkedin_url": "https://www.linkedin.com/in/example-person",
"headline": "Head of Sales at Example Company",
"picture_url": "https://www.example.org/images/example-person.png"
},
"likes": 4,
"comments": 1,
"shares": 0,
"image_urls": [
"https://www.example.org/images/example-post.png"
]
}
],
"pagination": {
"has_more": true,
"next_cursor": "eyJ2IjoxLCJyIjoiZXhhbXBsZSJ9",
"total": 178
},
"billing": {
"credits_consumed": 1
}
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Authentication
Send your Airscale workspace API key as a Bearer token. Both V1 and V2 workspace API keys are accepted.Filters
Providekeywords (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.
| Field | Matches |
|---|---|
keywords | Words in the post. |
author_keywords | Words in the authors’ profiles (up to 200 characters). |
author_profile_urls | Posts written by these profiles (linkedin.com/in/...). |
author_company_urls | Posts published by these company pages (URL or numeric ID). |
author_employer_company_urls | Posts whose authors work at these companies (URL or numeric ID). |
author_industry_ids | Authors’ company industry, as numeric LinkedIn industry IDs. |
mentioning_profile_urls | Posts that mention these profiles. |
mentioning_company_urls | Posts that mention these companies (URL or numeric ID). |
group_url | Posts inside one LinkedIn group (linkedin.com/groups/... or numeric ID). |
content_type | videos, images, live_videos, documents, collaborative_articles, or jobs. |
sort_by | date (default) or relevance. |
posted_within | 24h, week, or month, filtered by LinkedIn; or 1h, 3months, 6months, or year, which require sort_by: "date". |
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 HTTP429 and are not charged. When LinkedIn content capacity is busy for all workspaces, the response is a free 503 with Retry-After: 5.
Pagination
Omitcursor 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:| Response | Next action |
|---|---|
400 Bad Request | Correct the body or cursor. The message field names the problem. |
403 Forbidden | Add credits to the workspace before retrying. |
413 Payload Too Large | Keep the JSON body under 16 KiB. |
429 Too Many Requests | Wait for the next minute boundary, then retry with bounded exponential backoff. |
502 Bad Gateway or 504 Gateway Timeout | Retry with increasing delays and a fixed retry limit. |
503 Service Unavailable | Wait for Retry-After when present, then retry with bounded backoff. |
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
Use an Airscale workspace API key. Never expose the key in client-side code.
Body
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.
Words to search for in posts.
200Words in the authors' profiles.
200Posts written by these LinkedIn profiles (linkedin.com/in/...). A string or an array of up to 10 values.
1Posts published by these company pages, as LinkedIn company URLs or numeric company IDs. A string or an array of up to 10 values.
1Posts whose authors work at these companies, as LinkedIn company URLs or numeric company IDs. A string or an array of up to 10 values.
1Authors' company industry, as numeric LinkedIn industry IDs. A value or an array of up to 10 values.
Posts that mention these LinkedIn profiles. A string or an array of up to 10 values.
1Posts that mention these companies, as LinkedIn company URLs or numeric company IDs. A string or an array of up to 10 values.
1Posts inside one LinkedIn group, as a group URL (linkedin.com/groups/...) or numeric group ID.
videos, images, live_videos, documents, collaborative_articles, jobs, null date, relevance, 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.
1h, 24h, week, month, 3months, 6months, year, null The opaque pagination.next_cursor from the previous page. Send it unchanged with the same filters as the first page.
1 - 2048