Scrape all posts from a Substack newsletter
50 newest posts from two publications.
{
"publications": [
"https://www.lennysnewsletter.com",
"platformer.substack.com"
],
"maxPostsPerPublication": 50
}Run this task →Give it Substack publications and get their posts with title, subtitle, date, free or paid, likes, comments, restacks, word count, podcast length, cover and URL. Optionally add the full text of free posts and a publication row with author, subscriber tier and paid plans. Custom domains work.
title / subtitle | Post title and subtitle |
date | Publish date |
audience | Free or paid post |
likes / comments / restacks | Likes, comments and restacks |
wordCount | Word count |
podcastDuration | Podcast length |
cover / url | Cover image and post URL |
content | Full text of free posts (optional) |
publication | Publication row: author, description, subscriber tier, launch date, paid plans |
$0.60 per 1,000 rows
You pay per post returned, per full-text add-on only for free posts when that option is on, and per publication row. Posts older than your date filter are skipped and not charged; there is no run fee.
Apify gives $5 free credits every month — enough to test this scraper at no cost.
Ready-made inputs. Copy one into the scraper form or send it through the API.
50 newest posts from two publications.
{
"publications": [
"https://www.lennysnewsletter.com",
"platformer.substack.com"
],
"maxPostsPerPublication": 50
}Run this task →Free posts since January with content.
{
"publications": [
"astralcodexten.substack.com",
"noahpinion.substack.com"
],
"publishedAfter": "2026-01-01",
"includeContent": true
}Run this task →Podcast posts only, up to 100.
{
"publications": [
"https://www.lennysnewsletter.com"
],
"postType": "podcast",
"maxPostsPerPublication": 100
}Run this task →Publication rows plus 10 posts each.
{
"publications": [
"thegeneralist.substack.com",
"https://www.notboring.co",
"platformer.substack.com"
],
"maxPostsPerPublication": 10,
"includePublicationRow": true
}Run this task →Yes. Use Substack URLs, subdomains or custom domains such as lennysnewsletter.com.
Yes, for free posts. Turn on full text to add contentHtml and contentText; paid posts are not unlocked.
Yes. Set a published-after date and pick a post type such as newsletter, podcast, thread or video.
The scraper collects only publicly visible data from Substack, without logging in. Whether your use is lawful depends on your country and purpose: respect local law and the site's terms, and avoid collecting or storing personal data you don't need.
Run it from the Apify API or the Python and JavaScript clients, or connect it to Make, n8n, Zapier or Google Sheets. Results export to JSON, CSV or Excel.