Substack scraper and API alternative for any newsletter, custom domains included: posts with title, date, free or paid flag, likes, comments, full text and author.
Fix: Substack changed how its post archive pages (cursor instead of offset), and runs returned the publication row but no posts. Posts are listed again, page after page; if Substack refuses the archive, the run now says so in an error row instead of finishing silently empty.
2026-10-21
Maintenance: run-end alerts updated to the current shared version; proxy helper updated to the current shared version.
2026-10-17
Publication rows are back, and every post again carries its publication name: Substack moved the page data the Actor reads into a new place on the page. Subscriber tier, plans, paid benefits, logo and the other publication fields are filled again.
2026-10-15
Publications on a <name>.substack.com address work again: Substack had started refusing them (HTTP 403), the Actor now retries such a page in a way Substack accepts and follows it to the publication's own domain.
The form example now uses a live publication (Noahpinion) instead of Platformer, which left Substack in 2024.
2026-10-02
Runs end as soon as your maximum cost per run is reached, with a clear status message; everything written is paid for and nothing beyond your limit is charged.
Default memory now scales with your input (number of publications, posts and whether full text is on), so small runs use less memory.
2026-09-29
Example publications are shown as a prefill only and are no longer used as a hidden default when the field is left empty.
2026-09-23
Initial release: turns any Substack publication (custom domains included) into a table of posts with title, subtitle, date, free or paid, likes, comments, restacks, word count, post type and cover, with optional full text of free posts and a publication row with author, subscriber tier and paid plans.