{
"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,
"feed_context": null,
"image_urls": [
"https://www.example.org/images/example-post.png"
]
},
{
"post_url": "https://www.linkedin.com/posts/example-company_launch-activity-7511035039397339137-abcd",
"post_id": "7511035039397339137",
"content": "Launch day",
"posted_at": "2026-09-30T11:00:00.000Z",
"author": {
"type": "company",
"name": "Example Company",
"linkedin_url": "https://www.linkedin.com/company/example-company",
"headline": "1,117 followers",
"picture_url": "https://www.example.org/images/example-company.png"
},
"likes": 0,
"comments": 0,
"shares": 0,
"feed_context": "Example Person reposted this",
"image_urls": []
}
],
"pagination": {
"has_more": true,
"next_cursor": "eyJ2IjoxLCJyIjoiZXhhbXBsZSJ9",
"total": null
},
"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>"
}Profile posts
Retrieve a LinkedIn profile’s feed, newest first, including the person’s posts and reposts. 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,
"feed_context": null,
"image_urls": [
"https://www.example.org/images/example-post.png"
]
},
{
"post_url": "https://www.linkedin.com/posts/example-company_launch-activity-7511035039397339137-abcd",
"post_id": "7511035039397339137",
"content": "Launch day",
"posted_at": "2026-09-30T11:00:00.000Z",
"author": {
"type": "company",
"name": "Example Company",
"linkedin_url": "https://www.linkedin.com/company/example-company",
"headline": "1,117 followers",
"picture_url": "https://www.example.org/images/example-company.png"
},
"likes": 0,
"comments": 0,
"shares": 0,
"feed_context": "Example Person reposted this",
"image_urls": []
}
],
"pagination": {
"has_more": true,
"next_cursor": "eyJ2IjoxLCJyIjoiZXhhbXBsZSJ9",
"total": null
},
"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.Request fields
Sendprofile_url as a LinkedIn profile URL (linkedin.com/in/...). Optionally set posted_within to 1h, 24h, week, month, 3months, 6months, or year to return only recent posts. Unknown fields are rejected with 400.
The period is applied to each fetched page, so a page can hold fewer than 50 posts. Pagination stops at the first page with no post inside the period.
Rows use the same post fields as Post search. A repost keeps the original post’s author; feed_context then holds LinkedIn’s feed label, such as "Example Person reposted this". It is null for a plain post by the profile.
Rate limit
The limit is 180 requests per minute per workspace for Profile posts, including requests made with different API keys for the same workspace. Company posts, Post search, 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 profile_url and posted_within to fetch the next page. A cursor sent with different fields, or to another endpoint, returns 400.
pagination.total is always null for this endpoint because no reliable total is reported. Use has_more and next_cursor to decide whether to continue.
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 the same profile comments on, or Post likers to retrieve enriched people who liked one of the returned posts.Authorizations
Use an Airscale workspace API key. Never expose the key in client-side code.
Body
A LinkedIn profile URL, an optional period, and an optional cursor. The JSON body must not exceed 16 KiB.
LinkedIn profile URL (linkedin.com/in/...).
1 - 2048Only return posts from this period. The period is applied to each fetched page, so pages can hold fewer than 50 posts, and pagination stops at the first page with no post inside the period.
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