Substack Scraper & API: Posts, Subscribers & Full Text avatar

Substack Scraper & API: Posts, Subscribers & Full Text

Pricing

from $0.59 / 1,000 posts

Go to Apify Store
Substack Scraper & API: Posts, Subscribers & Full Text

Substack Scraper & API: Posts, Subscribers & Full Text

Scrape Substack without login: newsletter posts (latest or top), keyword search, author or post links. Likes, comments, restacks, paid flag, newsletter subscriber count, author followers, full text as Markdown and top comments. Date and likes filters, new posts alerts.

Pricing

from $0.59 / 1,000 posts

Rating

0.0

(0)

Developer

Superior Actors

Superior Actors

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Substack Scraper & API: Posts, Subscribers & Full Text

Export Substack posts with their real numbers: likes, comments, restacks, word count, paid flag, the newsletter's subscriber count and leaderboard rank, the author's followers, the full text as Markdown and the top comments. Get posts of any newsletter (the whole archive, latest or top), by keyword search across all of Substack, every post of an author, or by post link. No Substack account, no browser, no 20-post RSS limit.

{ "publications": ["noahpinion", "www.lennysnewsletter.com"], "sort": "top", "publishedAfter": "2026-01-01" }

Filter by date range, minimum likes and free / paid; posts you filter out are free. Schedule it with Only new posts to get every new post of a newsletter, an author or a keyword as an alert.

What you get

Real example, 26 October 2026: newsletter Noahpinion, Top, published in 2026:

publishedtitlesubscriberslikescommentsrestackswordspaidleaderboard
2026-01-11Why are federal agents gunning down Americans in the streets?461,0001,1114572153,122yes#2 Business
2026-06-26The Democrats have their own MAGA now461,0007553151293,617yes#2 Business
2026-02-05The Fall of the Nerds461,000567153823,449yes#2 Business
2026-02-13You are no longer the smartest type of thing on Earth461,000540238942,692yes#2 Business

Search "personal finance", at least 50 likes, with the text:

titlenewslettersubscriberslikescommentslikes / 1k subscribersfull text
10 Lessons from The Psychology of Money in VisualsSketchy Ideas12,00010,7333358941,112 words
you're too cool to not be financially literateFinancial Hot Girl30,00011,634933882,002 words
10 Micro Income Streams That Quietly Build Financial FreedomWiFi Wealth by Tom Blake7,6001,445971903,493 words
Hot Girls Guide to Saving MoneyHot Girls Save Money100,0001,81755181,798 words
FieldDescription
id, title, subtitle, url, slugThe post, its subtitle and link
postType, audience, isPaidnewsletter, podcast, thread or video; free, paid or founding members only
publishedAtPublication time (UTC)
authorName, authorHandle, authorUrl, authorBio, coAuthorsThe writer (guest authors too) and co-authors
authorFollowersThe author's followers on Substack
publicationName, publicationSubdomain, publicationUrl, publicationIdThe newsletter it appeared in (custom domain if it has one)
publicationSubscribers, publicationSubscribersTextThe newsletter's subscriber count as Substack shows it (1.2M+ subscribers = 1,200,000)
leaderboardRank, leaderboardCategoryIts place in the Substack bestseller leaderboard (e.g. #1 in Business)
likes, comments, restacksLikes (hearts), comments and restacks of the post
likesPer1kSubscribersLikes per 1,000 subscribers: finds posts that did far better than the newsletter's audience
wordCount, readingTimeMinutesNumber of words and reading time (265 words a minute)
tags, language, imageUrl, descriptionPost tags, language, the cover image, the teaser
podcastUrl, podcastDurationSecondsThe audio of podcast posts
markdown, text, isFullTextThe post as Markdown (headings, links, lists, quotes, images, embeds) and plain text. isFullText = false: a paid post, you get the free preview Substack shows to visitors
topCommentsWith Comments per post: the top comments with replies (author, text, date, likes, replyTo)
source, sourceType, rankThe newsletter, query or author the row came from, and its place there
scrapedAtRun time

How it works

  1. Add one or more sources: Newsletters (noahpinion, noahpinion.substack.com or a custom domain like www.lennysnewsletter.com), Search queries, Authors (@handle or a substack.com/@... link) or Post links (/p/... on any domain, open.substack.com, substack.com/home/post/p-...)
  2. For newsletters, choose the order: Latest (newest first, the whole archive) or Top (most liked first)
  3. Optionally set Published after / before (2026-01-01 or 30 days, 6 months), Minimum likes and Free or paid posts
  4. Set Max posts per source and run. Download as CSV, Excel, JSON or HTML. Three tabs: Posts, Engagement, Text

The text and the subscriber counts are on by default; turn them off for faster runs when you need only the post numbers. Comments per post (0 by default) adds the top comments to each row at no extra cost.

Why this Actor

📚 The whole archiveSubstack's RSS feed gives only the 20 latest posts. Here a newsletter gives every post back to its first issue, an author every post they wrote, a search as deep as you want
📈 Subscriber counts and leaderboard rankThe subscriber count of each newsletter and its bestseller rank on every row, plus likes per 1,000 subscribers to spot outliers
📝 Full text as MarkdownClean Markdown of free posts, ready for RAG, LLM training sets, summaries or archives; paid posts are flagged
💬 Comments includedTop comments with replies in the same row, not a separate charge
🎯 Filters that cost nothingDates, minimum likes, free / paid: filtered-out posts are not charged
🔔 New-post alertsOnly new posts returns just what appeared since the previous run of the same source
💰 $0.99 per 1,000 postsText, comments and subscriber counts included, no subscription

Get new Substack posts every day

  1. Add your newsletters, authors or keywords and turn on Only new posts
  2. Save as a task and add a schedule, e.g. every morning
  3. The first run returns the latest posts as a baseline. Every later run returns only posts not seen before: send them to Google Sheets, Slack or email with an integration

The memory is kept in your account (key-value store substack-scraper-state). Use a different Monitor name for each task.

Pricing

Pay per post in the results, no subscription needed. Apify Scale and Business plans pay less:

EventFree and Starter plansScale planBusiness plan
Run start$0.001$0.001$0.001
Post (one row, text, comments and subscriber count included)$0.00099$0.00077$0.00059
TaskCost
20 latest posts of a newsletter~$0.02
The whole archive of a newsletter (~1,000 posts), with text~$1.00
500 search results for one keyword~$0.50
Daily alert of new posts of 10 newsletters (~5 a day)~$0.18 per month

Posts left out by your filters or by Only new posts are not charged.

Ready-made tasks

Open it, change the newsletter, and run:

TaskWhat you get
Export a Substack Newsletter ArchiveEvery post of a newsletter with likes, comments, subscribers and the text as Markdown

FAQ

Where does the data come from? From Substack itself, the same data any visitor sees, without logging in. Likes, comments, restacks and followers are Substack's own counts at the time of the run.

How exact is the subscriber count? It is the number Substack shows on the newsletter and the author's profile (1.2M+, Over 324,000 subscribers): a rounded floor, not the exact list size, which only the writer sees. Some newsletters hide their count: then the field is empty.

Do I get the text of paid posts? No. Paid (subscriber-only) posts give the free preview Substack shows to visitors, and isFullText is false. All their numbers (likes, comments, words) are complete. Use Free or paid posts = Free posts only when you need the full text of every row.

Why are comments empty on some posts? Paid posts hide their comments from visitors; the comments count is still there.

How many posts can I get? A newsletter or an author: the whole history. A search: as deep as Substack returns results (hundreds per query).

What date formats work? 2026-01-31, 2026-01-31T10:00:00Z, or relative: 7 days, 2 weeks, 3 months, 1 year.

Do I need a Substack account or an API key? No.

Use with the API and AI agents

Run it via the Apify API from Python, Node.js or any HTTP client as your Substack API, or connect it to Claude, ChatGPT and other AI agents through the Apify MCP server: "Find the most liked Substack posts about AI agents from the last 3 months, from newsletters under 50,000 subscribers, and summarize what they have in common."

Other blog & content tools

ToolWhat it does
Medium ScraperMedium articles by tag, search, author or publication, with claps and full text
YouTube Transcript ScraperTranscripts of YouTube videos and channels as text
Audio & Video TranscriberPodcasts and any audio or video file to text
Threads ScraperThreads posts and profiles with likes and replies
Google Sheets Import & ExportSend the posts to a Google Sheet

The Actor reads only public pages and data that Substack shows to any visitor, without logging in, and does not get around the paywall. Posts belong to their authors: respect copyright when you reuse the text, and follow data protection rules (such as GDPR) for the author names, bios and comments in the results.