Substack Posts Scraper
Pricing
from $2.00 / 1,000 post rows
Substack Posts Scraper
Scrape any Substack publication: post titles, subtitles, authors, dates, likes, comments, paywall status, cover images and optionally full HTML body. Give it publication URLs and it walks the archive. No login.
Pricing
from $2.00 / 1,000 post rows
Rating
0.0
(0)
Developer
John Rutherford
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape any Substack publication's archive: titles, subtitles, authors, dates, likes, comments, restacks, paywall status, cover images and, optionally, the full post body. Give it publication URLs and it walks the archive newest-first. No login.
For newsletter research, competitor tracking, content aggregation, trend analysis and building reading lists or datasets.
What you get
One row per post:
| Field | Meaning |
|---|---|
publication, post_id, slug, url | Identity and link |
title, subtitle, description, cover_image | Headline material |
type | newsletter, podcast, thread |
post_date, author | Published time (ISO) and bylines |
likes, comments, restacks | Engagement |
paywalled, audience | only_paid means subscribers only |
word_count | Length |
body_html, body_text | Full body when Include full post body is on (free preview only for paywalled posts) |
Sample row:
{"publication": "www.lennysnewsletter.com","title": "How to hire your first PM","post_date": "2026-09-02T12:01:00.000Z","author": "Lenny Rachitsky","likes": 412,"comments": 37,"paywalled": false,"url": "https://www.lennysnewsletter.com/p/how-to-hire-your-first-pm"}
Input
| Option | Default | What it does |
|---|---|---|
| Publication URLs | One or more Substack sites, custom domains included | |
| Max posts per publication | 100 | Newest first |
| Only posts since | ISO date; stops at older posts | |
| Post type | all | newsletter, podcast, thread |
| Include full post body | off | Adds body_html and body_text |
| Max posts total | 5000 | Cap across all publications |
Pricing
Pay per event: one small charge per post row. The body option adds one request per post but no extra charge.
Notes and limits
- Works with custom domains as long as the site is a Substack (the
/api/v1/archiveendpoint answers). - Paywalled bodies return only the public preview; this Actor does not bypass paywalls.
- Be polite: a 300 ms pause between archive pages is built in.