Substack Scraper ($0.99/1K Results) avatar

Substack Scraper ($0.99/1K Results)

Pricing

from $0.99 / 1,000 results

Go to Apify Store
Substack Scraper ($0.99/1K Results)

Substack Scraper ($0.99/1K Results)

[π˜Ύπ™π™šπ™–π™₯π™šπ™¨π™©] Substack scraper to extract newsletters, authors, posts, subscriber insights, and metadata from Substack βœοΈπŸ“Š Ideal for content research, creator discovery, and newsletter analysis. Fast and scalable.

Pricing

from $0.99 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Hub

Scrapers Hub

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Substack Scraper ✍️

Substack Scraper collects newsletters, posts, and writer profiles from Substack and turns them into a clean, downloadable dataset β€” titles, full article text, authors, publication details, subscriber numbers, engagement counts, and reader comments. Whether you are researching a niche, finding writers to work with, or tracking what your competitors publish, this Substack Scraper gathers it all in one run.

No coding and no Substack account needed. Paste a link, press Run, and download the results as a spreadsheet or JSON file.


πŸš€ Why Choose This Substack Scraper?

FeatureWhat It Means for You
βœ… Three Kinds of LinkWorks as a Substack search scraper, a Substack publication scraper, and a Substack profile scraper β€” it recognises each link automatically
βœ… Full Article TextThe Substack post scraper brings back complete article bodies, not just headlines
βœ… Audience NumbersSee Substack subscriber counts, follower counts, and bestseller tiers for writers and publications
βœ… Comments IncludedOptionally collect reader replies under each post
βœ… Any DomainHandles both something.substack.com and newsletters on their own custom domains
βœ… Spreadsheet-ReadyClear, well-labelled columns let you export Substack data to CSV, Excel, or JSON instantly

πŸ”‘ Key Features of the Substack Scraper

  • πŸ”Ž Search Any Topic β€” paste a Substack search link and the Substack search scraper collects every matching result
  • πŸ“° Whole Newsletters β€” point the Substack publication scraper at any newsletter and it works through the archive
  • πŸ‘€ Writer Profiles β€” the Substack profile scraper returns bio, audience size, social links, and their main publication
  • πŸ“„ Complete Article Bodies β€” full text and formatted versions of each post, so you can read and analyse offline
  • πŸ’¬ Reader Comments β€” switch on replies to collect the discussion under each article
  • πŸ“Š Engagement Data β€” likes, comments, and restack counts for every post
  • πŸ’° Free or Paid β€” each post is marked as free or subscriber-only, so you know what sits behind a paywall
  • 🎧 Podcast Support β€” audio links and episode durations for newsletters that publish podcasts
  • 🏷️ Tags and Topics β€” the labels each publication applies to its own posts
  • πŸ“ˆ Sort Your Way β€” choose the most popular results or the most recent ones
  • 🌐 Custom Domains Handled β€” newsletters that moved to their own web address are recognised automatically
  • πŸ“ Word Counts β€” article length is recorded, which is handy for newsletter research and content benchmarking
  • 🎯 Set Your Own Size β€” collect a handful of posts for a quick look, or a whole archive for deep analysis
  • πŸ” Repeatable Runs β€” save your settings and scrape Substack posts again whenever you want a fresh snapshot
  • 🧾 Consistent Columns β€” every run uses the same layout, so your Substack data extraction stacks neatly over time

πŸ“ Input

Everything can be set up with the simple form in the Apify Console. If you prefer to enter settings directly, this is what a full configuration looks like:

{
"startUrls": [
"https://substack.com/search/climate%20tech",
"https://www.thedispatch.com",
"https://example.substack.com",
"https://substack.com/@janedoe"
],
"result_type": "top",
"limit": 100,
"enrich_data": true,
"get_replies": true,
"maxConcurrency": 5
}

Input Settings

SettingTypeDefaultWhat It Does
startUrlslistβ€”The links to collect. Each can be a search page, a newsletter, or a writer's profile β€” the Substack Scraper works out which is which.
result_typetexttopHow results are ordered: top for the most popular and relevant, or new for the most recent. Applies to searches and newsletter archives.
limitnumberβ€”The most records to collect for each link you supply.
enrich_datayes/notrueFetch each post in full so the complete article text is included. Slower, but far richer. Leave it on unless you only need headlines.
get_repliesyes/nofalseAlso collect the comments under each post, attached to the post's row.
maxConcurrencynumberβ€”How many pages to work on at once. Lower it if you want gentler, slower runs.

πŸ’‘ Tip: you can mix all three link types in one run. Add a search, two newsletters, and a writer's profile together, and the Substack Scraper handles each correctly.


πŸ“¦ Output

The Substack Scraper writes one row per record. Each row is a post, a publication, or a profile, marked by the type column, which keeps results simple to separate and export Substack data to CSV. Here is one post row:

[
{
"id": "148392017",
"type": "post",
"title": "Why grid storage is the real bottleneck",
"subtitle": "Batteries are cheap now. Connecting them is not.",
"description": "Batteries are cheap now. Connecting them is not.",
"published_at": "2026-03-02T11:00:00.000Z",
"url": "https://climatecurrent.substack.com/p/why-grid-storage-is-the-real-bottleneck",
"author_name": "Jane Doe",
"author_handle": "janedoe",
"publication_name": "Climate Current",
"image_url": "https://substackcdn.com/image/fetch/cover.jpg",
"post_type": "newsletter",
"audience": "everyone",
"is_paid": false,
"reaction_count": 412,
"comment_count": 58,
"restack_count": 76,
"wordcount": 2140,
"language": "en",
"slug": "why-grid-storage-is-the-real-bottleneck",
"tags": ["Energy", "Policy"],
"podcast_url": null,
"body_text": "Battery cell prices have fallen by more than 80% in a decade...",
"replies": [
{
"body_text": "The interconnection queue point is underrated.",
"author_name": "Sam Patel"
}
]
}
]

Post Columns

ColumnTypeWhat It Contains
idtextSubstack's own identifier for the post
typetextpost, publication, or profile
titletextThe article headline
subtitletextThe standfirst shown beneath the headline
descriptiontextThe summary used in previews and social shares
published_attextWhen the post was published
urltextA clickable link to the article
author_nametextWho wrote it
author_handletextTheir Substack handle
publication_nametextThe newsletter it appeared in
image_urltextThe article's cover image
published_bylineslistEvery contributor, for co-written posts
post_typetextWhether it is a newsletter, podcast, or thread
audiencetextWho can read it, such as everyone or paying subscribers only
is_paidyes/notrue when the post sits behind a paywall
reaction_countnumberHow many likes it received
comment_countnumberHow many comments it received
restack_countnumberHow many times readers reshared it
wordcountnumberHow long the article is
languagetextThe language it was written in
tags / post_tagslistTopic labels applied by the publication
podcast_urltextThe audio file, for podcast posts
podcast_durationnumberEpisode length in seconds
body_texttextThe complete article as plain readable text
body_htmltextThe same article with its original formatting
replieslistReader comments, when reply collection is switched on
updated_attextWhen the post was last edited

Publication and Profile Columns

ColumnTypeWhat It Contains
typetextpublication for newsletters, profile for writers
titletextThe newsletter name, or the writer's name
descriptiontextThe newsletter tagline, or the writer's bio
urltextA clickable link to the newsletter or profile
author_nametextWho runs it
author_biotextTheir written biography
subscriber_countnumberHow many subscribers they have
subscriber_count_stringtextThe same figure as displayed, e.g. 12K
follower_countnumberHow many people follow the writer
free_subscriber_countnumberHow many subscribers are on the free tier
bestseller_tiernumberSubstack's bestseller badge level, when awarded
publication_typetextThe kind of publication it is
tiertextWhich paid tiers it offers
has_podcastyes/noWhether it publishes audio episodes
custom_domaintextIts own web address, when it has moved off substack.com
subdomaintextIts something.substack.com name
first_post_datetextWhen it started publishing
twitter_screen_nametextThe writer's X/Twitter handle
user_linkslistOther links the writer lists on their profile
image_urltextThe logo, cover photo, or profile picture

πŸš€ How to Use the Substack Scraper (Step by Step)

  1. Sign in β€” go to console.apify.com and open the Actors tab.
  2. Open the actor β€” search for Substack Scraper and click its card.
  3. Add your links β€” paste search pages, newsletter addresses, writer profiles, or a mixture of all three.
  4. Choose your order β€” the most popular results, or the most recent.
  5. Set your size β€” decide how many records to collect per link. Start small to review the output.
  6. Choose your depth β€” leave full article text on for complete posts, or switch it off for faster headline-only runs.
  7. Add comments β€” switch on replies if you want reader discussion included.
  8. Press Run and download β€” open the OUTPUT tab and save as CSV, Excel, JSON, XML, or RSS.

No coding required β€” the Substack Scraper gives you a complete dataset in minutes.


🎯 What Makes This Substack Scraper Different

  • 🧠 It Recognises Your Links β€” you do not have to say what each link is; the Substack Scraper works out whether it is a search, a newsletter, or a profile
  • πŸ“„ Whole Articles, Not Snippets β€” full body text means you can genuinely read and analyse content, which most tools skip
  • 🌐 Custom Domains Handled β€” newsletters that moved to their own address are still collected properly, where many tools simply fail
  • πŸ“Š Audience Data Attached β€” subscriber and follower numbers arrive with each writer, so your Substack data extraction supports real comparisons
  • πŸ’° Paywall Clarity β€” every post states whether it is free or paid, so you always know what you are looking at
  • 🎧 Podcasts Are Not Forgotten β€” audio links and durations come through for newsletters that publish episodes
  • 🧡 Comments in Context β€” replies stay attached to their post rather than arriving as a disconnected list
  • 🎚️ Speed You Control β€” turn full text on or off, and set how many pages run at once, to balance depth against time
  • πŸ“¬ Built for Newsletters β€” as a Substack newsletter scraper it understands archives, paywall tiers, and podcast posts, not just generic web pages

πŸ’‘ Best Use Cases for the Substack Scraper

  • πŸ“š Competitive Content Analysis β€” scrape Substack posts from rival newsletters to see what topics and formats they use
  • 🀝 Writer and Creator Discovery β€” find newsletters in your niche and check their real audience size before reaching out
  • πŸ“’ Sponsorship Research β€” compare Substack subscriber counts and engagement to judge whether a placement is worth its price
  • πŸ“ˆ Topic and Trend Tracking β€” follow how a subject is covered across many publications over time
  • ✍️ Content Planning β€” use newsletter research to spot which angles attract the most reactions and restacks
  • πŸŽ™οΈ Podcast Discovery β€” the Substack newsletter scraper surfaces which publications also publish audio
  • πŸ”¬ Media and Academic Research β€” build a corpus of full articles with dates, authors, and engagement attached
  • πŸ’¬ Audience Insight β€” collect comments to hear what readers actually say, not just what writers publish
  • πŸ—„οΈ Archive Building β€” point the Substack post scraper at your own newsletter to keep a complete offline backup of everything you have written
  • πŸ“₯ Dashboards and Reports β€” export Substack data to CSV and load it straight into your reporting tool

πŸ”§ Good to Know

A few practical notes before you run the Substack Scraper:

  • What you can start from
    • A Substack search page
    • A newsletter address, on substack.com or its own custom domain
    • A writer's profile page
  • Download formats
    • CSV, Excel, JSON, XML, and RSS
  • Please note
    • ❌ Subscriber-only articles cannot be read in full β€” paid posts return their public preview, and the is_paid column tells you which ones
    • ❌ Private subscriber lists and email addresses are never collected
    • ℹ️ Full article text makes runs noticeably slower, since each post is fetched individually
    • ℹ️ Comment collection adds further time, so combine it with a sensible limit
    • ℹ️ Very large archives take a while, so start with a small limit to confirm the output looks right

🀝 Support & Feature Requests

Need a hand, or have an idea for the Substack Scraper?

  • πŸ’‘ Feature Requests β€” want date filtering, scheduled monitoring, or cross-newsletter comparison reports? Just ask.
  • πŸ“§ Contact β€” email us at scrapershub@gmail.com.

Your feedback shapes what we build next and helps keep this the most useful Substack Scraper on the Apify Store.


Start today with the most complete Substack Scraper available β€” posts, newsletters, writers, and comments in one run.

If the Substack Scraper is useful to you, these tools from Scrapers Hub collect listings, profiles, posts, and contact details from other platforms:

Disclaimer

This Substack Scraper collects information only from publicly available pages. It does not access paywalled article bodies, private subscriber lists, email addresses, or any password-protected content. Articles remain the property of their authors, and you are responsible for respecting copyright, Substack's terms of service, and applicable data privacy laws when using what you collect.

For data removal requests, please contact scrapershub@gmail.com. Always use these tools responsibly, ethically, and for legitimate purposes only.