Substack: scrapers and the official API, compared
Newsletter posts, publications, authors, publish dates, audience type and comment counts from Substack.
Short answer
For most Substack jobs, start with Substack Publication Post Exporter: it covers 6 of 7 core fields (title, publication, author, published and 2 more) at $0.99 per 1,000 results on Apify's Free plan. The top published score for Substack goes to Substack Scraper by automation-lab (99 of 100), a Store tool from another publisher, listed for reference.
From published Store listings, output schemas and the official documentation. Checked 2026-10-25. How the ranking works.Substack Publication Post Exporter: inputs, code and costOpen in Apify Store
Route map
Each line is one way to get Substack data; each stop is a field you probably need. Green lines are catalogue Actors, ranked by the published formula.
- 1 Substack Publication Post Exporter 8 output fields, pay per event 6 of 7 core fields
$0.99 / 1K - + 4 other Store tools, combined Reference only 7 of 7 core fields
from $1.15 / 1K - API Substack Developer API Limited access fields not compared
Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.
Catalogue Actors for Substack
Substack Publication Post Exporter
Export posts from any Substack newsletter: title, author, publish date, body, categories and cover image, filtered by category, date or keyword.…
Field matrix: who returns what
Every tool with a published output schema, against the 7 fields most Substack jobs need. A dot means the field name appears in the schema; rows can still leave it empty.
| Tool | title | publication | author | published | audience | comment | url | Fields |
|---|---|---|---|---|---|---|---|---|
| Substack Publication Post Exporter | ● | ● | ● | ● | ● | – | ● | 6/7 |
| Substack ScraperReference only, by automation-lab | ● | ● | ● | ● | ● | ● | ● | 7/7 |
| Substack Newsletter ScraperReference only, by digispruce | ● | ● | ● | – | – | – | ● | 4/7 |
| Substack Leaderboard ScraperReference only, by parsebird | ● | ● | ● | – | – | – | ● | 4/7 |
| Substack ScraperReference only, by brilliant_gum | ● | ● | – | ● | ● | – | ● | 5/7 |
| Tools returning it | 5 | 5 | 4 | 3 | 3 | 1 | 5 |
Field dictionary: the exact keys
The same core field has a different key in each Actor's output. Map these before you merge datasets; a dash means the published schema has no matching key. Need a field that is not listed here, such as email? Search every Substack Actor by field.
| Core field | Substack Publication Post… |
|---|---|
| title | title |
| publication | publication |
| author | author |
| published | publishedAt |
| audience | audience |
| comment | – |
| url | url |
All 9 tools, scored
Catalogue Actors link to their detail pages; the score (0 to 100) is the published formula, identical for every tool. Other Store tools follow in their own table, for reference. Price is the published primary-result rate per 1,000 (the Free-plan rate where the price is tiered; higher Apify plans pay less); start events and platform usage are excluded.
| Sample fields | ||||||
|---|---|---|---|---|---|---|
| 83 | Substack Publication Post Exporter Catalogue Actor, pay per event | title, publication, author | 8 | $0.99 | 17 runs, too few to rate | Oct 2026 |
Other Store tools, for reference
Scored with the same published formula and listed for comparison only; this site does not link or recommend them.
| Sample fields | ||||||
|---|---|---|---|---|---|---|
| 99 | Substack Scraper Reference only, by automation-lab | title, publicationName, authorName | 39 | $1.15 | 98% of 2,160 runs | Nov 2026 |
| 81 | Substack Newsletter Scraper Reference only, by digispruce | publication_name, author_name, publication_url | 25 | $3.00 | 100% of 2,929 runs | Aug 2026 |
| 77 | Substack Leaderboard Scraper Reference only, by parsebird | publicationName, authorName, publicationUrl | 22 | $4.00 | 89% of 98 runs | Aug 2026 |
| 72 | Substack Scraper Reference only, by fatihtahta | No published schema | – | $2.50 | 99% of 719 runs | Aug 2026 |
| 69 | Substack Scraper Reference only, by brilliant_gum | name, publicationHandle, publishedAt | 18 | $15 | 98% of 136 runs | Aug 2026 |
| 69 | Substack Leaderboard Scraper Reference only, by easyapi | No published schema | – | $2.99 | 96% of 113 runs | Apr 2026 |
| 65 | Substack Posts Scraper Reference only, by easyapi | No published schema | – | $4.99 | 82% of 72 runs | Dec 2025 |
| 64 | Substack Scraper Reference only, by cryptosignals | No published schema | – | $5.00 | 70% of 789 runs | Nov 2026 |
Official API route
Substack Developer API
Substack's Developer API Terms (last updated January 8, 2026) cover access to certain public information on creators' profiles or publications. It is not a general post archive API; each publication also serves a public RSS feed.
Price. No public price is published.
Limits. Rate limits and quotas are set at Substack's discretion and access can be revoked. The help article linked from the terms for API keys returned 404 on 2026-11-11.
Terms and personal data
Substack's terms (updated October 6, 2026) prohibit crawling, scraping or spidering any page and copying significant portions of content. This is general information, not legal advice.
Read Substack's terms. Keep to public data, do not bypass logins or access controls, and check whether personal data is involved before you collect it. The can-I-scrape checklist walks through it.
How to start
- Open Substack Publication Post Exporter and start from its default input; its Actor page has the full example input and code.
- Set the Substack search, profile, listing or URL you need and a result limit.
- Run it and export the dataset as JSON, CSV or Excel, or call it from the Apify API.
Call Substack Publication Post Exporter from code
The example input uses the Actor's published defaults; set your own Substack query before you run it. You need an Apify API token.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "publicationPosts",
"publications": [
"platformer.news"
],
"postUrls": [],
"sortBy": "newest",
"tagsAnyOf": [],
"audienceFilter": "all",
"postType": "all",
"mediaFilter": "any",
"bodyFormat": "none",
"includePaidPreview": False,
"includeComments": False,
"maxCommentsPerPost": 20,
"includePublicationInfo": False,
"maxItems": 3,
"maxPostsPerPublication": 3
}
run = client.actor("vexaloom-labs/substack-publication-post-exporter").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"mode": "publicationPosts",
"publications": [
"platformer.news"
],
"postUrls": [],
"sortBy": "newest",
"tagsAnyOf": [],
"audienceFilter": "all",
"postType": "all",
"mediaFilter": "any",
"bodyFormat": "none",
"includePaidPreview": false,
"includeComments": false,
"maxCommentsPerPost": 20,
"includePublicationInfo": false,
"maxItems": 3,
"maxPostsPerPublication": 3
};
const run = await client.actor("vexaloom-labs/substack-publication-post-exporter").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/vexaloom-labs~substack-publication-post-exporter/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"mode":"publicationPosts","publications":["platformer.news"],"postUrls":[],"sortBy":"newest","tagsAnyOf":[],"audienceFilter":"all","postType":"all","mediaFilter":"any","bodyFormat":"none","includePaidPreview":false,"includeComments":false,"maxCommentsPerPost":20,"includePublicationInfo":false,"maxItems":3,"maxPostsPerPublication":3}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=vexaloom-labs/substack-publication-post-exporter",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
Questions people ask
What is the cheapest catalogue Actor for Substack data?
Substack Publication Post Exporter lists $0.99 per 1,000 results (pay per event), with 8 fields in its published output schema. Start events and platform usage are billed separately. Checked 2026-10-25.
Which Substack scraper returns the most core fields?
Substack Publication Post Exporter covers 6 of the 7 core Substack fields this page tracks (title, publication, author, published, audience, comment, url), based on its published output schema.
Does Substack have an official API?
Limited access: Substack's Developer API Terms (last updated January 8, 2026) cover access to certain public information on creators' profiles or publications. It is not a general post archive API; each publication also serves a public RSS feed. No public price is published.
Is it legal to scrape Substack?
It depends on what you collect and how. Substack's terms (updated October 6, 2026) prohibit crawling, scraping or spidering any page and copying significant portions of content. Read Substack's terms (https://substack.com/tos) before you collect, and check whether personal data is involved. This is general information, not legal advice.
More on Substack
Related websites
- Medium1 Actor
- Yahoo News1 Actor
- Google News1 Actor
Sources
Cite this page
Scraper Finder. "How to get Substack data." https://scraperfinder.com/sites/substack/ (data checked 2026-10-25).
Highest-scoring catalogue Actor
Substack Publication Post Exporter: 6 of 7 core fields, $0.99 per 1,000 results, score 83. The highest score overall is 99 (Substack Scraper, a Store tool from another publisher); both are in the table above.