
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 分
請在儲存庫或註冊中心條目中宣告授權條款。