
Linkedin Post Search
io.github.johnisanerd由 GitHub 账号 johnisanerd 发布v1.0.0更新于 Nov 3, 2026
通过托管的 MCP 服务器,按关键词、姓名或话题标签搜索公开的 LinkedIn 帖子,并查看互动数据。
AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。
原文描述
Search public LinkedIn posts by keyword, name or hashtag, with engagement, via a hosted MCP server.
概览
Linkedin Post Search 的托管 MCP 服务(mcp.apify.com);需要 OAuth 登录;Streamable HTTP。
暂无 AI 概览:以下信息来自注册中心条目和服务本身。
- 端点
- mcp.apify.com
- 最近检查
安装
在 SourceWeft 中
- 打开 控制台中的 Linkedin Post Search,将其添加到工作区。
- 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
交给智能体安装
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.github.johnisanerd%2Flinkedin-post-search/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。
{
"mcpServers": {
"linkedin-post-search": {
"type": "http",
"url": "https://mcp.apify.com/?tools=johnvc/linkedin-post-search-api"
}
}
}README
🔎 LinkedIn Post Search API: Search LinkedIn Posts by Keyword from Python and MCP
LinkedIn post search by keyword, name, phrase or #hashtag: get every matching public post as JSON, with the full text, author, date, reactions, comments, images and links. No LinkedIn login, no cookie.
- Actor: LinkedIn Post Search API on Apify
- Input schema: input parameters
- Get a free API token: apify.com
This repo is a Python and MCP quick-start for the LinkedIn Post Search API on Apify. Give it keywords, names or hashtags and a date window such as the past day or the past week, and it returns the public LinkedIn posts that mention them, one row per post. It is the search LinkedIn itself only offers to logged-in members, run as an API over the public side of LinkedIn: no account, no session cookie, nothing attributed to you. Run it on a schedule and it becomes a LinkedIn social listening feed; run it once with a date range and it is research for a story, a launch or an event.
Coverage is the public, indexed part of LinkedIn. Posts from members who keep their activity private, and posts published in the last few hours, may be missing, and a signed-out visitor sees at most 10 comments per post. For a mention monitor that is usually what you want: the posts that are public and spreading.
Responsible use: the API returns only what LinkedIn shows signed-out visitors and collects no contact details, and you are responsible for using the data lawfully.
Video Walkthrough
Text walkthrough
The LinkedIn Post Search API turns a keyword into a list of public LinkedIn posts. You pass keywords (up to 20 names, phrases or #hashtags, each matched as an exact phrase), pick postedWithin (day, week, month, year) or a startDate and endDate, and cap the run with maxPostsPerKeyword. Each row carries text, authorName, authorUrl, authorType, datePosted, numLikes, numComments, topComments, hashtags, images, embeddedLinks, taggedPeople and taggedCompanies, plus matchedKeyword and the search page and rank it came from. For LinkedIn hashtag analytics, pass #semiconductors with postedWithin: "week" and sort the rows by numLikes to see which posts and authors lead the tag; for brand monitoring, pass your company and your executives with postedWithin: "day" on a daily schedule. The default run in this repo asks for five posts about one event and costs well under a cent; posts and search pages read in the last 7 days come back from a shared cache, so repeats are cheaper and faster.
Quick Start
Prerequisites
- Python 3.11 or higher
- An Apify account and API key (get a free key here)
-
Clone the repository
-
Install dependencies with UV
-
Configure your API key
-
Run the example
The script starts one run for "Jackson Hole Symposium" with maxPostsPerKeyword: 5, waits for it to finish, prints each post with its author, date, reactions and link, and then prints the run's RUN_SUMMARY (pages fetched, cache hits, why each keyword stopped). Three recipe helpers mirror the use cases on the Actor's Examples tab:
Alternative: set the API key directly
Why Use This LinkedIn Post Search API?
No LinkedIn login or cookie
The API reads only what LinkedIn shows a signed-out visitor. There is no field for an account, a password or an li_at cookie, so no LinkedIn account is ever at risk, and anyone with a free Apify token can search LinkedIn posts without an account.
A date window that is checked, not guessed
postedWithin and the startDate / endDate range are applied to the search and then checked against every post's own timestamp before it is delivered, so you are never billed for a post outside the window. LinkedIn's own feed cannot filter posts by date; this API can.
Engagement and context on every post
Each row carries reactions, comment count, up to 10 of the comments a signed-out visitor sees, the people and companies tagged in the post, the hashtags, the media and links, and the original post when the match is a share.
A shared cache that makes monitors cheap
Posts and search pages read in the last 7 days are reused across runs. Cached search pages are free, and a daily monitor pays only for the pages and posts that are new.
Pay per search page and per post, no start fee
One small event per page of search results fetched fresh and one per post delivered. Error rows, posts outside the window and cached pages cost nothing.
Recipes
These are the use cases the Actor's Examples tab is built around. Each is a ready input you can paste into the Apify Console or into RUN_INPUT in the example script.
Track a LinkedIn hashtag: posts, reactions and comments
Every public post under the tag this week, with numLikes, numComments, author and date. Sort by reactions for LinkedIn hashtag analytics: which posts and which authors lead the conversation.
Monitor brand mentions on LinkedIn every day
LinkedIn social listening on a schedule. Save this as a task, attach a schedule such as 0 7 * * *, and each morning's dataset is the list of new public posts that mention you.
Search LinkedIn posts by keyword and export to CSV
A flat row per post: text, authorName, authorUrl, datePosted, numLikes, numComments. The run's Posts view downloads straight to CSV or Excel.
Find the most liked LinkedIn posts on a topic this week
The viral posts on a topic, ready to sort by numLikes. The top recipe in the example script prints the five most liked.
Search LinkedIn posts by date range for an event
Every public post and long-form article about an event in its window, each with datePosted, author and text. Useful for research after the fact, when LinkedIn's own search cannot go back by date.
Schedule tip
Any of these inputs becomes a monitor: save it as a task, attach a schedule (0 7 * * * daily, 0 */6 * * * every six hours, 0 9 * * 1 Mondays), and send each run's rows onward with Apify integrations to Slack, Google Sheets, a webhook or a database.
Features
Core Capabilities
- Up to 20 keywords, names or #hashtags per run, each searched as an exact phrase across public LinkedIn posts
- Rolling windows (
postedWithin: day, week, month, year) or a customstartDateandendDate maxPostsPerKeywordfrom 1 to 1,000 to cap cost;includeArticlesto add long-form LinkedIn articles- Posts and search pages reused from a shared cache for 7 days, with short windows refreshed every 6 hours (day) and daily (week)
- Datasets download as JSON, CSV or Excel, with a ready-made Posts view
- Works as an MCP tool in Claude, Cursor and ChatGPT (see the install sections below)
Data Quality
- Every post's own timestamp is checked against the window before delivery; posts outside it are never fetched or billed
matchedKeyword,searchPageandsearchRankon every row, so results are traceable- A post found by two keywords is delivered once
fromCacheandfetchedAtshow whether a row came from the shared cache and when it was read- A keyword or post that cannot be read produces an error row with a plain-language reason, never a charge
RUN_SUMMARYreports pages fetched and cached, posts delivered and skipped, and why each keyword stopped
It pairs with the rest of the LinkedIn suite: the LinkedIn Posts API for everything one person or company has posted, the LinkedIn Profile API for full profiles of the authors you find (Python example repo), the LinkedIn Company API for the companies that post (Python example repo), and the LinkedIn People Search API to find people by name, title or company.
Coverage, speed and limits
- Coverage. The API finds posts that search engines have indexed from the public side of LinkedIn. Posts from private accounts are not found, and new posts appear within hours, not seconds (three to four hours in testing).
- Speed. A one-keyword, one-page run finishes in under a minute. A busy keyword with hundreds of posts takes several minutes, so the example script starts the run and waits rather than using the synchronous endpoint.
- Comments. Up to 10 per post, which is what LinkedIn shows a signed-out visitor. Reposts and share counts are not shown to guests.
- Not available. Who reacted, private posts, LinkedIn's own relevance ranking, and author filters that need a login.
Pricing
The API is priced per event: one search page event per page of results fetched fresh for a keyword (about 8 to 10 posts per page; pages served from the shared cache are free), and one post scraped event per post delivered. Error rows, posts outside your window and duplicates in a run are never charged. Check the Pricing tab on the Actor page for current rates; the default five-post run here is one page plus five posts. You can set a maximum cost per run in the Apify Console, or pass max_total_charge_usd to start() in Python as the example does.
Usage Examples
Basic Example
The default run in the example script:
Advanced Example
Two keywords in a custom date range, articles included, using every input parameter:
From an AI agent over MCP
When an assistant calls the API, keep the cap small and ask a question it can answer from the rows:
"Which of these posts got the most reactions, and who wrote them?"
Input Parameters
Only keywords is required. Everything else narrows or limits the run.
Output Format
A post row from a real run, shortened:
An error row, which is never charged:
Fields you will use most:
The run's RUN_SUMMARY record (key-value store) reports searchPagesFetched, searchPagesFromCache, postsDelivered, postsSkippedOutsideWindow and pagesStoppedBy for every run.
People also search for
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.
How do I search LinkedIn posts by keyword?
Put the keyword in keywords and run the API. Each keyword is matched as an exact phrase across public LinkedIn posts, and every match comes back as a row with text, author, date and engagement. Add postedWithin or a date range to narrow it.
Can I search LinkedIn posts without an account or login?
Yes, for public posts. LinkedIn's own content search needs a login, so the API finds public posts through search-engine indexing and reads each post's public page the way a signed-out visitor sees it.
How do I do LinkedIn social listening?
Save a past-day search for your brand, products and executives as a task and schedule it every morning. Each run's dataset is that day's mention list; send it to Slack, a sheet or a database with Apify integrations. The Monitor brand mentions recipe above is the starting input.
How do I track a hashtag on LinkedIn?
Enter the hashtag with the # and pick a window. Every post under the tag comes back with reactions, comments and author, so LinkedIn hashtag analytics is a sort by numLikes away.
Can I search LinkedIn posts by date?
Yes. postedWithin covers the past day, week, month or year, and startDate with endDate covers any range. Every post's own timestamp is checked against the window before it is delivered.
Is there a social listening API for LinkedIn?
This is one: keyword in, public posts with authors and engagement out, on a schedule if you want it, callable from Python, n8n, Make, Zapier or an AI agent over MCP.
Install in Claude Cowork Desktop
[Install in Claude Cowork Desktop]
Cowork is the desktop app's automation mode. To give it the LinkedIn Post Search 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
- macOS:
- Add the Apify MCP server, preloaded with only this Actor:
- 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 Post Search 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:
To use a token instead of browser OAuth:
Then verify with claude mcp list, or run /mcp inside a session. Ask Claude Code to call the LinkedIn Post Search 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-post-search-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-post-search-api, using OAuth when prompted. - Ask Claude to run the LinkedIn Post Search API.
Open Claude on the web: https://claude.ai
Install in Cursor
Cursor reads MCP servers from a project file at .cursor/mcp.json.
- In your project, create
.cursor/mcp.json:
- If you prefer token auth over browser OAuth, add a header:
- Open Cursor → Settings → MCP and confirm the apify server is connected (green dot).
- In Composer or Chat, ask Cursor to call the LinkedIn Post Search 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-post-search-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
🌐 About Alpha OSINT
This example repo is part of Alpha OSINT, toolset of financial and operations data sources and APIs. See the Alpha OSINT LinkedIn map for the rest of the LinkedIn suite and how the Actors chain together. For support or requests for this actor, please start a ticket directly on our support page.
Use the LinkedIn Post Search API to power your mention monitoring, hashtag analytics and research workflows with structured results.
Last Updated: 2026.10.20
来源:README.md,提交 ec1ccc9
工具
0版本历史
1- v1.0.0最新Nov 3, 2026
评分
已满足适用检查项的 75%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通必需25 分
- 已声明认证方式必需10 分
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
请在仓库或注册中心条目中声明许可证。