Substack Scraper: Newsletter Posts & Content avatar

Substack Scraper: Newsletter Posts & Content

Pricing

from $1.00 / 1,000 posts

Go to Apify Store
Substack Scraper: Newsletter Posts & Content

Substack Scraper: Newsletter Posts & Content

Scrape Substack newsletters: every post with title, subtitle, date, authors, likes, comments, restacks, paywall status, word count and full text. Works with substack.com subdomains and custom domains.

Pricing

from $1.00 / 1,000 posts

Rating

0.0

(0)

Developer

Inimi

Inimi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Scrape Substack newsletters: the full post archive with titles, dates, authors, engagement (likes, comments, restacks), paywall status, word count and the post text.

No login, no API key and no browser: the Actor reads the data directly, which makes it fast and cheap. Proxies are included in the price.

What can you use it for?

  • Content research: find the most popular topics in a niche.
  • Competitive analysis: track what other newsletters publish and how it performs.
  • AI & RAG: build knowledge bases from newsletters you subscribe to.
  • Media monitoring: follow expert newsletters on any subject.

Features

Inputssubstack.com subdomains, custom domains, post URLs
Per postTitle, subtitle, URL, date, authors, audience (free/paid), paywall flag, type (newsletter/podcast), word count, likes, comments, restacks, cover image, podcast URL, text
FiltersNewest or top, only posts newer than a date, max posts

How to use

  1. Fill in the input (the form explains every field).
  2. Click Start.
  3. Download the results as JSON, CSV or Excel, or use them through the API, webhooks, Zapier, Make or n8n.

Input example

{
"publications": [
"https://www.lennysnewsletter.com"
],
"maxPostsPerPublication": 0,
"sort": "top"
}

Output example

{
"publication": "lenny.substack.com",
"postId": 219482066,
"title": "How to tell if a startup has a moat ",
"subtitle": "A framework for assessing whether the company you’re considering joining is built to last",
"url": "https://www.lennysnewsletter.com/p/how-to-tell-if-a-startup-has-a-moat",
"slug": "how-to-tell-if-a-startup-has-a-moat",
"postDate": "2026-10-13T12:45:41.160Z",
"authors": [
"Dan Hockenmaier"
],
"audience": "only_paid",
"isPaywalled": true,
"type": "newsletter",
"wordCount": 4153,
"likes": 375,
"comments": 2,
"restacks": 22,
"coverImage": "https://substackcdn.com/image/fetch/$s_!7Uce!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F...",
"podcastUrl": null,
"content": "👋 Hey there, I’m Lenny. Each week, I share deeply researched product, growth, and career advice. For more: Lenny’s Jobs | Lenny’s Podcast | Lennybot | How I...",
"status": "ok"
}

Inputs that cannot be scraped (wrong URL, not found, blocked) get a free row with status and error, so you always know what happened. A run summary is saved to the key-value store as SUMMARY.

Pricing

You pay per post saved. Proxies and compute are included. Set a maximum cost per run and the Actor stops cleanly when it is reached.

FAQ

Can it read paid posts? Only the free preview that Substack shows to everyone. Paid posts are flagged with isPaywalled.

Does it work with custom domains? Yes, as long as the newsletter is hosted on Substack.

Can I call it from code or an AI agent? Yes, via the Apify API, the official JS/Python clients, or Apify's MCP server.