# LinkedIn Post Details Scraper: Text, Author, Stats, No Login (`themineworks/linkedin-post-details-scraper`) Actor

Paste LinkedIn post or article links and get one row per post: full text, author name, headline, profile link and followers, exact date, reactions, comments and reposts, hashtags, mentions, links, images, video, documents, repost original and full article text. No login.

- **URL**: https://apify.com/themineworks/linkedin-post-details-scraper.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** Lead generation, Social media, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.10 / 1,000 posts

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## LinkedIn Post Details Scraper: Text, Author, Stats, No Login

[![107 LinkedIn posts with full text, author, followers, reactions and media in 147 seconds](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/linkedin-post-details-scraper-hero.png)](https://console.apify.com/actors/AgaWvg14R3I4iVfcl/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

From **The Mine Works**, makers of [LinkedIn Post Comments Scraper](https://apify.com/themineworks/linkedin-post-comments-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) and [LinkedIn Company Posts Scraper](https://apify.com/themineworks/linkedin-company-posts-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), with over 245,000 runs across 280+ public actors.

Updated 28 Oct 2026: first release. Post links, feed links, urns, bare activity ids and /pulse/ article links in; one flat row per post out with the full text, hashtags, mentions, links, images, video, documents, exact publish time, reactions, comments, reposts when LinkedIn shows them, the author's name, headline, profile link and followers, the original post of a repost and the full text of an article. Optional first public comments. Bookmark this Actor on its Store page so it is one click away next time.

### Why choose this actor?

- **Built for the step after a post search.** Paste the links a search, a CRM or an AI agent found, and get one row back for every one of them: the post, or a free error row that says it is private or deleted. One link per run from Clay or n8n works the same as a batch of 5,000.
- **The whole post in columns.** Full text with line breaks, `hashtags`, `mentions` (name, link, person or company), outside `links`, `image_urls`, `video_url` with its length, `document_title` and page count, the shared link card, and `posted_at` exact to the millisecond. For a repost, the original author and text; for a /pulse/ article, its title, cover image and full text. In our test of 107 public posts, author followers were filled on 97%, text on 98%, the publish time on 100%, and the headline on 70% of posts by people.
- **Pay per post, nothing for dead links.** Private, deleted and mistyped posts come back as an error row with the reason and are never charged. No LinkedIn account, cookies or API key.

[![Run it on Apify](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/button-run.png)](https://console.apify.com/actors/AgaWvg14R3I4iVfcl/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Part of The Mine Works LinkedIn family:** [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [LinkedIn Post Scraper](https://apify.com/themineworks/linkedin-post-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [LinkedIn Profile Scraper](https://apify.com/themineworks/linkedin-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [LinkedIn Email Finder](https://apify.com/themineworks/linkedin-email-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [LinkedIn Newsletter Scraper](https://apify.com/themineworks/linkedin-newsletter-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral).

### Try it in one minute

Paste this into the input (JSON view) and press Start. It returns a Stripe video post and a Microsoft article, two rows, in about 4 seconds:

```json
{
  "postUrls": [
    "https://www.linkedin.com/posts/stripe_move-money-with-agents-using-stripe-treasury-activity-7518744569480671232-xbm3",
    "https://www.linkedin.com/pulse/october-2026-new-copilot-microsoft-hlwpe"
  ]
}
```

Put one link per line. Any LinkedIn post link works: "Copy link to post" from the post's three dots menu, a `/feed/update/urn:li:activity:...` link, an urn, or the activity number on its own.

Apify's free plan includes $5 of credit every month, which covers about 2,700 posts at this actor's price.

#### Copy to your AI assistant

```text
themineworks/linkedin-post-details-scraper on Apify. Takes LinkedIn post links and returns one row per post with the full text, hashtags, mentions, outside links, images, video, documents, link card, exact publish time, reactions, comments, reposts (when LinkedIn shows them), the author's name, headline, profile or company link, type and follower count, the original post of a repost, and for /pulse/ articles the title, cover image and full text, with no login. Call ApifyClient("TOKEN").actor("themineworks/linkedin-post-details-scraper").call(run_input={"postUrls": ["https://www.linkedin.com/posts/stripe_move-money-with-agents-using-stripe-treasury-activity-7518744569480671232-xbm3"]}), then client.dataset(run["defaultDatasetId"]).list_items().items. Inputs: postUrls (post links such as https://www.linkedin.com/posts/<name>_<words>-activity-<number>-<code>, feed links https://www.linkedin.com/feed/update/urn:li:activity:<number> or ugcPost or share, article links https://www.linkedin.com/pulse/<slug>, urns, or bare activity numbers; up to 5000). Optional: includeComments (default false; adds a comments array with the first public comments, up to 10), maxCommentsPerPost (1 to 10, default 10), includeAuthorHeadline (default true; one small extra request per person post for the headline and photo). Post rows have no _type field and carry post_id, post_urn, share_urn, post_type (post, repost, quote_repost, article), post_url, share_url, input, text, text_length, hashtags, mentions (name, url, type), links, media_type (image, video, document, link, none), image_urls, video_url, video_thumbnail_url, video_duration_seconds, document_title, document_pages, document_cover_url, document_manifest_url, link_preview_url, link_preview_title, link_preview_subtitle, link_preview_image_url, posted_at, posted_date_source (page or decoded_from_id), posted_ago, is_edited, reactions_count, comments_count, reposts_count, reactions_by_type, author_name, author_headline, author_url, author_type (person or company), author_followers, author_image_url, is_repost, original_post_url, original_post_id, original_author_name, original_author_url, original_post_text, original_posted_at, article_title, article_subtitle, article_cover_image_url, article_text, article_word_count, comments (comment_id, text, author_name, author_url, author_headline, posted_at, reaction_count, position), page_layout, scraped_at. Empty fields are left out of the row. Each run also writes one row with _type "summary", one with _type "info" when posts were delivered, and a row with _type "error" for each input that could not be read (error_type unavailable, not_found, invalid_url, blocked or fetch_error); none of these is charged. Full spec: GET https://api.apify.com/v2/acts/themineworks~linkedin-post-details-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral
```

### Key features

- **Every link form.** `/posts/` share links, `/feed/update/` links for activity, ugcPost and share urns, links from other LinkedIn country hosts (uk., in., de.), bare urns and activity numbers, and `/pulse/` article links. The same post given twice, in two forms, is delivered and charged once.
- **Exact dates.** `posted_at` comes from the page to the millisecond. When the page does not carry it, it is decoded from the activity id, which holds the creation time, so every post gets a date.
- **Author details.** Name, profile or company link, `author_type` (person or company) and `author_followers` on almost every row. People's headline and photo come from the post's small embed page, because the main post page leaves them out for most people.
- **Reposts handled.** `post_type` tells a plain repost from a repost with the reposter's own words (`quote_repost`), and `original_author_name`, `original_author_url`, `original_post_text` and `original_posted_at` carry the post that was shared.
- **Articles read in full.** A `/pulse/` link returns the article title, subtitle, cover image, full text with its paragraphs, word count, inline images, links and author.
- **First comments if you want them.** With `includeComments` on, each row carries the first comments LinkedIn shows a logged-out visitor (up to 10, ranked most relevant) with text, author, author link, time and reaction count, at no extra request and no extra charge.
- **Stops cleanly.** Eight unreadable posts in a row, or twenty dead links in a row, end the run; the run stops before its time limit and keeps every row. The summary row has the fill rate of every main field.

### How to use it

#### Basic: details for a list of posts

```json
{
  "postUrls": [
    "https://www.linkedin.com/posts/hubspot_which-ai-model-is-best-for-the-task-not-activity-7520543826436980736-pOZX",
    "https://www.linkedin.com/feed/update/urn:li:activity:7518744569480671232",
    "7520878131965091840"
  ]
}
```

#### With the first comments

```json
{
  "postUrls": ["https://www.linkedin.com/feed/update/urn:li:activity:7518744569480671232"],
  "includeComments": true,
  "maxCommentsPerPost": 5
}
```

#### One post at a time from Clay, n8n or an AI agent

```json
{
  "postUrls": ["https://www.linkedin.com/posts/stripe_move-money-with-agents-using-stripe-treasury-activity-7518744569480671232-xbm3"],
  "includeAuthorHeadline": false
}
```

One row back in about 4 seconds in our test. The run starts no extra request, so a single record costs one page (about 190 KB).

#### LinkedIn articles

```json
{
  "postUrls": ["https://www.linkedin.com/pulse/october-2026-new-copilot-microsoft-hlwpe"]
}
```

### Input parameters

| Parameter | Type | Default | What it does |
|---|---|---|---|
| `postUrls` | array of strings | required | Post links, feed links, article links, urns or activity numbers, one per line. Up to 5,000 per run. |
| `includeAuthorHeadline` | boolean | `true` | Read a person author's headline and photo from the post's embed page when the post page leaves them out. |
| `includeComments` | boolean | `false` | Add the first public comments (up to 10) to each row. |
| `maxCommentsPerPost` | integer | `10` | With `includeComments`: 1 to 10. |

### What data do you get?

One row per post. Post rows have no `_type` field; the summary, info and error rows do, so a filter on `_type` separates them. Empty fields are left out of the row.

| Field | What it is |
|---|---|
| `post_id`, `post_urn`, `share_urn` | Activity id and urns; for an article its id and `urn:li:linkedInArticle:<id>` |
| `post_type` | `post`, `repost`, `quote_repost` or `article` |
| `post_url`, `share_url`, `input` | Canonical link, LinkedIn's `/posts/` link, and what you gave |
| `text`, `text_length` | Full text with line breaks |
| `hashtags`, `mentions`, `links` | Hashtags without #, tagged people and companies (name, url, type), outside links |
| `media_type` | `image`, `video`, `document`, `link` or `none` |
| `image_urls` | Attached images, full size |
| `video_url`, `video_thumbnail_url`, `video_duration_seconds` | Native video: best MP4, cover, length |
| `document_title`, `document_pages`, `document_cover_url`, `document_manifest_url` | Attached PDF or carousel |
| `link_preview_url`, `link_preview_title`, `link_preview_subtitle`, `link_preview_image_url` | The shared link card |
| `posted_at`, `posted_date_source`, `posted_ago`, `is_edited` | Publish time (ISO 8601 UTC), where it came from, LinkedIn's relative label, edited mark |
| `reactions_count`, `comments_count` | Totals |
| `reposts_count`, `reactions_by_type` | Reposts and reactions by type, when LinkedIn shows them (see FAQ) |
| `author_name`, `author_headline`, `author_url`, `author_type`, `author_followers`, `author_image_url` | The author |
| `is_repost`, `original_post_url`, `original_post_id`, `original_author_name`, `original_author_url`, `original_post_text`, `original_posted_at` | The post that was reposted |
| `article_title`, `article_subtitle`, `article_cover_image_url`, `article_text`, `article_word_count` | For /pulse/ articles |
| `comments` | With `includeComments`: `comment_id`, `text`, `author_name`, `author_url`, `author_headline`, `posted_at`, `reaction_count`, `position` |
| `page_layout`, `scraped_at` | Which LinkedIn page the row was read from, and when |

#### Stable fields for automations

Present in every post row of our test runs (107 public posts from 56 people and 51 companies, plus 15 articles among them), and their names will not change:

| Field | What it is |
|---|---|
| `post_id` | The key to store and join on |
| `post_url` | Canonical link |
| `post_type` | post, repost, quote_repost or article |
| `author_name`, `author_url`, `author_type` | Who posted it |
| `posted_at` | When |
| `reactions_count`, `comments_count` | Engagement |
| `media_type` | What is attached |

Optional, present only when the post has it: `text` (98% of test rows; a repost with no words of its own has none), `author_followers` (97%), `author_headline` (70% of posts by people), `links` (53%), `image_urls` (43%), `hashtags` (40%), `mentions` (31%), `video_url` (25%), `document_title` (12%), `link_preview_url` (8%), `reposts_count` (5%, see FAQ), the repost fields (every repost) and the article fields (every article).

#### Output examples

A company video post (comments shortened):

```json
{
  "post_id": "7518744569480671232",
  "post_urn": "urn:li:activity:7518744569480671232",
  "share_urn": "urn:li:ugcPost:7518744516925763585",
  "post_type": "post",
  "post_url": "https://www.linkedin.com/feed/update/urn:li:activity:7518744569480671232",
  "share_url": "https://www.linkedin.com/posts/stripe_move-money-with-agents-using-stripe-treasury-activity-7518744569480671232-xbm3",
  "text": "Move money with agents using Stripe Treasury.\n\nCustomize permissions for your agent and pay invoices, transfer funds, and convert currencies.\n\nGet started: https://lnkd.in/em9rQa-D.",
  "links": ["https://lnkd.in/em9rQa-D"],
  "media_type": "video",
  "video_url": "https://dms.licdn.com/playlist/vid/v2/D4E05AQG97ENxlXHRnQ/mp4-720p-30fp-crf28/...",
  "video_duration_seconds": 27,
  "posted_at": "2026-10-21T18:46:36.881Z",
  "posted_date_source": "page",
  "posted_ago": "5d",
  "is_edited": true,
  "reactions_count": 249,
  "comments_count": 27,
  "author_name": "Stripe",
  "author_url": "https://www.linkedin.com/company/stripe",
  "author_type": "company",
  "author_followers": 1791007,
  "is_repost": false,
  "page_layout": "classic"
}
```

A person's repost with their own words, and the original post:

```json
{
  "post_id": "7272993007807643648",
  "post_type": "quote_repost",
  "post_url": "https://www.linkedin.com/feed/update/urn:li:activity:7272993007807643648",
  "text": "Just back from those inspiring moments where the Schneider Electric Cybersecurity team attended the Forrester Security & Risk Summit in Baltimore ...",
  "hashtags": ["cybesecurity", "SEgreatpeople", "impactmakers"],
  "mentions": [{ "name": "Stephanie Balaouras", "url": "https://www.linkedin.com/in/sbalaouras", "type": "person" }],
  "media_type": "image",
  "posted_at": "2024-12-12T15:17:38Z",
  "posted_date_source": "decoded_from_id",
  "reactions_count": 175,
  "comments_count": 18,
  "author_name": "Mansur ABILKASIMOV",
  "author_headline": "Chief Security & Safety officer @Schneider Electric",
  "author_url": "https://www.linkedin.com/in/mabilkasimov",
  "author_type": "person",
  "author_followers": 4776,
  "is_repost": true,
  "original_author_name": "Schneider Electric",
  "original_author_url": "https://www.linkedin.com/company/schneider-electric",
  "original_post_text": "This week, the Schneider Electric Cybersecurity team attended the Forrester Security & Risk Summit in Baltimore ...",
  "original_posted_at": "2024-12-12T14:30:14Z"
}
```

A post where LinkedIn also showed the repost count and the reaction breakdown (mentions shortened):

```json
{
  "post_id": "7213610748608983044",
  "post_type": "post",
  "text": "Today, we are excited to announce IBM's acquisition of StreamSets Inc., a real-time data integration company ...",
  "mentions": [{ "name": "IBM", "url": "https://www.linkedin.com/company/ibm", "type": "company" }],
  "links": ["https://lnkd.in/efci655D", "https://lnkd.in/epJ_9JT3"],
  "media_type": "video",
  "posted_at": "2024-07-01T18:33:44.842Z",
  "reactions_count": 258,
  "comments_count": 9,
  "reposts_count": 28,
  "reactions_by_type": { "like": 211, "praise": 41, "empathy": 4, "interest": 1, "appreciation": 1, "entertainment": 0 },
  "author_name": "Scott Brokaw",
  "author_headline": "VP Product, Data Integration at IBM",
  "author_type": "person",
  "author_followers": 2090,
  "page_layout": "classic+newer"
}
```

An article:

```json
{
  "post_id": "7518755061892669440",
  "post_urn": "urn:li:linkedInArticle:7518755061892669440",
  "post_type": "article",
  "post_url": "https://www.linkedin.com/pulse/october-2026-new-copilot-microsoft-hlwpe",
  "article_title": "October 2026: The new Copilot",
  "article_cover_image_url": "https://media.licdn.com/dms/image/v2/D4E12AQGTnc8XhCxT-A/article-cover_image-shrink_720_1280/...",
  "article_word_count": 945,
  "article_text": "Microsoft Copilot is entering a new era. ...",
  "posted_at": "2026-10-27T16:04:39Z",
  "reactions_count": 209,
  "comments_count": 10,
  "author_name": "Microsoft",
  "author_type": "company"
}
```

A post that is no longer there (free):

```json
{
  "_type": "error",
  "error_type": "unavailable",
  "identifier": "urn:li:activity:7400000000000000000",
  "reason": "LinkedIn sent the visitor to its sign-in page on two different IPs: the post is private, was deleted, or the link is wrong.",
  "charged": false
}
```

### Pricing

Pay per event: you pay for the posts you receive, plus a flat $0.001 per run, whatever memory you choose. Comments, author headlines, article text and repost originals cost nothing extra.

| Event | When it is charged | Free plan | Bronze (Starter) | Silver (Scale) | Gold (Business) |
|---|---|---|---|---|---|
| `post-scraped` | Once per post row stored in your dataset | $1.80 per 1,000 | $1.50 per 1,000 | $1.30 per 1,000 | $1.10 per 1,000 |
| `run-start` | Once per run, after the first post row is stored | $0.001 | $0.001 | $0.001 | $0.001 |

The price of one post is the price per 1,000 divided by 1,000.

Never charged:

- private, deleted and mistyped posts and articles (each gets an error row with the reason);
- inputs that are not post or article links, such as profile or company links;
- a post that two of your inputs point at, after the first;
- the summary, info and error rows;
- a run that delivers no post: the start fee is charged only after the first post row is stored;
- anything past your "Max cost per run". The actor checks the budget before each row and stops while the total is still below your limit, so the run ends SUCCEEDED with a partial result and a status message saying so.

### Run it on a schedule

1. Open the actor in Apify Console, set your input and click **Save as a new task**.
2. In the task, open **Schedules**, click **Add schedule** and pick how often (every day, every Monday at 08:00 and so on).
3. Compare runs on `post_id` to track how `reactions_count`, `comments_count` and `reposts_count` grow on the posts you follow.
4. Optional: add an integration (Google Sheets, Slack, a webhook) so each run lands where your team works.

### FAQ

#### What does this actor read?

The public page LinkedIn shows a logged-out visitor for each post (`/feed/update/...`) or article (`/pulse/...`), over plain HTTP through Apify's datacenter proxy, plus, for person posts without a headline, the post's small public embed page. No browser, no account, no cookies.

#### Why is reposts_count empty on most rows?

LinkedIn serves its post pages in two layouts at random. Only its newer layout shows the repost count and the reaction breakdown to a logged-out visitor; the classic layout shows reactions and comments only. When a request gets the newer layout, its counts are kept and merged into the row. In our tests that was about 5 posts in 100, so treat `reposts_count` and `reactions_by_type` as a bonus, not a column to rely on.

#### Why do some people have no headline?

The headline is read from the post's embed page. Some people's posts show no headline there either, and plain reposts show the original author's card, not the reposter's.

#### What happens with private or deleted posts?

LinkedIn sends a logged-out visitor to its sign-in page for those. The actor tries a second IP; two sign-in pages, a 404, or LinkedIn's "not found" page give an error row with `error_type` `unavailable` or `not_found`. They are never charged.

#### How long does a run take?

About 4 seconds for one post. Our test of 111 links took 147 seconds on our office connection; runs on Apify are usually faster. Five posts are read at a time.

#### Do I need a LinkedIn account, cookies or a proxy?

No. The actor reads public pages over Apify Proxy, which is included. Nothing to set up.

#### Can I use it from Claude, ChatGPT or Cursor (MCP)?

Yes, through Apify's MCP server. Connector URL: https://mcp.apify.com/?tools=themineworks/linkedin-post-details-scraper

- Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
- ChatGPT: turn on developer mode, add an MCP connector with the URL, sign in with Apify.
- Cursor or VS Code: add it as an HTTP MCP server with that URL.
- Claude Code: `claude mcp add -t http linkedin-post-details-scraper "https://mcp.apify.com/?tools=themineworks/linkedin-post-details-scraper"`

#### Which formats can I download?

JSON, CSV, Excel, XML, RSS and HTML from the run's Storage tab or through the API. The dataset has four ready views: Posts, Authors, Media and links, and Posts not read. In CSV and Excel, lists such as `image_urls` and `mentions` are flattened into columns such as `image_urls/0` and `mentions/0/name`.

#### Is it legal to scrape LinkedIn?

The actor reads only what LinkedIn shows any visitor who is not logged in: public posts, public articles and the public author details on them. It does not log in, use cookies or solve CAPTCHAs. LinkedIn's terms restrict automated access, and posts can contain personal data, so you are responsible for how you use the data, including LinkedIn's terms and data protection law such as GDPR and CCPA. This is general information, not legal advice.

### Integrations

- **Clay**: add an HTTP column that runs the actor with the post link from your table and maps `text`, `author_name`, `author_followers` and `reactions_count` back into columns.
- **n8n, Make and Zapier**: after a post search step, run the actor once per link or once per batch and read its dataset, for example "new posts on our keywords every morning with full text and author to a sheet".
- **AI agents**: give the agent the "Copy to your AI assistant" block above, or the MCP connector in the FAQ, so it can read a post before it answers or drafts a comment.
- **Google Sheets**: send each run's posts to a sheet with Apify's Google Sheets integration; one row per post fits a sheet as is.
- **Webhooks and API**: have Apify call your URL when a run succeeds, then fetch the dataset, or run it from Python or JavaScript with the Apify client.

### More from The Mine Works

**LinkedIn**

- [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Post Scraper](https://apify.com/themineworks/linkedin-post-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Profile Scraper](https://apify.com/themineworks/linkedin-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Email Finder](https://apify.com/themineworks/linkedin-email-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Newsletter Scraper](https://apify.com/themineworks/linkedin-newsletter-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Candidate Finder](https://apify.com/themineworks/linkedin-candidate-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Social media and video**

- [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Threads Search Scraper](https://apify.com/themineworks/threads-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Instagram Profile Scraper](https://apify.com/themineworks/instagram-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Leads and business directories**

- [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Skip Trace Lookup](https://apify.com/themineworks/skip-trace-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Maps Email Scraper](https://apify.com/themineworks/maps-leads?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [2GIS Places Scraper](https://apify.com/themineworks/2gis-places-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Marketing, SEO and reviews**

- [Facebook Ad Library Scraper](https://apify.com/themineworks/meta-ad-library-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Ads Transparency Scraper](https://apify.com/themineworks/google-ads-transparency?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Similarweb Scraper](https://apify.com/themineworks/similarweb-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google News Scraper](https://apify.com/themineworks/google-news?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Real estate**

- [Zillow Rentals Scraper](https://apify.com/themineworks/zillow-rental-listings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zillow Sold Comps Scraper](https://apify.com/themineworks/zillow-recently-sold?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Real Estate MCP](https://apify.com/themineworks/india-real-estate-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Housing.com Scraper](https://apify.com/themineworks/housing-com-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Science, health and government data**

- [Academic Research MCP](https://apify.com/themineworks/academic-research-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [CourtListener Scraper](https://apify.com/themineworks/courtlistener-court-records?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Socrata Open Data Scraper](https://apify.com/themineworks/socrata-open-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [OpenAlex Scraper](https://apify.com/themineworks/openalex-scholarly-works?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Jobs and hiring**

- [Foundit Monster India Jobs](https://apify.com/themineworks/foundit-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Hirist Jobs Scraper](https://apify.com/themineworks/hirist-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Jobs MCP](https://apify.com/themineworks/india-jobs-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naukri Jobs Scraper](https://apify.com/themineworks/naukri-jobs?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Company and business data**

- [Company Domain Finder](https://apify.com/themineworks/company-domain-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GST Taxpayer Lookup](https://apify.com/themineworks/gst-taxpayer-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Company KYB Resolver](https://apify.com/themineworks/company-identity-resolver?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [SEC EDGAR Filings Scraper](https://apify.com/themineworks/sec-edgar-filings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**E-commerce and marketplaces**

- [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Etsy Listings Scraper](https://apify.com/themineworks/etsy-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Food and local services**

- [NoBroker Scraper](https://apify.com/themineworks/nobroker-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Swiggy Restaurant Scraper](https://apify.com/themineworks/swiggy-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zomato Scraper](https://apify.com/themineworks/zomato-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Developer and AI tools**

- [Website to Markdown Crawler](https://apify.com/themineworks/rag-crawler?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Skill Finder](https://apify.com/themineworks/github-skill-discovery?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Repo Scraper](https://apify.com/themineworks/github-repo-intelligence?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Trending Scraper](https://apify.com/themineworks/github-trending-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**More tools**

- [G2 Reviews Scraper](https://apify.com/themineworks/g2-reviews-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naver Blog Scraper](https://apify.com/themineworks/naver-blog-posts-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [WeChat Article Scraper 微信公众号文章](https://apify.com/themineworks/wechat-article-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Taobao Products Scraper 淘宝 天猫](https://apify.com/themineworks/taobao-products-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

### Support

Found a post that comes back empty, or a field that is missing when the post shows it? Open an issue in the Issues tab with the link and the run ID, and we will look at it. For a field you need or a new source, email dmineworks@gmail.com.

*Paste LinkedIn post or article links and get every post back as one row, with full text, author, followers, exact date, reactions, comments, media and the original of a repost, no login.*

# Actor input Schema

## `postUrls` (type: `array`):

One per line. Any of: a post link (https://www.linkedin.com/posts/<name>\_<words>-activity-<number>-<code>), a feed link (https://www.linkedin.com/feed/update/urn:li:activity:<number>, also ugcPost and share), an article link (https://www.linkedin.com/pulse/<slug>), an urn (urn:li:activity:<number>) or the bare activity number. One link per run from Clay or n8n works the same as a batch. Up to 5,000 per run.

## `includeAuthorHeadline` (type: `boolean`):

LinkedIn's post page leaves out most people's headline and photo. When on, the Actor reads the post's small embed page (about 21 KB) for person posts that lack them. One extra request per person post, no extra charge. Turn off for the fastest runs.

## `includeComments` (type: `boolean`):

Adds a comments array to each row: the first comments LinkedIn shows a logged-out visitor (up to 10, ranked most relevant), each with its text, author, author link, time and reaction count. No extra request and no extra charge.

## `maxCommentsPerPost` (type: `integer`):

Only used with Include the first public comments. 1 to 10. LinkedIn shows a logged-out visitor about 10.

## Actor input object example

```json
{
  "postUrls": [
    "https://www.linkedin.com/posts/stripe_move-money-with-agents-using-stripe-treasury-activity-7518744569480671232-xbm3",
    "https://www.linkedin.com/pulse/october-2026-new-copilot-microsoft-hlwpe"
  ],
  "includeAuthorHeadline": true,
  "includeComments": false,
  "maxCommentsPerPost": 10
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "postUrls": [
        "https://www.linkedin.com/posts/stripe_move-money-with-agents-using-stripe-treasury-activity-7518744569480671232-xbm3",
        "https://www.linkedin.com/pulse/october-2026-new-copilot-microsoft-hlwpe"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/linkedin-post-details-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "postUrls": [
        "https://www.linkedin.com/posts/stripe_move-money-with-agents-using-stripe-treasury-activity-7518744569480671232-xbm3",
        "https://www.linkedin.com/pulse/october-2026-new-copilot-microsoft-hlwpe",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("themineworks/linkedin-post-details-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "postUrls": [
    "https://www.linkedin.com/posts/stripe_move-money-with-agents-using-stripe-treasury-activity-7518744569480671232-xbm3",
    "https://www.linkedin.com/pulse/october-2026-new-copilot-microsoft-hlwpe"
  ]
}' |
apify call themineworks/linkedin-post-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,themineworks/linkedin-post-details-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/AgaWvg14R3I4iVfcl/builds/7pjjPqbjUsna5JhyX/openapi.json
