Substack Posts Scraper avatar

Substack Posts Scraper

Pricing

from $1.00 / 1,000 posts

Go to Apify Store
Substack Posts Scraper

Substack Posts Scraper

Scrape posts from any Substack publication, including custom domains: title, date, likes, comments, restacks, authors, paid/free flag, optional full text — newest first, with date filter and CSV/JSON export. No login.

Pricing

from $1.00 / 1,000 posts

Rating

0.0

(0)

Developer

Ilia Muravev

Ilia Muravev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Share

Get the posts of any Substack publication — on *.substack.com or a custom domain — as JSON, CSV or Excel, or straight into your own tools via API. No login, no cookies: it reads the same public archive that powers the publication's own "Archive" page.

Paste publication URLs, subdomains or author handles, set how many posts you need (or a date like "90 days"), optionally turn on Include post content to get the text of every post.

What you get

FieldDescription
publication, publicationName, publicationAuthorHost (e.g. www.lennysnewsletter.com), name and author of the publication
id, slug, url, title, subtitle, descriptionThe post and its listing summary
date, typePublication time (UTC); newsletter, podcast, thread or video
audience, isPaid, wordCountFree vs paywalled, length
reactions, reactionCount, commentCount, restacksEngagement as shown publicly
authors, tags, section, coverImageBylines with handles, tags, section
podcastUrl, podcastDurationFor podcast posts
previewTextFirst lines of the post as Substack lists them
bodyText, bodyHtmlOnly with Include post content: full text of free posts; for paid posts the public preview an anonymous reader sees

Posts come newest first per publication. A per-publication summary (name, author, posts fetched, errors) is saved to the key-value store as SUMMARY.

Input

  • Publications — any mix of lenny, astralcodexten.substack.com, https://www.astralcodexten.com, a post URL, or an author handle @lenny / https://substack.com/@lenny (resolved to the author's primary publication).
  • Max posts per publication — newest first, read in pages of 25.
  • Only posts newer than2026-01-31 or 7 days / 2 weeks / 3 months / 1 year. Scraping stops at the first older post, so a daily run with 1 day costs almost nothing.
  • Include post content — one extra request per post, charged as a separate event.
  • Proxy — off by default.

Limits and notes

  • Paywalled posts return exactly what Substack shows to non-subscribers: metadata plus the public preview. The Actor cannot and does not bypass paywalls.
  • Comments and Notes are not included.
  • A subdomain that was moved to a custom domain (e.g. lenny.substack.com) is followed automatically. If a subdomain turns out to be a personal profile rather than a publication, the run says so and continues with the rest.
  • Public data only; the Actor stores nothing beyond the dataset of your run.

Pricing

Pay per post — plus a small per-post fee when you ask for the full content. Runs that return zero posts cost nothing.

Typical uses

Newsletter monitoring and competitive research, feeding posts into an LLM for summaries or topic tracking, building a reading digest of many publications, archiving your own publication, engagement benchmarks (likes, comments, restacks per post) over time.