LinkedIn company posts
Beta GET /v1/linkedin/company/posts
GET /v1/linkedin/company/posts
The latest public posts and reposts on a company page (up to 10): URL, id, date, full text, media, reactions and comment counts. LinkedIn shows signed-out visitors only this block; the posts tab and later pages need a login, so the cursor is always null.
- Cost: 1 credit
- Status: Beta. Built and tested against recorded responses; the shape may still gain fields.
- Cache: Results are kept up to 30 days; send
max_age_daysto reuse them for free. - Timeout: A request still running after about 25 seconds answers
202with a job to poll (Batch and jobs).
Parameters#
| Name | Type | Required | Description |
|---|---|---|---|
url | URL | yes | Company page URL (linkedin.com/company/<slug>). Accepted hosts: linkedin.com. |
Every request also accepts:
cursor: the cursor from the previous page (Pagination).trim:truefor a smaller response withoutnullfields andextra.raw:trueto also get the platform's original object asraw.max_age_days: accept a cached result up to this many days old, for 0 credits (Caching).
Example request#
Set your key in the environment first (see Authentication).
curl -G "https://api.socialscrape.io/v1/linkedin/company/posts" \
-H "x-api-key: $SOCIALSCRAPE_API_KEY" \
--data-urlencode "url=https://www.linkedin.com/company/microsoft"import os
import requests
params = {
"url": "https://www.linkedin.com/company/microsoft",
}
res = requests.get(
"https://api.socialscrape.io/v1/linkedin/company/posts",
headers={"x-api-key": os.environ["SOCIALSCRAPE_API_KEY"]},
params=params,
)
body = res.json()
if body["ok"]:
print(body["data"])
else:
print(body["error"]["code"], body["error"]["message"])const url = new URL("https://api.socialscrape.io/v1/linkedin/company/posts");
url.search = new URLSearchParams({
"url": "https://www.linkedin.com/company/microsoft"
}).toString();
const res = await fetch(url, {
headers: { "x-api-key": process.env.SOCIALSCRAPE_API_KEY! },
});
const body = await res.json();
if (body.ok) {
console.log(body.data);
} else {
console.error(body.error.code, body.error.message);
}{
"nodes": [
{
"name": "SocialScrape LinkedIn company posts",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
0,
0
],
"parameters": {
"method": "GET",
"url": "https://api.socialscrape.io/v1/linkedin/company/posts",
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "url",
"value": "https://www.linkedin.com/company/microsoft"
}
]
},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "x-api-key",
"value": "={{ $env.SOCIALSCRAPE_API_KEY }}"
}
]
}
}
}
],
"connections": {}
}Example response#
This is a sample from a recorded response, lists and long text are shortened. Status 200.
{
"ok": true,
"credits_charged": 1,
"credits_remaining": 4999,
"cached": false,
"cached_at": null,
"request_id": "req_c2a9549407c4fc6e60c04ea1",
"data": {
"object": "list",
"items": [
{
"object": "post",
"platform": "linkedin",
"id": "7521597347424915456",
"url": "https://www.linkedin.com/feed/update/urn:li:activity:7521597347424915456",
"type": "video",
"author": {
"id": null,
"handle": "bradsmi",
"name": "Brad Smith",
"url": "https://www.linkedin.com/in/bradsmi",
"avatar_url": "https://media.licdn.com/dms/image/v2/C5603AQGnYfaUI8S0zQ/profile-displayphoto-shrink_400_400/profile-displayphoto-shrink_400_400/0/1516342848914?e=2147483647&v=beta&t=DxjyeHtTGI0kYUGuFk6NQZ_rZcz6OSwLhr-g9AmpOcg",
"verified": null
},
"title": null,
"text": "We spend a lot of time talking about artificial intelligence. But we can’t lose sight of human intelligence and the judgment, perspective, and different ways of thinking that people bring. Mustafa Suleyman summed it up: \"People matter more...",
"published_at": "2026-10-29T15:42:32.147000Z",
"duration_seconds": null,
"language": null,
"hashtags": null,
"mentions": null,
"stats": {
"views": null,
"likes": 395,
"comments": 33,
"shares": null,
"saves": null,
"dislikes": null
},
"media": {
"thumbnail_url": "https://media.licdn.com/dms/image/v2/D4E05AQEmd6fHNU_gfQ/videocover-high/B4EaGHojEWK8BI-/0/1793276919237?e=2147483647&v=beta&t=qXlUNwsh3M_GrrUyAJgxp8CM1qx6mmEsAYgq52qEibM",
"video_url": "https://dms.licdn.com/playlist/vid/v2/D4E05AQEmd6fHNU_gfQ/mp4-720p-30fp-crf28/B4EaGHojEWK8B4-/0/1793276927596?e=2147483647&v=beta&t=PB1SnwLdbdFKo1tFsst9jEPPEKQV8LY9p7DvRZPEcgk",
"audio_url": null,
"image_urls": null,
"width": null,
"height": null
},
"song": null,
"location": null,
"is_pinned": null,
"is_sponsored": null,
"extra": {
"age_label": "11h",
"author_headline": "Vice Chair and President at Microsoft Corporation",
"captions_url": "https://dms.licdn.com/playlist/vid/v2/D4E05AQEmd6fHNU_gfQ/video-auto-caption-srt-acs-singleton/B4EaGHojEWK8D4-/0/1793276960559?e=2147483647&v=beta&t=y83f636Byxmhg_WwoVvBYnm5S9L1uhHwGIAjmwSOahY",
"published_at_source": "activity_id",
"reposted_by": "Microsoft",
"source": "logged_out_public_view",
"urn": "urn:li:activity:7521597347424915456",
"video_bitrate": 566412
}
},
{
"object": "post",
"platform": "linkedin",
"id": "7521355928982634496",
"url": "https://www.linkedin.com/posts/microsoft_msignite-activity-7521355928982634496-cbcv",
"type": "live",
"author": {
"id": null,
"handle": "microsoft",
"name": "Microsoft",
"url": "https://www.linkedin.com/company/microsoft",
"avatar_url": "https://media.licdn.com/dms/image/v2/D560BAQH32RJQCl3dDQ/company-logo_100_100/B56ZYQ0mrGGoAU-/0/1744038948046/microsoft_logo?e=2147483647&v=beta&t=rr_7_bFRKp6umQxIHErPOZHtR8dMPIYeTjlKFdotJBY",
"verified": null
},
"title": null,
"text": "Ready for what's next? Microsoft Chairman and CEO Satya Nadella will take the stage at Microsoft Ignite to share the latest innovations shaping what's possible. #MSIgnite",
"published_at": "2026-10-28T23:43:13.504000Z",
"duration_seconds": null,
"language": null,
"hashtags": [
"MSIgnite"
],
"mentions": null,
"stats": {
"views": null,
"likes": 270,
"comments": 10,
"shares": null,
"saves": null,
"dislikes": null
},
"media": {
"thumbnail_url": null,
"video_url": null,
"audio_url": null,
"image_urls": null,
"width": null,
"height": null
},
"song": null,
"location": null,
"is_pinned": null,
"is_sponsored": null,
"extra": {
"age_label": "1d",
"author_headline": "29,402,101 followers",
"edited": true,
"published_at_source": "page",
"source": "logged_out_public_view",
"urn": "urn:li:activity:7521355928982634496"
}
}
],
"cursor": null,
"has_more": false,
"parent": null
},
"cursor": null,
"has_more": false
}Response#
A list of Post objects in data.items, with data.cursor and data.has_more.
See Data models for every field. The envelope around data is described in Responses.
Errors#
Failures are free: credits_charged is 0. Branch on error.code, never on the message.
| Code | HTTP | Retry | Meaning |
|---|---|---|---|
invalid_params | 400 | no | A parameter is missing, unknown or has the wrong type. |
unsupported_url | 400 | no | The URL is not one this endpoint accepts (wrong platform or form). |
not_found | 404 | no | The platform says this profile, post or item does not exist. |
Every request can also fail with the account and platform errors listed on the Errors page.
Example error:
{
"ok": false,
"error": {
"code": "not_found",
"message": "The platform says this profile, post or item does not exist.",
"retryable": false
},
"credits_charged": 0,
"request_id": "req_e06f05af05bf63fb473dcfae"
}Related endpoints#
- LinkedIn Ad Library search (
GET /v1/linkedin/ad-library/search) - LinkedIn Ad Library ad details (
GET /v1/linkedin/ad-library/ad) - LinkedIn public person profile (
GET /v1/linkedin/profile) - LinkedIn company page (
GET /v1/linkedin/company) - LinkedIn public post (
GET /v1/linkedin/post) - LinkedIn post video transcript (
GET /v1/linkedin/post/transcript)