DEV Community

equinoxaifinance-rgb
equinoxaifinance-rgb

Posted on

Does Substack Have an API? (2026) — and What You Can Actually Get

Short answer: kind of, and that's the problem.

Substack shipped an official Developer API in early 2026 — but it only returns public profile info, looked up by a creator's LinkedIn handle, behind a manual approval form. It does not give you post archives, engagement, paid/free status, or analytics. So if you're trying to pull a publication's actual content or benchmark a newsletter, the official API won't help.

The two real options

1. The undocumented public JSON endpoints. Substack's own site loads data from https://{publication}/api/v1/archive?sort=new&limit=12&offset=0 and …/api/v1/posts/{slug}. They return clean JSON — title, slug, date, audience (free/paid), reactions, comments. The catch: they're undocumented and break whenever Substack changes their frontend.

2. RSS. Every publication has /feed, but it caps at ~20 recent items and has zero engagement or analytics data.

Doing it yourself (Python)

import requests
base = "https://astralcodexten.substack.com"
posts = requests.get(f"{base}/api/v1/archive", params={"sort":"new","limit":12,"offset":0}).json()
for p in posts:
    print(p["title"], "", "paid" if p["audience"] != "everyone" else "free")
Enter fullscreen mode Exit fullscreen mode

That works today. It'll also silently stop working the next time Substack ships a frontend change — which is the part nobody enjoys maintaining.

Or skip the maintenance

I wrapped this into a hosted API that does the pagination + breakage-handling and adds the analytics layer (paid/free ratio, posting cadence, avg reactions, total comments). One call:

import requests
r = requests.get(
    "https://creatordata-substack-analytics.p.rapidapi.com/v1/publication",
    headers={"x-rapidapi-key": "YOUR_KEY",
             "x-rapidapi-host": "creatordata-substack-analytics.p.rapidapi.com"},
    params={"url": "astralcodexten.substack.com", "limit": 25})
print(r.json()["analytics"])
# {'paid_ratio': 0.1, 'posts_per_week_est': 3.0, 'avg_reactions_per_post': 124.4, ...}
Enter fullscreen mode Exit fullscreen mode

Free tier is 1,000 req/mo: CreatorData Substack API on RapidAPI. Code + docs: github.com/equinoxaifinance-rgb/substack-analytics-api.

One honest limit either way: you can't get private subscriber counts — that data is only visible to the publisher. Anyone claiming a "Substack subscriber API" for arbitrary publications is selling you an estimate.

Top comments (0)