# LinkedIn Posts Scraper — Latest Posts (`lergassy/linkedin-posts-scraper`) Actor

\[$1/1K posts] Latest public LinkedIn posts of any company or person, no login: text, date, likes, URL, activity id, image, author, follower count — plus people's articles. Built for scheduled monitoring; filtered posts are free. No cookies, no run fee.

- **URL**: https://apify.com/lergassy/linkedin-posts-scraper.md
- **Developed by:** [Matvey](https://apify.com/lergassy) (community)
- **Categories:** Social media, Lead generation, Agents
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.70 / 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 Posts Scraper** returns the **latest public posts of any LinkedIn company or person**: post text, publish date, likes, post URL, activity id, image, author and the source's follower count — one row per post. For people it also returns their **LinkedIn articles**.

**$0.001 per post.** No login, no cookies, no LinkedIn account at risk, no start fee. Posts removed by your filters and pages that refuse are free.

### What is LinkedIn Posts Scraper?

A monitoring tool: point it at the companies and people you follow — competitors, prospects, thought leaders, your own brand — and schedule it. Every run returns what they published recently, with engagement. Deduplicate on `activityId` and you have a feed of every new post as it appears, in a spreadsheet, a Slack channel or your CRM.

**What "latest" means.** Without login, LinkedIn shows the **~10 most recent posts of a company** and the **5–9 most recent posts plus up to 10 articles of a person**. This Actor returns exactly that — it is built for regular monitoring, not for downloading someone's entire history. Run it daily or weekly and nothing is missed.

### What is in every row

| Field | Meaning |
|---|---|
| `postType` | `post` or `article` |
| `text`, `headline` | Post text; headline for articles |
| `publishedAt`, `likes` | ISO timestamp and like count |
| `postUrl`, `activityId`, `imageUrl` | Link, stable id for deduplication, cover image |
| `authorName`, `authorUrl`, `authorType` | Who posted — company or person |
| `sourceUrl`, `sourceName`, `sourceType`, `sourceFollowers` | The page you asked for and its follower count |

### How much does it cost?

**$0.001 per post** — one row, one charge.

- Posts older than **Only posts published after** or below **Minimum likes**: **$0**.
- Pages that do not exist or refuse after retries: **$0**.

#### Bulk export: what 50,000 rows actually cost

This Actor is built for bulk jobs — hundreds of companies and people in one run, on a schedule. There
is **no fee per run, no fee per page and no proxy charge**: you pay for the post rows you keep.

| Job | This Actor | Most-used Actor in this category |
|---|---|---|
| 50,000 posts across 100 runs | **$50** | $100 |

Checked on the Apify Store on 23 September 2026 against the Actor with the most monthly users in
this category ($0.002 per post). Some Actors here ask less per row — this table compares against the
one buyers actually use most.

### How to use it in three steps

1. Paste LinkedIn company and profile URLs into **🔗 Companies and people** — `https://www.linkedin.com/company/hubspot`, `https://www.linkedin.com/in/justinwelsh`.
2. Set **📅 Only posts published after** to yesterday and schedule the task daily; add **👍 Minimum likes** to keep only posts that landed.
3. Press **Start**, then download JSON, CSV or Excel — or send new rows to Slack, Sheets or a CRM through n8n, Make or Zapier.

### ⬇️ Input

```json
{
  "urls": ["https://www.linkedin.com/company/hubspot", "https://www.linkedin.com/company/stripe", "https://www.linkedin.com/in/justinwelsh"],
  "postedAfter": "2026-09-15",
  "minLikes": 50,
  "includeArticles": true
}
```

### ⬆️ Output

```json
{
  "type": "post",
  "postType": "post",
  "text": "Taylor trying to make her Q3 sales quota just like the rest of us",
  "publishedAt": "2026-09-22T19:32:41.165Z",
  "likes": 201,
  "postUrl": "https://www.linkedin.com/posts/hubspot_taylor-trying-to-make-her-q3-sales-quota-activity-7508246915625435136-KVFw",
  "activityId": "7508246915625435136",
  "authorName": "HubSpot",
  "authorType": "company",
  "sourceUrl": "https://www.linkedin.com/company/hubspot",
  "sourceName": "HubSpot",
  "sourceFollowers": 1100000,
  "scrapedAt": "2026-09-23T12:04:11.004Z"
}
```

### Use cases

#### Competitor content monitoring

Twenty competitors, daily, into a sheet: what they announce, how it lands, how often they post.

#### Sales triggers

Prospects' company posts about funding, launches and hiring — the reason to write today.

#### Creator and thought-leader tracking

Posts and articles of the voices in your niche with likes, to see which topics win.

#### AI agents

Through the Apify MCP server: *"what did Stripe post on LinkedIn this week?"* returns rows with links.

### Integrations

Every run is available through the Apify API, and the Actor works out of the box with n8n, Make, Zapier, Google Sheets, LangChain and the Apify MCP server.

### FAQ

**Can I get a company's full post history?** No — only what LinkedIn shows logged-out visitors: the latest ~10 posts. That is why the Actor is priced and built for scheduled monitoring.

**Comments and reposts?** Not included; like counts are.

**Do I need a LinkedIn account?** No. Nothing is logged in.

**Is this legal?** The Actor reads public posts. Posts by people are personal data — process them with a lawful basis under GDPR/CCPA and follow LinkedIn's terms.

# Actor input Schema

## `urls` (type: `array`):

LinkedIn company or profile URLs, one per line — <b>https://www.linkedin.com/company/hubspot</b>, <b>https://www.linkedin.com/in/justinwelsh</b>. A bare slug is read as a company.

## `startUrls` (type: `array`):

The same thing for long lists.

## `includeArticles` (type: `boolean`):

People's long-form LinkedIn articles (headline, date, likes, link) next to their posts.

## `postedAfter` (type: `string`):

ISO date, e.g. 2026-09-01. Older posts are skipped and not charged — set it to yesterday on a daily schedule.

## `minLikes` (type: `integer`):

Skip posts below this many likes. Skipped posts are free.

## `maxPostsPerSource` (type: `integer`):

LinkedIn shows about 10 recent posts per company and 5–19 posts and articles per person without login.

## `concurrency` (type: `integer`):

How many LinkedIn pages to read at the same time. Keep it low — LinkedIn dislikes bursts.

## `proxyConfiguration` (type: `object`):

Off by default — public LinkedIn pages answer a direct request, and a refused request is retried on an Apify datacenter address. Residential proxy is never switched on by itself: a LinkedIn page is 350–800 KB, so residential traffic would cost more than the row.

## Actor input object example

```json
{
  "urls": [
    "https://www.linkedin.com/company/hubspot",
    "https://www.linkedin.com/company/stripe",
    "https://www.linkedin.com/in/justinwelsh"
  ],
  "startUrls": [],
  "includeArticles": true,
  "minLikes": 0,
  "maxPostsPerSource": 50,
  "concurrency": 3,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

One row per post or article: text, date, likes, URL, author.

# 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 = {
    "urls": [
        "https://www.linkedin.com/company/hubspot",
        "https://www.linkedin.com/company/stripe",
        "https://www.linkedin.com/in/justinwelsh"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("lergassy/linkedin-posts-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 = {
    "urls": [
        "https://www.linkedin.com/company/hubspot",
        "https://www.linkedin.com/company/stripe",
        "https://www.linkedin.com/in/justinwelsh",
    ],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("lergassy/linkedin-posts-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 '{
  "urls": [
    "https://www.linkedin.com/company/hubspot",
    "https://www.linkedin.com/company/stripe",
    "https://www.linkedin.com/in/justinwelsh"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call lergassy/linkedin-posts-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,lergassy/linkedin-posts-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/NdRvVOvxh5hciKhfC/builds/WHYelPVXI4j6vfZk3/openapi.json
