Substack Scraper & New Post Monitor
Pricing
from $2.00 / 1,000 posts
Substack Scraper & New Post Monitor
Scrape Substack newsletters (posts, authors, reactions, comments count, full text as Markdown) and monitor them for new posts. Works with custom domains. Schedule it to get every new post from your favorite newsletters.
Pricing
from $2.00 / 1,000 posts
Rating
0.0
(0)
Developer
Pierre Clarou
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a month ago
Last modified
Categories
Security
Limited permissionsShare
Scrape any Substack newsletter and get every new post automatically: title, date, authors, likes, comments, word count, and the full text as clean Markdown, ready for LLMs, RAG pipelines, summaries or archives.
- ✅ Works with
name.substack.com, custom domains (e.g. lennysnewsletter.com) andsubstack.com/@name - ✅ Monitoring mode: returns only the posts published since the previous run, so you can schedule it daily or hourly
- ✅ Clean Markdown: subscribe buttons, share widgets and icons are removed
- ✅ Fast and reliable: uses Substack's public data, with no browser and no login
How it works
New posts only (default, for monitoring):
- The first run remembers the latest posts of each newsletter (baseline).
- Every next run returns only posts published since the previous run.
- Schedule it in Apify and send new posts to Slack, email, Notion, Google Sheets, Make, Zapier, n8n or your own LLM pipeline.
Latest posts: returns the most recent posts every time. Use it to export an archive or for one-off research.
Output example
{"publication": "lennysnewsletter.com","postId": 215694124,"title": "All of the Lenny & Friends Summit talks are now online!","subtitle": "Plus, some reflections and takeaways from the day","url": "https://www.lennysnewsletter.com/p/all-of-the-lenny-and-friends-summit","postDate": "2026-09-29T13:15:57.512Z","type": "newsletter","audience": "everyone","isPaid": false,"authors": ["Lenny Rachitsky"],"tags": [],"wordCount": 1276,"reactionCount": 283,"commentCount": 6,"restackCount": 5,"coverImage": "https://substack-post-media.s3.amazonaws.com/public/images/...","excerpt": "Each week, I share deeply researched product, growth, and career advice...","contentMarkdown": "I'm excited to share that every main-stage talk from the recent Lenny & Friends Summit is now online...","contentHtml": "<p>...</p>","isContentPreview": false}
Input
| Field | Description |
|---|---|
publicationUrls | Newsletter URLs: name.substack.com, a custom domain or substack.com/@name. |
mode | New posts only (monitoring) or Latest posts. |
maxPostsPerPublication | Maximum posts per newsletter and run (0 = no limit). |
postedAfter | Only posts published after this date. |
includeContent | Add the full text as Markdown and HTML. |
onlyFreePosts | Skip subscriber-only posts. |
stateStoreName | Name of the monitor. Use different names for independent monitors. |
Tip: with New posts only, the first run saves the baseline and outputs nothing. Use Latest posts to get posts right away.
Paid posts
For subscriber-only posts, the Actor returns only what Substack shows publicly to non-subscribers: the metadata and the free preview chosen by the author. isContentPreview: true marks these posts. It never bypasses paywalls.
Use cases
- Newsletter digests: collect new posts from dozens of newsletters and summarize them with an LLM.
- RAG and knowledge bases: feed clean Markdown into your vector database.
- Market and competitor watch: follow industry newsletters and get alerted on new posts.
- Research and analytics: export a newsletter archive with engagement metrics (likes, comments, restacks).
FAQ
Does it work with custom domains? Yes. Paste the newsletter's URL, whatever its domain.
Can I get comments or subscriber lists? No. The Actor only collects posts and public engagement counts, never personal data about readers.
Is it legal? The Actor reads only content that publications make publicly available. You are responsible for using it in line with applicable laws, Substack's terms and authors' copyright.