Substack New-Post Monitor avatar

Substack New-Post Monitor

Under maintenance

Pricing

from $2.00 / 1,000 new posts

Go to Apify Store
Substack New-Post Monitor

Substack New-Post Monitor

Under maintenance

Watch your favorite Substack newsletters and get alerted only when something new is published. Built-in cross-run dedup means scheduled re-runs push nothing and cost ~nothing when nothing changed. Pay only per new post detected.

Pricing

from $2.00 / 1,000 new posts

Rating

0.0

(0)

Developer

Delta Tools

Delta Tools

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Categories

Share

Watches your favorite Substack newsletters and reports only genuinely new posts. Schedule it daily or hourly: runs where nothing new was published push zero rows and cost nothing beyond the Actor start — you pay per new post detected, never per scan.

How it works

  1. For each publication you configure, the Actor fetches the latest public posts from Substack's public API (/api/v1/archive) — no auth, no key, no proxy.
  2. It compares them against a saved snapshot in a named key-value store (substack-monitor-state), namespaced per stateKey, so separate monitors never share or clobber baselines.
  3. Posts it has never seen are pushed to the dataset and billed once each (new-substack-post event). Everything else — including scheduled re-runs with zero new posts — pushes nothing and bills nothing.

Only public post metadata is read (title, subtitle, public excerpt, published date, author, URL, audience). For paywalled posts the Actor sets paywalled: true and reports the public metadata only — it never attempts to read paid content.

Input

{
"publications": [
{ "url": "https://platformer.substack.com", "maxPosts": 10 },
{ "url": "https://astralcodexten.substack.com", "maxPosts": 20 }
],
"stateKey": "default",
"reportInitialAsNew": true
}
  • publications — one entry per newsletter. Use the https://<name>.substack.com URL. Custom-domain publications serve the public API on their underlying <name>.substack.com URL, so use that instead.
  • stateKey — namespace for the snapshot. Change it to start a fresh baseline.
  • reportInitialAsNew — first run reports everything as new (builds the baseline while reporting); turn off to silently establish the baseline.

Output (dataset)

One row per genuinely new post:

fieldmeaning
publicationName, publicationUrlwhich newsletter
postIdstable Substack post id (dedup key)
title, subtitle, excerptpublic metadata
urlcanonical post URL
publishedDateISO timestamp
author, authorHandlebyline
postTypee.g. newsletter, podcast
paywalledtrue when audience is not everyone (public metadata only)
detectedAtwhen this Actor first saw it

A run receipt (substack-monitor-state → state-v1-<stateKey>-last-receipt) records per-publication status, fetch counts, and errors for auditing.

Pricing (pay-per-event)

  • Actor start: $0.001
  • New post detected: $0.0025

A daily monitor that finds 3 new posts in a week costs roughly 7 × $0.001 + 3 × $0.0025 = $0.0145. Runs that find nothing cost just the start event. (All prices are the FREE-tier event price; Apify's tiered discounts apply at higher plans.)

Limits & honesty

  • Public API only. If Substack removes or gates an endpoint, affected publications report status: "error" in the run receipt instead of failing the run.
  • Invalid URLs and nonexistent publications are reported per-publication with a clear message; the rest of the run continues.