Mcp Substack Scraper

com.mambabuilt由 mambabuilt.com 发布v1.0.1更新于 Nov 7, 2026

Substack publications, posts, subscriber counts, and keyword search.

概览

AI 生成的概览

通过 Apify actor 抓取 Substack 刊物、文章、订阅人数与关键词搜索结果的 MCP 服务器。

可以做什么
  • 读取刊物资料:名称、作者、简介、订阅人数与付费方案价格
  • 列出刊物最新文章,含标题、链接、日期、受众层级、点赞、评论、转发、字数与标签
  • 可选附带文章正文,付费文章仅返回免费预览
  • 按关键词搜索 Substack,返回匹配文章或这些文章所属的刊物
  • 按时间范围筛选文章,并限制每个刊物或每次搜索返回的行数
适用场景
适合让助手做 Substack 调研:比较各刊物的订阅人数与定价、查看某刊物近期发布了什么,或按关键词寻找某个主题的刊物。
运行要求
通过 npx 在本地运行,需要 Node.js 18 或更高版本。需要 Apify 账号,并将 Apify API 令牌设置为 APIFY_TOKEN 环境变量;没有令牌时工具仍会列出,但调用需要令牌。需要访问 Apify 与 Substack 的网络。
安装前请注意
所有任务都在 Apify 上运行,按返回行数计入你的 Apify 账号费用(文章行、刊物行以及每次运行启动费),上限设得大就会产生费用,可用 max_charge_usd 限制单次运行。APIFY_TOKEN 属于机密,不要放进共享配置。它只读取 Substack 的公开页面与公开 JSON 接口,结果仅限公开可见内容。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Mcp Substack Scraper,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Substack Scraper MCP Server

[Glama score] [MCP Registry] [npm version] [npm downloads] [license] [mcpservers.org]

[Substack Scraper MCP server]

An MCP server for the Mamba Labs Substack Newsletter and Posts Scraper actor on Apify. Give it Substack publications or keywords. It returns publication profiles and posts as flat rows.

What's Inside

What it does

  • Publications: name, author, tagline, subscriber count as Substack shows it (subscriber_count_text, and subscriber_count_min as a number), subscriber tier text, and monthly, yearly, and founding plan prices.
  • Posts: title, URL, date, audience (free, paid, or founding), likes, comments, restacks, word count, bylines, and tags. Optional post text with include_body.
  • Search: keyword search across Substack posts, returned as posts or as the publications behind them.

All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.

Quick start

You need Node.js 18 or newer and an Apify account with an API token.

Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:

json
{  "mcpServers": {    "mamba-substack-scraper": {      "command": "npx",      "args": [        "-y",        "@mambalabsdev/mcp-substack-scraper"      ],      "env": {        "APIFY_TOKEN": "your-apify-token"      }    }  }}

Restart the client. The scrape_substack tool appears.

Prerequisites

Example prompts

  • "How many subscribers does Lenny's Newsletter have, and what does a paid plan cost?"
  • "Find Substack newsletters that write about cold email and list their subscriber counts."
  • "What did notboring.co publish in the last 30 days, and which posts were paid only?"

Tool

scrape_substack. One tool. Example arguments:

json
{  "publications": [    "lenny.substack.com"  ],  "search_queries": [    "cold email"  ],  "max_posts_per_publication": "5",  "max_search_results": "5"}

Inputs

Every buyer facing input of the actor, unchanged. Omitted inputs take the actor's own defaults. Numbers and booleans are sent as strings.

InputTypeDescription
publicationsarraySubstack publications, one per line, up to 100: a URL (https://www.lennysnewsletter.com), a domain (lenny.substack.com), a profile (substack.com/@lenny), or a bare Substack name (lenny). Each one returns a publication row and its newest posts
search_queriesarrayKeywords to search across Substack posts, one per line, up to 20. Each query returns matching posts, or the publications behind them when Search output is publications
search_outputstringWhat a search query returns Default posts
max_posts_per_publicationstringNewest posts returned per publication, 0 to 1000. 0 returns only the publication row Default 20
max_search_resultsstringRows returned per search query, 1 to 1000 Default 50
since_daysstringOptional. Skip posts older than this many days. 0 or empty keeps every post up to the max Default 0
include_publication_rowstringtrue to return one publication row per listed publication (name, author, subscribers, paid plan prices), billed as a publication row. false returns only post rows Default true
include_bodystringtrue to add the post text (up to 20,000 characters) to each post row of a listed publication. A paid post gives its free preview. Reads one more page per post; no extra charge Default false
max_charge_usdstringOptional. The run stops before it would charge more than this
proxy_modestringHow pages are fetched Default auto

Pricing

Pay per event on Apify, billed to your Apify account. Prices in USD.

EventFree planBronzeSilverGold
post-row, one Substack post returned as a row: from a listed publication or from a search$0.00115$0.001093$0.001035$0.000977
publication-row, one Substack publication profile returned as a row: name, author, subscriber count as shown, and paid plan prices$0.002$0.0019$0.0018$0.0017
apify-actor-start, per run start$0.001057$0.001057$0.001057$0.001057

no_results and error rows are free, including the one row a refused input returns.

Your keys

The actor needs no key. It reads Substack's public pages and public JSON routes and holds no key of any kind. Proxy traffic adds nothing to your price: Mamba Labs pays the platform costs of the run.

Full actor documentation

apify.com/mambalabs/substack-scraper

License

MIT. See LICENSE.

来源:README.md,提交 a3d3c1a

工具

1

scrape_substack

Scrape Substack publications, posts, and search

Read Substack publications and posts, or search Substack by keyword. Give publications as URLs, domains, substack.com profiles, or bare Substack names (for example lenny.substack.com, https://www.notboring.co, lenny). Each publication returns one publication row (name, author, subscriber count as Substack shows it, subscriber tier text, paid plan prices) and its newest posts, one row each with date, free or paid audience, likes, comments, restacks, word count, bylines, and tags. Search queries return matching posts with their publication and subscriber count, or one row per publication when search_output is publications. Input with nothing to run returns one free row whose error_reason starts with input_invalid:. A run that does not succeed is returned as an error with its run ID. Read-only; requires an APIFY_TOKEN; Apify charges per post row and per publication row.

输入参数proxy_modesince_daysinclude_bodypublicationssearch_outputmax_charge_usdsearch_queriesmax_search_resultsinclude_publication_rowmax_posts_per_publication

版本历史

2
  1. v1.0.1最新Nov 5, 2026
  2. v1.0.0Oct 29, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分