Substack Scraper — Posts, Likes, Comments & Full Text
Pricing
$1.00 / 1,000 post delivereds
Substack Scraper — Posts, Likes, Comments & Full Text
Substack posts from any publication: title, date, authors, likes, comments, restacks, word count, paid or free, tags and optionally the full text. Many publications per run.
Get the posts of any Substack publication — title, subtitle, date, authors, likes, comments, restacks, word count, free or paid, tags — and, if you want, each post's text. Put in as many publications as you like; one run does them all.
Why this one
- 📰 Any publication, however it is addressed. Its name (
lenny), its substack.com address, or its own domain (www.lennysnewsletter.com). - 📊 Engagement numbers. Likes, comments and restacks for every post — sort by newest or by most popular.
- 📝 The text too. Switch on Post text for the full text of free posts, and the free preview of paid ones. In a live test run, 589 of 600 posts came with their text.
- 🧾 Honest results. A site that is not on Substack is recognised at once and comes back as a free record with the reason.
- 💸 You pay only for posts delivered. With Free posts only on, skipped paid posts are free too.
What you get
For every post:
| Field | What it is |
|---|---|
title, subtitle, url, slug, postId | the post |
publishedAt | publish time, ISO 8601 |
type | newsletter, podcast or thread |
audience, isPaid | who can read it: everyone, or paid subscribers only |
authors | the bylines |
wordCount, likes, comments, restacks | size and engagement |
section, tags | how the publication files it |
description, coverImage, podcastUrl | listing details |
content, contentIsPreview | with Post text on: the text, and whether it is only the free preview of a paid post |
publication, input, position, scrapedAt | where it came from |
status, error | OK, or why a publication gave nothing |
Example
A real record from a live run, 24 September 2026 (text shortened):
{"publication": "https://lenny.substack.com","title": "Announcing Lenny’s Jobs: The best place in the world to find, vet, and land your dream job","url": "https://www.lennysnewsletter.com/p/announcing-lennys-jobs-the-best-place","publishedAt": "2026-08-18T15:40:06.921Z","type": "newsletter","audience": "everyone","isPaid": false,"authors": ["Lenny Rachitsky"],"wordCount": 933,"likes": 378,"comments": 18,"restacks": 9,"tags": ["Career"],"content": "👋 Hey there, I’m Lenny. Each week, I share deeply researched product, growth, and career advice…","status": "OK"}
How to use it
- Add Publications, one per line.
- Set Max posts per publication, the Order, and optionally a Search.
- Switch on Post text if you need the text, and Free posts only if you want to skip paid posts.
- Press Start, and download the results from the Output tab as JSON, CSV or Excel.
To follow new posts from a set of newsletters, save your input as a task and schedule it daily with a small Max posts per publication.
You can also call it from the Apify API, from Make, Zapier or n8n, or from an AI agent through the Apify MCP server.
Pricing
You are charged per post delivered — see the price on this page. Publications that do not exist or are not on Substack are free, and so are paid posts skipped with Free posts only.
FAQ
Do I get the full text of paid posts? No — the free preview Substack shows to everyone. contentIsPreview marks those.
A publication came back as NOT_FOUND. It does not exist, or it has moved off Substack (Platformer, for example, now runs elsewhere).
Is this affiliated with Substack? No. This is an independent tool that reads what Substack publications publish.
Like it? A short review on the Store page helps other people find this Actor. Something missing or broken? Tell us on the Issues tab — we read every one.