Substack Scraper — Newsletter Posts, Engagement & Authors
Pricing
$50.00 / 1,000 publication scanneds
Substack Scraper — Newsletter Posts, Engagement & Authors
Scrape every post from any Substack newsletter — title, author, date, reactions, comments, restacks, word count, tags and text — with zero setup. No login, no API key.
Pricing
$50.00 / 1,000 publication scanneds
Rating
0.0
(0)
Developer
Pepe Schuster
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Scrape every post from any Substack newsletter with zero setup — no login, no API key. Pass a handle, a *.substack.com subdomain, or a custom domain and get clean, structured post data with engagement metrics.
Substack has no useful public API for reading other people's newsletters, so getting a newsletter's post history and engagement means scraping. This Actor does it the easy way — clean JSON out, no account, no tokens, no browser hassle.
What you get per post
Title, subtitle, author, publish date, canonical URL, post type (newsletter / podcast / thread), audience (free vs paid), reactions (likes), comment count, restacks, word count, tags, cover image, and a text preview — with the full body available on demand.
Why use it
- ✅ Zero-config — no Substack account, no API key, no OAuth. Enter publications and run.
- 📊 Real engagement data — likes, comments, and restacks per post, not just titles (great for spotting what performs).
- 🏢 Any publication — works on both
*.substack.comsubdomains and custom domains. - 💸 Cheap & predictable — billed per scanned publication, however many posts come back.
- 🎯 Clean structured output — JSON, CSV, or Excel, or straight from the Apify API.
Who it's for
Newsletter operators and sponsors sizing up creators, content and competitor research, media analysts, dataset builders, and anyone archiving or tracking a Substack.
Input
| Field | Description |
|---|---|
publications | Up to 20 Substack handles / subdomains / custom domains (e.g. noahpinion, platformer.news). Each is one scanned publication. |
sort | new (newest first) or top. |
maxPostsPerPublication | How many posts to pull per publication (paginated). |
includeBody | Include the full post body (HTML + text). Off by default. |
maxItems | Optional overall safety cap on total posts. |
Example input
{"publications": ["noahpinion", "astralcodexten"],"sort": "new","maxPostsPerPublication": 50}
Output
One record per post. Example:
{"id": 213463624,"publication": "www.noahpinion.blog","title": "Roundup #87: Technology BAD!!","subtitle": "The Hugging Face attack; TV and loneliness…","author": "Noah Smith","url": "https://www.noahpinion.blog/p/roundup-87-technology-bad","postDate": "2026-09-01T02:26:19.061Z","type": "newsletter","audience": "everyone","likes": 306,"commentCount": 103,"restacks": 41,"wordcount": 3088,"tags": ["economics"]}
Fields: id, publication, title, subtitle, author, url, postDate, type, audience, likes, commentCount, restacks, wordcount, tags, coverImage, truncatedText (+ bodyHtml/bodyText when includeBody is on). Export as JSON, CSV, Excel, or via the API.
Pricing
Pay per scanned publication — one unit per publication, no matter how many posts come back, with no monthly fee. Predictable and cheap.
FAQ
Do I need a Substack account or API key? No — nothing to set up. Does it get paywalled content? No — it returns what Substack serves publicly (free posts in full, free previews for paid posts) plus public engagement metrics. Can I schedule it? Yes — run it on a schedule to keep a rolling archive of newsletters you follow. What formats can I export? JSON, CSV, Excel, XML, or via the API.
Notes
Returns publicly available Substack data only. Please scrape responsibly and comply with applicable terms and laws.