Substack Scraper avatar

Substack Scraper

Pricing

from $3.00 / 1,000 posts

Go to Apify Store
Substack Scraper

Substack Scraper

Scrape posts from any Substack newsletter, including custom domains: title, date, authors, likes, comments, word count and the full text of free posts. Pay only per post.

Pricing

from $3.00 / 1,000 posts

Rating

0.0

(0)

Developer

eshetu elias

eshetu elias

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Security

Limited permissions

Share

Scrape posts from any Substack newsletter, including ones on custom domains. Get the title, subtitle, date, authors, likes, comments, restacks, word count, cover image and the full text of free posts, newest first, back to the very first issue.

What you get

publicationdatetitleauthorslikescommentswordspaid
astralcodexten2026-10-30Your Book Review: The History And Adventures Of An AtomScott Alexander77485,789no
astralcodexten2026-10-29Links For October 2026Scott Alexander1634234,112no
astralcodexten2026-10-28My California Ballot, 2026Scott Alexander1515735,439no

Every post also has postId, subtitle, url, type (newsletter, podcast, thread), audience, isPaywalled, restacks, coverImage, podcastUrl, teaser, content (free posts) and scrapedAt.

Use cases

  • Content and competitor research: see what top newsletters in your niche publish and what gets the most likes and comments.
  • AI and search: build a clean text corpus from free posts for RAG, summaries or topic tracking.
  • Creator analytics: track publishing frequency, length and engagement over time.
  • Monitoring: get every new post from the newsletters you follow in one feed.

How much does it cost?

You pay $3.00 per 1,000 posts, nothing else. Set Maximum results to cap your spend; the run stops when it reaches your limit. Publications that don't exist cost nothing.

How to use it

  1. Add publications to Publications: astralcodexten, astralcodexten.substack.com, or a custom domain like https://www.lennysnewsletter.com. A link to any post works too.
  2. Optionally set Max posts per publication, Posted within (days) or Free posts only.
  3. Click Start and download as JSON, CSV or Excel, or pull results by API.

Input example

{
"publications": ["astralcodexten", "https://www.lennysnewsletter.com"],
"maxPostsPerPublication": 100,
"postedWithinDays": 90,
"includeContent": true,
"maxItems": 500
}

Paid (subscriber-only) posts are included with their metadata and Substack's own short teaser, and are marked isPaywalled: true. Their full text is never returned; this Actor doesn't get around paywalls. Turn on Free posts only to skip them.

Speed

About 600 posts a minute without full text, and about 50 a minute with full text (one extra request per free post).

FAQ

Is this legal? The Actor reads each publication's public archive, the same data its /archive page shows to every visitor, and full text only for posts the author made free.

A publication returned nothing. It's listed under FAILED_PUBLICATIONS in the run's key-value store. Check that the address opens a Substack in your browser.

Something broke. Open an issue on the Issues tab; fixes usually ship within 24 hours.