A LinkedIn post data API for exact public URLs.
Curly accepts public LinkedIn /posts/ URLs from people or companies and returns one dataset item per accessible post.
It rejects profile pages, company pages, search pages, and /feed/update/ URLs because those are different surfaces and intents.
Know which public post and comment fields can be returned.
Fields reflect the public post-detail response at run time. Missing data remains null or empty rather than being inferred.
| Fields | Purpose | Availability |
|---|---|---|
post_id, post_urn, attributed_urn, post_url | Stable post identity and canonical source | Successful results |
headline, text, published_at | Post content and exact publication time | When public |
author | Person or company type, name, URL, image, and followers | When public |
content_type, media, article | Document, image, video, or linked-article content | When attached |
hashtags, mentions, external_urls | Structured entities and outbound links | When present |
reaction_count, comment_count, repost_count | Public engagement counters | When exposed |
comments_returned, comments_truncated | Returned batch size and completeness signal | Successful results |
comments | First public comments with author, text, time, and reactions | When LinkedIn exposes comments publicly |
Plan the integration with a complete post response.
This representative result shows the nested author, media, engagement, and public-comment structures used by the dataset.
[
{
"post_id": "7487581078262681600",
"post_urn": "urn:li:activity:7487581078262681600",
"attributed_urn": "urn:li:ugcPost:7487581077159677953",
"post_url": "https://www.linkedin.com/posts/openai_example-activity-7487581078262681600-example",
"author": {
"type": "company",
"name": "OpenAI",
"url": "https://www.linkedin.com/company/openai",
"image_url": "https://media.licdn.com/example-company-logo.png",
"follower_count": 11360000
},
"headline": "An example public company post.",
"text": "Example public post text...",
"published_at": "2026-07-27T18:54:01.561Z",
"content_type": "document",
"is_repost": false,
"original_author": null,
"media": [{
"type": "document",
"url": "https://media.licdn.com/example-document-manifest.json",
"thumbnail_url": "https://media.licdn.com/example-cover.png",
"title": "Example document",
"alt_text": "Accessible document"
}],
"article": null,
"hashtags": [],
"mentions": [],
"external_urls": [],
"reaction_count": 280,
"comment_count": 55,
"repost_count": null,
"comments_returned": 10,
"comments_truncated": true,
"comments": [{
"comment_id": "7487618419475759104",
"author": {
"type": "person",
"name": "Example Commenter",
"url": "https://www.linkedin.com/in/example-commenter"
},
"text": "Example public comment.",
"published_at": "2026-07-27T21:22:24.427Z",
"relative_time": "2h",
"reaction_count": 7
}],
"scraped_at": "2026-07-28T12:00:00.000Z",
"source": "linkedin_post"
}
]Post scraper API versus publishing and discovery APIs.
The broad LinkedIn Post API usually means creating or managing posts through an official integration. Curly instead extracts public data from post URLs you already know.
| Option | Starting input | Access | Best for |
|---|---|---|---|
| Official LinkedIn Posts API | Authorized authors and post payloads | Restricted LinkedIn product access | Creating and managing posts |
| Curly Post Scraper API | Known public /posts/ URLs | Apify API token | Extracting post detail and first public comments |
| Curly Company Posts API | Known company pages | Separate Curly endpoint | Collecting multiple posts by company |
| Curly Top Content API | Topics | Separate Curly endpoint | Discovering ranked public posts by topic |
Route exact post records into downstream workflows.
Use the post ID or canonical URL as a stable key, then schedule runs, receive webhooks, or export datasets through Apify.
- Review the Post Scraper Actor on Apify
Create a token, test post URLs, and connect the dataset to your stack.
- Need topic-based post examples instead?
Use the free post examples tool to research public content by topic before choosing exact URLs.