LinkedIn Post Scraper avatar

LinkedIn Post Scraper

Pricing

from $1.40 / 1,000 results

Go to Apify Store
LinkedIn Post Scraper

LinkedIn Post Scraper

Fetch full public LinkedIn post details — text, author, reactions, comments, and media — for one or more post, activity, or article URLs.

Pricing

from $1.40 / 1,000 results

Rating

0.0

(0)

Developer

The Netaji

The Netaji

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

13

Monthly active users

a day ago

Last modified

Share

The Actor resolves one or more public LinkedIn posts to structured records containing the post text, author, reaction counts and breakdown, comments, and any attached media. Post, activity, and article URLs are all accepted. No LinkedIn account or session cookie is required.

Accepted input

FieldTypeDefaultDescription
post_urlarray of stringsRequired. LinkedIn post, activity, or article URLs.
maxItemsinteger100Maximum posts fetched. 0 removes the limit.
{
"post_url": [
"https://www.linkedin.com/posts/williamhgates_activity-7445556013572734976-Ab1c",
"https://www.linkedin.com/feed/update/urn:li:activity:7445556013572734976/"
],
"maxItems": 100
}

URLs are trimmed and deduplicated before any request is issued, so the same post supplied twice is fetched and billed once.

Response fields

One record per post.

FieldContents
post_urlThe URL used to fetch the record
typeRecord type reported by the page, distinguishing posts from articles and video
nameTitle, where the content carries one
textPost body text
headlineHeadline text, on article-style content
descriptionDescription text, on article-style content
authorAuthor name, headline, and profile URL
published_atPublication timestamp
upload_dateUpload timestamp, on media content
durationDuration, on video content
reactionsTotal reaction count
reaction_typesReaction count broken down by type
comment_countNumber of comments
commentsComment records, where the page exposes them
shared_contentThe original post, when this one is a reshare
content_urlCanonical content URL
urlPost URL
embed_urlEmbeddable URL, on media content
video_urlsVideo URLs attached to the post
image_urlsImage URLs attached to the post
thumbnailThumbnail image URL
keywordsKeywords published in the page's structured data
jsonldThe page's raw JSON-LD block
{
"post_url": "https://www.linkedin.com/posts/williamhgates_activity-7445556013572734976-Ab1c",
"type": "SocialMediaPosting",
"text": "Three things I learned this year...",
"reactions": 18422,
"comment_count": 611,
"published_at": "2026-06-14T09:30:00.000Z"
}

Behaviour on partial results

Posts are fetched one request per URL. A URL that cannot be retrieved — because the post was deleted, the author restricted its visibility, or the request failed after the client's own retries — is logged as a warning and skipped. The run continues to the next URL and completes normally.

The number of records returned can therefore be lower than the number of URLs supplied, and the run log names every URL that was skipped.

comments reflects what the public page renders, which is a subset of the total for posts with large comment threads. comment_count reports the full number LinkedIn states, so the two are expected to disagree on popular posts: the count is authoritative, the array is a sample.

Frequently asked questions

Which post URL formats are accepted? The /posts/<slug> form shown on a member's profile, the /feed/update/urn:li:activity:<id> form the feed produces, and article URLs. Whichever form the browser address bar shows will work.

Why does comments hold fewer entries than comment_count? comment_count is the total LinkedIn reports for the post. comments contains those the public page renders without a logged-in session, which for a heavily commented post is a fraction of the total. Treat the count as the metric and the array as a sample rather than an export.

What does reaction_types contain that reactions does not? reactions is the single total. reaction_types splits it across LinkedIn's reaction set — like, celebrate, support, insightful, and so on — which distinguishes broad approval from a narrower, stronger response on posts with similar totals.

What is shared_content? When the fetched post is a reshare, the original post is nested under shared_content while the outer fields describe the reshare itself, including any comment the resharer added. The field is absent on original posts.

Is a LinkedIn account or session cookie required? No. Only publicly visible posts are read, and no credentials or logged-in session are supplied.

Are the members who reacted to a post returned? No. Reaction totals and their breakdown by type are returned, but not the identities behind them.

ActorPurpose
LinkedIn Profile ScraperAuthor profile details by username or URL
LinkedIn Company ScraperCompany page details, including recent updates
LinkedIn Related User ScraperProfiles LinkedIn shows alongside a seed profile
LinkedIn Jobs ScraperJob search by keyword and location