Substack Scraper avatar

Substack Scraper

Pricing

from $10.00 / 1,000 results

Go to Apify Store
Substack Scraper

Substack Scraper

Extract posts from any Substack publication, including subdomains like `*.substack.com` and custom domains such as `www.thefp.com`. You can optionally fetch the full HTML body of each post. The tool supports session cookies for accessing paid content from publications you're subscribed to.

Pricing

from $10.00 / 1,000 results

Rating

0.0

(0)

Developer

Jamshaid Arif

Jamshaid Arif

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

Substack Scraper — Apify Actor

Scrape posts from any Substack publication. Works with *.substack.com subdomains and with custom domains (e.g. www.thefp.com). Optionally fetches each post's full HTML body. Supports a session cookie for accessing paid content of publications you're subscribed to.

Input

FieldTypeDefaultDescription
publicationsarray<string>— (required)Subdomain (e.g. platformer), full host (www.thefp.com), or URL.
postsPerPublicationinteger10Number of most recent posts per publication.
fetchFullContentbooleanfalseIf true, fetches each post's full HTML body (extra request per post).
sinceDatestring (YYYY-MM-DD)Skip posts older than this date.
substackSidstring (secret)Your substack.sid cookie value, for paid content you're subscribed to.
maxConcurrencyinteger5Parallel requests when fetchFullContent is on.

Example input

{
"publications": ["platformer", "astralcodexten", "www.thefp.com"],
"postsPerPublication": 25,
"fetchFullContent": true,
"sinceDate": "2025-01-01",
"maxConcurrency": 5
}

Output

One dataset row per post:

{
"publication_host": "platformer.substack.com",
"post_id": 12345678,
"slug": "the-ai-takeover",
"title": "The AI takeover of search",
"subtitle": "What changes when answers replace links",
"description": "A short summary of the post...",
"url": "https://www.platformer.news/the-ai-takeover/",
"type": "newsletter",
"audience": "everyone",
"published": "2026-05-18T10:00:00.000Z",
"author": "Casey Newton",
"author_handle": "caseynewton",
"reactions": 234,
"comments": 56,
"cover_image": "https://...",
"word_count": 1842,
"body_html": "<p>...</p>",
"truncated_body_text": null
}

For paywalled posts you don't have access to, body_html will be a short preview and truncated_body_text will contain it as plain text.

  1. Log into Substack in your browser.
  2. Open DevTools → Application → Cookies → https://substack.com.
  3. Copy the value of the substack.sid cookie.
  4. Paste it into the substackSid field. Treat it like a password.

You'll only get paid posts for publications you actually pay for.