Substack Newsletter Archive Scraper — public post metadata, no  avatar

Substack Newsletter Archive Scraper — public post metadata, no

Pricing

$1.00 / 1,000 post scrapeds

Go to Apify Store
Substack Newsletter Archive Scraper — public post metadata, no

Substack Newsletter Archive Scraper — public post metadata, no

Collect the public post archive of any Substack newsletter (title, subtitle, publish date, URL, author, word count, restack count, paywall flag) via Substack's own public archive endpoint. No login, no proxies. Only metadata is returned — body text is never sent to unauthenticated requests.

Pricing

$1.00 / 1,000 post scrapeds

Rating

0.0

(0)

Developer

Backyard Tools

Backyard Tools

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Substack Newsletter Archive Scraper — public post metadata, no login

**Substack API** — Collect the public post archive of any Substack newsletter via its own archive endpoint: title, date, author, word count, paywall flag. Metadata only, no login.

Collect the public post archive of any Substack newsletter through the same public JSON endpoint the newsletter's own archive page calls (/api/v1/archive). No login, no proxies.

Tested (2026-09-02)

NewsletterResult
astralcodexten200, real posts returned, offset paging confirmed (different posts at offset=2)
garymarcus200, real posts returned
robertreich200, real posts returned
nonexistent subdomain404 — 0 items, no charge

Important: unauthenticated requests never receive article body text — body_html / body_json / truncated_body_text all come back null regardless of the post's paywall status. This actor only ever collects the metadata Substack already serves to a logged-out visitor: title, subtitle, date, author byline, word count, and engagement counts.

Substack API — input

{
"targets": ["astralcodexten", "garymarcus"],
"maxItems": 500
}

Each target is the newsletter's *.substack.com subdomain (the part before .substack.com, even if the publication now serves readers from a custom domain). A subdomain with no archive returns 0 items.

Substack API — output fields

One dataset item per post:

Field
post_idSubstack's internal post ID
title / subtitlepost headline and dek
post_dateISO 8601 publish timestamp
canonical_urlpublic URL of the post
post_typenewsletter / podcast / thread
audienceeveryone (free to read) or a paid-gate value
wordcountword count Substack itself reports
restacksrestack (share) count at collection time
languageISO language code
author_name / author_handlethe writer's public byline name and handle — the name they publish under, not private personal data

No reader data of any kind. No article body text (Substack doesn't send it to logged-out requests in the first place).

Use Cases

  • Competitor cadence tracking — monitor how often a newsletter publishes, its mix of post_type (newsletter / podcast / thread), and its free-vs-paid audience ratio over time
  • Pitch research — pull a newsletter's post history (title, date, wordcount) before pitching a guest post or a similar publication in the same niche
  • Engagement benchmarking — compare restacks across a newsletter's posts to see which topics or formats get shared the most

Pricing

Pay per event: $1.00 per 1,000 posts collected. Nothing else.