LinkedIn Posts
Overview
Description from the maker (original English)
Scrape and analyze public LinkedIn posts as structured JSON via the Apify LinkedIn Posts API.
PopNx MCP’s three pillars
These three are never merged into one score: opinions, measurements and popularity are different things.
- User voiceiNo reviews yetReviews open together with accounts in a later step
- Our basic checksi1 of 1 passedChecked from public information; code not scanned yet
- UsageiVery new★ –
What you can do with it
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
- Connection: Runs in the cloud
- Transport: Streamable HTTP
- Category: Marketing & social media
Install
Pick the AI app you use, then copy the settings.
Before you install
- Basic checks: 1 of 1 passed
- Runs on the maker’s server: what you ask it goes through their server.
- The registry lists no key to fill in.
You need
- Runs in the cloudNothing to install; it connects over the internet
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
- Open Settings → Connectors
- Press Add custom connector
- Paste the address below and press Add
- If it asks you to sign in, sign in with the maker
https://mcp.apify.com/?tools=johnvc/linkedin-posts-apiRun this in your terminal
claude mcp add --transport http linkedin-posts 'https://mcp.apify.com/?tools=johnvc/linkedin-posts-api'Or copy the settings yourself
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"linkedin-posts": {
"url": "https://mcp.apify.com/?tools=johnvc/linkedin-posts-api"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Or copy the settings yourself
Paste into .vscode/mcp.json in your project
{
"servers": {
"linkedin-posts": {
"type": "http",
"url": "https://mcp.apify.com/?tools=johnvc/linkedin-posts-api"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
- Open ChatGPT on the web → Settings → Connectors (Apps)
- Press Create or Add (some plans need Developer mode under Advanced first)
- Paste the address below, give it a name and save
- If it asks you to sign in, sign in with the maker
https://mcp.apify.com/?tools=johnvc/linkedin-posts-apiMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
What it can do
We have not read this server’s tool list yet; we check endpoints in rotation.
Basic checksi
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026
- ✓ Pass
Maker matches the repo
The registry name was verified with the GitHub account johnisanerd, which owns the repo
- … Not checked yet
Still maintained
We have not read this repo from GitHub yet
- … Not checked yet
Has a licence
We have not read this repo from GitHub yet
- … Not checked yet
Endpoint responds
Not checked yet; we check endpoints in rotation
- … Not checked yet
Sign-in with OAuth
Not checked yet; we check endpoints in rotation
- … Not checked yet
No hidden instructions in tool descriptions
Not checked yet; we read the tool list when we check the endpoint
Compared with others in Marketing & social mediai
- More stars than 0% of the other 3615 servers in this category
- Published to the registry more recently than 17% of the other 3615 servers in this category
- Basic checks equal to or better than 100% of the other 3615 servers in this category
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
Common questions
Is LinkedIn Posts safe?
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
What keys or codes does it need?
The registry does not list a required key, though some servers ask you to sign in on first use.
Does it run on my computer or in the cloud?
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
Is it still maintained?
The GitHub repo last changed –, and the latest version (1.0.0) reached the registry 4 months ago.
Which apps can use it?
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
What can I use instead?
In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
Alternatives
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Google Analytics MCP
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
BibiGPT YouTube Video Summarizer
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
README from the maker
Open the README
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
📝 LinkedIn Posts API: Posts & Engagement to Structured JSON
The most efficient, reliable, and developer-friendly way to use the LinkedIn Posts API.
Actor page: apify.com/johnvc/linkedin-posts-api Input schema: apify.com/johnvc/linkedin-posts-api/input-schema
Give it a public LinkedIn profile URL and it discovers that person's recent posts, or pass specific post URLs to fetch directly. You get back one clean JSON row per post: text, reactions, comments, shares, hashtags, media, and author details. It is built API-first and MCP-ready, so you can call it from Python or drive it as a tool from an AI agent.
Video Walkthrough
Quick Start
Prerequisites
- Python 3.11 or higher
- An Apify account and API key (get a free key here)
- Clone the repository
git clone https://github.com/johnisanerd/Apify-LinkedIn-Posts-API.git
cd Apify-LinkedIn-Posts-API
- Install dependencies with UV
# Install UV if you do not have it:
curl -LsSf https://astral.sh/uv/install.sh | sh
Install project dependencies:
uv sync
- Configure your API key
cp .env.example .env
Edit .env and add your Apify API key
Get your free API key at: https://apify.com?fpr=9n7kx3
- Run the example
uv run python linkedin-posts-api-example.py
Alternative: set the API key directly
export APIFY_API_TOKEN="your_api_key_here"
uv run python linkedin-posts-api-example.py
Why Use This LinkedIn Posts API?
A URL in, structured data out. You never touch collection infrastructure. Pass a profile URL (or specific post URLs) and get flat, predictable fields you can load straight into a sheet, a database, or a BI tool.
Two ways to collect. Discover a profile's recent posts (newest first, capped and optionally date-filtered), or fetch a known set of posts by URL, up to 1000 per run.
Pay per post. Billing is per post returned, with no per-run setup fee, so you only pay for what is delivered.
Reliable and predictable. Every post comes back with the same field shape, and a profile with no public posts returns a clear error row instead of failing the whole run.
MCP-ready. Call it as a tool from Claude, Cursor, and other AI agents (see the install sections below).
Features
Core Capabilities
- Discover a profile's recent posts by profile URL, or fetch specific posts by URL
- Post text, hashtags, media, and links, plus post type and date
- Reactions, comments, and shares on every post
- Author name, headline, follower count, and a sample of top comments
Data Quality
- One consistent JSON row per post, every time
- A plain-language
summaryfield on every row for quick scanning and AI use - A clear error row for a profile with no public posts, so one empty profile never sinks the batch
Usage Examples
Discover a profile's posts
{
"profileUrls": ["https://www.linkedin.com/in/williamhgates"], "maxPostsPerProfile": 5 }
Limit discovery to a date range
{
"profileUrls": ["https://www.linkedin.com/in/williamhgates"], "maxPostsPerProfile": 50, "startDate": "2025-01-01", "endDate": "2025-12-31" }
Fetch specific posts by URL
{
"postUrls": [ "https://www.linkedin.com/posts/williamhgates_activity-7446904645010210816" ] }
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
profileUrls | list[str] | one of these | - | Public LinkedIn /in/ profile URLs to discover posts from. Up to 25 per run. |
postUrls | list[str] | one of these | - | Specific LinkedIn post URLs to fetch directly. Up to 1000 per run. |
maxPostsPerProfile | int | No | 20 | Max posts per profile in discover mode (max 200). Caps cost. Ignored for post URLs. |
startDate | str | No | - | Only discover posts on or after this date (YYYY-MM-DD). Discover mode only. |
endDate | str | No | - | Only discover posts on or before this date (YYYY-MM-DD). Discover mode only. |
Supply at least one of profileUrls or postUrls.
Output Format
Each post is returned as one JSON row:
{
"result_type": "post", "postId": "7446904645010210816", "postUrl": "https://www.linkedin.com/posts/williamhgates_activity-7446904645010210816", "postType": "post", "datePosted": "2025-06-01T12:00:00.000Z", "text": "A few books shaped how I think about clean energy this year...", "hashtags": ["cleanenergy", "books"], "authorName": "williamhgates", "authorHeadline": "Co-chair, Bill & Melinda Gates Foundation", "authorUrl": "https://www.linkedin.com/in/williamhgates", "authorFollowers": 37000000, "numLikes": 12045, "numComments": 843, "numShares": 210, "summary": "Post by williamhgates, 12,045 reactions, 843 comments, posted 2025-06-01" }
The numShares field is returned when the post has shares.
FAQ
Will this put my LinkedIn or LinkedIn Recruiter account at risk?
No. It reads public LinkedIn pages only, the ones anyone can open while signed out. It never logs in and never asks for your cookies: there is no input for an account, a password or an li_at session cookie. Nothing it does is tied to your LinkedIn account, your LinkedIn Recruiter seat or your Sales Navigator license. The requests run on Apify's servers, not in your browser, so nothing connects them to you, and you can keep working in Recruiter while a run is going.
Install in Claude Cowork Desktop
Cowork is the desktop app's automation mode. To give it the LinkedIn Posts API as a tool, add the Apify MCP server as a connector.
- Open the Claude desktop app and go to Settings → Connectors (or Settings → Developer → Edit Config to edit
claude_desktop_config.jsondirectly).
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Add the Apify MCP server, preloaded with only this Actor:
{
"mcpServers": { "apify": { "command": "npx", "args": [ "-y", "mcp-remote", "https://mcp.apify.com/?tools=actors,docs,johnvc/linkedin-posts-api" ] } } }
- Restart the app. When Cowork first calls the tool, complete the OAuth prompt in your browser, or add your Apify API token in the connector settings to skip OAuth.
- In a Cowork chat, confirm the tool is available and ask it to run the LinkedIn Posts API.
Download the desktop app and start a free trial: https://claude.ai/referral/uIlpa7nPLg More help: https://docs.apify.com/platform/integrations/claude-desktop
Install in Claude Code
Claude Code is the command-line tool. Add the Actor's MCP server with one command:
claude mcp add --transport http apify \
"https://mcp.apify.com/?tools=actors,docs,johnvc/linkedin-posts-api"
To use a token instead of browser OAuth:
claude mcp add --transport http apify \
"https://mcp.apify.com/?tools=actors,docs,johnvc/linkedin-posts-api" \ --header "Authorization: Bearer YOUR_APIFY_TOKEN"
Then verify with claude mcp list, or run /mcp inside a session. Ask Claude Code to call the LinkedIn Posts API.
Try Claude Code free: https://claude.ai/referral/uIlpa7nPLg Claude Code MCP docs: https://code.claude.com/docs/en/mcp
Install in Claude (website)
On claude.ai you add Apify as a connector, then enable just this Actor's tool.
- Go to Settings → Connectors → Browse connectors and search for Apify MCP server. Install it (enable or update if prompted).
- When connecting, authenticate with your Apify API token, and enable the tool
johnvc/linkedin-posts-api. - In any chat, open + → Connectors and turn on Apify.
- Alternatively, choose Add custom connector and paste the full MCP URL
https://mcp.apify.com/?tools=actors,docs,johnvc/linkedin-posts-api, using OAuth when prompted. - Ask Claude to run the LinkedIn Posts API.
Open Claude on the web: https://claude.ai/referral/uIlpa7nPLg
Install in Cursor
Cursor reads MCP servers from a project file at .cursor/mcp.json.
- In your project, create
.cursor/mcp.json:
{
"mcpServers": { "apify": { "url": "https://mcp.apify.com/?tools=actors,docs,johnvc/linkedin-posts-api" } } }
- If you prefer token auth over browser OAuth, add a header:
{
"mcpServers": { "apify": { "url": "https://mcp.apify.com/?tools=actors,docs,johnvc/linkedin-posts-api", "headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" } } } }
- Open Cursor → Settings → MCP and confirm the apify server is connected (green dot).
- In Composer or Chat, ask Cursor to call the LinkedIn Posts API.
New to Cursor? Get it here: https://cursor.com/referral?code=XQP4VBLI3NNX
Install in ChatGPT
ChatGPT connects to the Apify MCP server through Developer mode (available on ChatGPT Pro, Plus, Business, Enterprise, and Education plans).
- Click your profile icon, then go to Settings > Apps. If you do not see a Create app button, open Advanced settings and enable Developer mode.
- Click Create app and fill out the form:
- Name: Apify
- MCP Server URL:
https://mcp.apify.com/?tools=actors,docs,johnvc/linkedin-posts-api - Authentication: OAuth
- Click Create and authorize the connection with Apify.
- To use the app in a conversation, click + in the chat, choose Developer mode, and select Apify.
More help: https://docs.apify.com/platform/integrations/mcp
*Use the LinkedIn Posts API to power your content research, social listening, and engagement analytics with reliable, structured results.*
🤖 Ask an AI assistant about this Actor
Open a ready-to-send prompt about the LinkedIn Posts API in the AI of your choice:
Only the beginning is shown; read the rest in the repo