A reliable, hosted Substack API that returns any public Substack publication's full post archive plus benchmark analytics (paid/free ratio, posting cadence, engagement) as clean JSON. Public, read-only data only — no login, no paywalled content.
Built and maintained by CreatorData. Live on RapidAPI:
👉 Get a free API key on RapidAPI — 1,000 free requests/month, no card.
Sort of — and that's the catch. Substack shipped an official Developer API in early 2026, but it only returns public profile info, looked up by the creator's LinkedIn handle, behind a manual approval form. It does not give you post archives, engagement, paid/free status, or analytics.
So for real publication data you've had two options:
- Reverse-engineer Substack's undocumented public JSON endpoints (
/api/v1/archive,/api/v1/posts/{slug}) — which break whenever Substack changes its frontend, or - Parse the RSS feed — capped at ~20 recent items, with no engagement or analytics.
This API does option 1 for you, reliably, and adds the analytics layer on top.
| Endpoint | Returns |
|---|---|
GET /v1/publication?url=&limit= |
Full post archive + analytics: paid/free ratio, posts-per-week, avg reactions, total comments |
GET /v1/post?url=&slug= |
A single post's full public content + metadata |
Every post includes: title, slug, URL, date, audience (free/paid), reactions, comments, wordcount.
Python
import requests
url = "https://creatordata-substack-analytics.p.rapidapi.com/v1/publication"
headers = {
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY", # from rapidapi.com
"x-rapidapi-host": "creatordata-substack-analytics.p.rapidapi.com",
}
params = {"url": "astralcodexten.substack.com", "limit": 10}
r = requests.get(url, headers=headers, params=params)
data = r.json()
print(data["publication"], "—", data["posts_pulled"], "posts")
print("paid ratio:", data["analytics"]["paid_ratio"])Node.js
const res = await fetch(
"https://creatordata-substack-analytics.p.rapidapi.com/v1/publication?url=astralcodexten.substack.com&limit=10",
{ headers: {
"x-rapidapi-key": "YOUR_RAPIDAPI_KEY",
"x-rapidapi-host": "creatordata-substack-analytics.p.rapidapi.com",
}}
);
const data = await res.json();
console.log(data.publication, data.posts_pulled, "posts");{
"publication": "astralcodexten.substack.com",
"posts_pulled": 10,
"analytics": {
"paid_ratio": 0.1,
"posts_per_week_est": 3.0,
"avg_reactions_per_post": 124.4,
"total_comments": 3014
},
"posts": [
{ "title": "...", "is_paid": false, "reactions": 135, "comments": 42, "wordcount": 10883 }
]
}- Newsletter competitor benchmarking
- Creator-economy / market analytics
- Lead-gen and enrichment from publication profiles
- AI / research corpora
→ Get your free Substack API key on RapidAPI
Keywords: substack api, substack data api, substack analytics, scrape substack, newsletter analytics api, substack post archive, substack json.