Substack Publication Posts Scraper avatar

Substack Publication Posts Scraper

Pricing

from $3.00 / 1,000 pages

Go to Apify Store
Substack Publication Posts Scraper

Substack Publication Posts Scraper

Get a publication's archive

Pricing

from $3.00 / 1,000 pages

Rating

0.0

(0)

Developer

Data Direct

Data Direct

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

a day ago

Last modified

Security

Limited permissions

Share

Get a publication's posts, newest first, top or most discussed, or search them by keyword. Returns post title, author, publication date, engagement, paywall status, word count and tags. Supports fetching multiple pages in a single API call.

Features

  • Real-time Substack data — results are fetched live at run time, never cached or stale
  • No login, cookies, or proxy configuration needed — just provide the input and run
  • Each result is pushed as a separate dataset item, exportable as JSON, CSV, or Excel
  • Fast: a typical run finishes in seconds

Input

FieldTypeRequiredDescription
publicationstringyesPublication subdomain (lenny), host (lenny.substack.com, www.lennysnewsletter.com) or any URL on it (max 500 characters)
querystringnoKeyword to search the publication's posts for (max 500 characters). Results are by relevance; sort_by is ignored.
sort_bystringnoSort order for the archive One of: most_recent, top, discussions.
podcasts_onlybooleannoSet to true to return only podcast episodes (most_recent archive only).
pagesintegernoNumber of pages to fetch and merge into one response (1-100, billed per page returned). Each page returns up to 20 posts. Fetching stops early when there are no more results.

Pricing

This Actor is billed per page of results — $0.003 per page.

  • Results come in pages. Use the pages input to choose how many pages to fetch (1–100); more pages means more results.
  • You pay $0.003 for each page you fetch, so pages: 3 costs $0.009 and pages: 1 costs $0.003.
  • You’re only charged when a run succeeds, or when it fails because what you asked for was looked up and doesn’t exist, is private, or isn’t valid: that costs one page ($0.003). Other failed runs are free.

Example output

{
"title": "Everyone should be using Claude Code more",
"subtitle": "How to get started, and 50 ways non-technical people are using Claude Code in their work and life",
"url": "https://www.lennysnewsletter.com/p/everyone-should-be-using-claude-code",
"date": "2025-10-14 13:03:49",
"author": "lenny",
"author_name": "Lenny Rachitsky",
"author_id": "1849774",
"author_url": "https://substack.com/@lenny",
"source": "Substack",
"domain": "substack.com",
"snippet": "How to get started, and 50 ways non-technical people are using Claude Code in their work and life",
"likes": 839,
"comments": 25,
"restacks": 65,
"reactions": {
"\u2764": 839
},
"is_paid": true,
"audience": "only_paid",
"type": "newsletter",
"wordcount": 2958,
"lang": "en",
"cover_image_url": "https://substackcdn.com/image/fetch/$s_!ByeN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F\u2026",
"podcast_url": "",
"podcast_duration": 0,
"tags": [
"AI"
],
"publication": "Lenny's Newsletter",
"publication_id": "10845",
"publication_url": "https://www.lennysnewsletter.com",
"slug": "everyone-should-be-using-claude-code",
"post_id": "175662739",
"authors": [
{
"username": "lenny",
"name": "Lenny Rachitsky",
"user_id": "1849774"
}
],
"replies": 0,
"audio_url": "",
"podcast_image_url": "",
"video_duration": 0
}

About

Maintained by Data Direct — a small suite of fast, reliable Substack and web-data scrapers. Each actor returns clean, structured results with no login, cookies, or proxy setup required. Have a question or a custom data need? Open an issue on this actor.