LinkedIn Profile Posts Scraper avatar

LinkedIn Profile Posts Scraper

Pricing

from $1.00 / 1,000 post scrapeds

Go to Apify Store
LinkedIn Profile Posts Scraper

LinkedIn Profile Posts Scraper

Scrape LinkedIn profile posts with automatic pagination. No cookies needed. Get rich post data including engagement metrics, content categories, hashtags, mentioned companies/profiles, and computed fields not available in other actors.

Pricing

from $1.00 / 1,000 post scrapeds

Rating

5.0

(1)

Developer

Capable Cauldron

Capable Cauldron

Maintained by Community

Actor stats

1

Bookmarked

9

Total users

7

Monthly active users

4 days ago

Last modified

Share

LinkedIn Profile Posts Scraper [No Cookies]

Scrape LinkedIn posts data for any profile โ€” including post content, full engagement metrics, media attachments, mentioned entities, and computed enrichment fields not available in other actors.

๐Ÿ’ฐ Pricing

$3.00 / 1,000 results

This Actor uses Pay-Per-Event pricing. You only pay for what you get:

EventPrice
Post scraped$0.003
Profile processed$0.01

Scraping 100 posts from 1 profile costs $0.31. The maxDatasetItems parameter provides a hard cost ceiling.

โœจ Key Features

  • No account needed โ€” No cookies, no login, no risk to your LinkedIn account
  • Automatic pagination โ€” Set how many posts you want, the actor handles the rest
  • 55 enriched fields per post โ€” More data than any other LinkedIn posts actor:
    • Total engagement pre-calculated (reactions + comments + reposts)
    • Content category classified automatically (text, image, video, article, document, carousel, poll)
    • Hashtags extracted and counted
    • Mentioned companies and profiles as structured objects
    • Individual reaction breakdowns (like, love, celebrate, support, insight, funny, curious)
    • ISO-8601 dates derived from timestamps for clean sorting
    • Word and character counts for content analysis
  • Multiple profiles per run โ€” Scrape one or hundreds of profiles in a single run
  • Cost control โ€” Hard cap on dataset items to prevent runaway costs

๐Ÿ“– Simple Usage

Simply provide one or more LinkedIn profile usernames or URLs. The username is the last part of a LinkedIn profile URL (e.g., satyanadella from linkedin.com/in/satyanadella).

Set maxPostsPerProfile to control how many posts you want per profile. The actor automatically paginates โ€” no manual token handling needed.

๐Ÿ“Š Output Structure

Each post in the dataset contains 55 fields:

{
"activity_urn": "7470793400858984449",
"share_urn": "7470793399273537536",
"full_urn": "urn:li:activity:7470793400858984449",
"post_url": "https://www.linkedin.com/posts/adamselipsky_achieving-success-with-ai-the-official",
"post_type": "repost",
"is_repost": true,
"text": "My conversations with customers today are less about whether to adopt AI...",
"content_category": "article",
"word_count": 157,
"char_count": 990,
"hashtags": ["AI", "CloudComputing"],
"hashtag_count": 2,
"media_type": "image",
"media_url": "https://media.licdn.com/dms/image/...",
"media_thumbnail": "https://media.licdn.com/dms/image/...",
"has_article": true,
"article_url": "https://blogs.microsoft.com/blog/2026/06/16/achieving-success-with-ai/",
"article_title": "Achieving success with AI - The Official Microsoft Blog",
"article_subtitle": "blogs.microsoft.com",
"has_document": false,
"document_title": "",
"document_page_count": null,
"author_name": "Adam Selipsky",
"author_headline": "CEO of Helix Digital Infrastructure. Former CEO at Amazon Web Services.",
"author_username": "adamselipsky",
"author_profile_url": "https://www.linkedin.com/in/adamselipsky",
"author_profile_picture": "https://media.licdn.com/dms/image/...",
"total_reactions": 2173,
"reaction_like": 1882,
"reaction_love": 44,
"reaction_celebrate": 204,
"reaction_support": 12,
"reaction_insight": 30,
"reaction_funny": 1,
"reaction_curious": 0,
"num_comments": 187,
"num_reposts": 55,
"total_engagement": 2415,
"mentioned_companies": [
{
"name": "Amazon Web Services (AWS)",
"urn": "https://www.linkedin.com/company/amazon-web-services/"
}
],
"mentioned_profiles": [],
"posted_date": "2026-06-11 11:05:47",
"posted_relative": "1w",
"posted_timestamp": 1781175947394,
"posted_date_iso": "2026-06-11T11:05:47.394000+00:00",
"profile_username": "adamselipsky",
"scraped_at": "2026-06-17T15:30:00.000000+00:00"
}

Dataset Views

Three pre-built views for quick analysis in the Apify Console:

  • Overview โ€” Profile, author, date, text, category, URL
  • Engagement Metrics โ€” All reaction types, comments, reposts, totals
  • Content Analysis โ€” Category, word count, hashtags, mentions, media type

๐Ÿ”ง Input

FieldTypeRequiredDefaultDescription
usernamesArrayYesโ€”LinkedIn usernames, member IDs, or profile URLs (e.g., ["satyanadella", "williamhgates"])
maxPostsPerProfileIntegerNo100Max posts to scrape per profile (1โ€“2,000)
maxDatasetItemsIntegerNo10,000Hard cap on total dataset items across all profiles
maxRetriesIntegerNo3Retry attempts for failed requests

Input example

{
"usernames": ["satyanadella", "williamhgates"],
"maxPostsPerProfile": 100,
"maxDatasetItems": 10000
}

๐Ÿ”Œ API

You can run this Actor programmatically using the Apify API.

JavaScript

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_API_TOKEN>" });
const run = await client.actor("YOUR_ACTOR_ID").call({
usernames: ["satyanadella"],
maxPostsPerProfile: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("YOUR_ACTOR_ID").call(run_input={
"usernames": ["satyanadella"],
"maxPostsPerProfile": 100
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

CLI

$echo '{"usernames": ["satyanadella"], "maxPostsPerProfile": 100}' | apify call YOUR_ACTOR_ID --silent --output-dataset

Note: This Actor is an independent tool for extracting publicly available social media post data. It is not affiliated with or endorsed by any social media platform.