Substack API Key: Publisher API and Developer API (2026)
By the newsletterapi team · Published · Updated · 5 min read
The problem: “I want an API key for my own Substack stats, but I can't find one in my settings or any docs.”
Short answer
As of October 2026 there are two Substack API keys. A Publisher API key is per publication and read-only (posts, post stats, daily subscriber counts, single-email lookup), and the option only appears where Substack has enabled it. A Developer API token is issued after an application and only looks up public profiles by LinkedIn handle.
Searching for a "Substack API key" usually ends in forum threads, because Substack has no developer portal and no public sign-up page for keys. There are two kinds of key as of October 2026, though, and they do very different things. This guide covers what each one returns, how to tell whether you have access, and what the terms say. For the full map of Substack's developer surfaces, start with our Substack API guide.
newsletterapi is an independent project, not affiliated with Substack. Nothing below depends on newsletterapi.
The problem
You want your own numbers in your own tools: a reporting dashboard, a spreadsheet, a board update. One operator on X asked simply for "easy api access for internal reporting tools" (@johnpgarrett). Another wrote on LinkedIn: "There's no API that exposes your Substack revenue." (LinkedIn). And a long-time writer summed up the mood: "The analytics never really improved, and there's still no API." (@rishikeshshari).
The confusion is understandable. Substack does issue keys, but one of them is undocumented in public and the other is a narrow lookup tool whose help page has been taken down.
Which Substack API keys exist?
| Publisher API key | Developer API token | |
|---|---|---|
| What it reads | Your own publication: posts, post stats, subscriber counts, single-email lookup | Public creator profiles, looked up by LinkedIn handle |
| Write access | None | None |
| How you get it | Generated in your publication's dashboard, where enabled | Apply, wait for approval, then create a token in Settings |
| Scope | One publication per key | Your account |
| Public docs | Behind the key | Archived copy only |
| Terms | Not public | Developer API Terms, January 8, 2026 |
If you want your own publication's data, the Publisher API is the one that matters. The Developer API is for discovering other creators.
What does the Substack Publisher API return?
Substack has not published public documentation for the Publisher API. Its base URL is https://publisher-api.substack.com/v1; without a key, /v1/posts answers 401 and the docs page at /v1/docs/ answers 403 (checked 2026-10-22). The best public description is the open-source substack-publisher-mcp wrapper. Everything in this table comes from that wrapper's README and code, so treat it as self-reported by its author, not confirmed by Substack:
| Endpoint | What it returns (per the wrapper) |
|---|---|
GET /posts |
post_id, title, subtitle, audience, postDate, urlSlug, coverImage, plus a next cursor for paging; filters for dates, type and sort |
GET /posts/search?query= |
Posts matching a full-text query |
GET /posts/{urlSlug} |
One post, with its body as a ProseMirror JSON document |
GET /posts/{urlSlug}/stats |
recipients, opens, clicks, views, new_free_subscriptions, new_paid_subscriptions, estimated_revenue_increase |
GET /subscribers/counts |
Daily rows of total_email_subscribers, paid_subscribers, free_trial_subscribers, comp_subscribers, gift_subscribers, lifetime_subscribers, founding_subscribers |
GET /subscribers/{email} |
One subscriber's membership type, expiry, payment dates and bounce flag; 404 if the email isn't subscribed |
According to the wrapper's API client code, the raw key goes in an authorization header with no Bearer prefix, and the client handles a 429 "rate limited" response. The actual rate limits are not public.
What it does not do matters just as much:
- It is read-only. No publishing, no drafts, no Notes, no adding subscribers.
- It cannot list your subscribers. You can check an email you already have, but not page through the list. For that, use the subscriber CSV export (help).
- Keys are per publication. If you run three newsletters, you need three keys.
- There are no webhooks. You poll it; it never calls you. See Substack webhooks for what exists instead.
How do I check whether the Publisher API is enabled for me?
- Look in your dashboard. The wrapper's README says to generate the key from your publication's dashboard and adds: "If you don't see a Publisher API option there, it may not be enabled for your publication yet." We found no Substack help-centre article that explains eligibility, so there is no official list of who gets it.
- Test the key from a terminal if you have one. A 200 means it works; a 401 means the key is wrong or revoked:
export SUBSTACK_PUBLISHER_API_KEY="paste-your-key-here"
curl -s -o /dev/null -w "%{http_code}\n" \
-H "authorization: $SUBSTACK_PUBLISHER_API_KEY" \
"https://publisher-api.substack.com/v1/posts?maxResults=1"
- Keep the key server-side. It can look up whether any email is a paying subscriber, so treat it like a password: environment variables or a secrets manager, never a public repo or a browser script.
For working Python, including paging through every post and pulling stats, see our Substack API Python tutorial. To use the key from an AI assistant, the same wrapper runs as an MCP server; see Substack MCP server: official vs open source.
What is the Substack Developer API?
It is a single lookup endpoint for public creator profiles. The help article, now only available as a Wayback Machine copy from May 2026, said the API "allows Substack users who have agreed to the API's Terms of Use to retrieve public information on Substack profiles by querying a creator's public LinkedIn handle."
What the archived doc describes:
- Endpoint:
GET https://substack.com/profile/search/linkedin/{linkedin-handle}. - Fields:
identityHandle,profileUrl, leaderboard status,bestsellerTier,roughNumFreeSubscribersandfollowerCount. - Access: apply through a form, wait for approval (the April 2026 version said 7-10 business days), then create a token in Settings.
- No write access.
As of 2026-10-22 the help article returns a 404 from Substack's help centre, although the terms still link to it. It cannot read your own posts or stats, so it is not a route to your own data.
What do the Substack API terms allow?
The Developer API Terms of Use (last updated January 8, 2026) are the only published API terms. They say you "may cache Authorized Data only as reasonably necessary", must not "redistribute Authorized Data as a standalone product or dataset", and must not "replicate, substitute for, or materially compete with core features of the Substack platform". Use is "subject to rate limits, quotas, and other technical restrictions as determined by Substack in its sole discretion", and you agree "not to circumvent or attempt to bypass such restrictions."
Separate terms for the Publisher API are not public as of October 2026. The general Terms of Use still apply to everything, including the ban on letting "someone else log into Substack as you". An official key is the safe alternative to tools that ask for your password or session.
What can I use if I don't have a key?
| You want | Use this | Notes |
|---|---|---|
| Recent public posts | Your RSS feed | See the Substack RSS feed guide |
| Full archive, including paid posts | Settings, Exports (help) | A zip of posts, subscriber list and statistics |
| Stats in an AI assistant | Substack's official MCP server | Admins of Bestseller publications only (help) |
| Growth and engagement analysis | Your export, analysed | Subscriber analytics from your export |
| Your archive as JSON | The newsletterapi Posts API | Built on your feed and your export |
Our analytics API turns the export you already have into growth, cohort and engagement data, with no Substack key and no login. To get access, see pricing or email hello@newsletterapi.io.
Questions people ask
- Where do I find my Substack API key?
- If the Publisher API is enabled for your publication, the key is generated from your publication's dashboard. If you don't see the option, it isn't enabled for you; there is no public sign-up page for it as of October 2026.
- Can a Substack API key publish posts or add subscribers?
- No. Both the Publisher API and the Developer API are read-only. Neither publishes posts, sends Notes or adds subscribers.
- Can I list all my subscribers with the Publisher API?
- No. According to the open-source wrapper's documentation, you can look up one email you already have, and get daily totals by subscriber type, but there is no endpoint that pages through your list. Use your subscriber CSV export for the full list.
- Is the Substack Developer API still available?
- Its terms are still published (last updated January 8, 2026), but the help article that explained how to apply returns a 404 as of October 2026. Only an archived copy remains.
Sources
- dkships/substack-publisher-mcp README (wrapper around the Publisher API) (accessed 2026-10-22)
- dkships/substack-publisher-mcp source: API client (base URL, auth header, 429 handling) (accessed 2026-10-22)
- Substack Developer API Terms of Use (last updated January 8, 2026) (accessed 2026-10-22)
- Substack Developer API help article (Wayback Machine snapshot, May 2026) (accessed 2026-10-21)
- Substack help: How to connect Substack to your AI Assistant (accessed 2026-10-22)
- Substack help: How do I export my email list on Substack? (accessed 2026-10-22)
- Substack help: How do I export my posts? (accessed 2026-10-22)
- Substack Terms of Use (accessed 2026-10-22)
- @johnpgarrett on X: easy API access for internal reporting (accessed 2026-10-21)
- LinkedIn: There's no API that exposes your Substack revenue (accessed 2026-10-21)
- @rishikeshshari on X: still no API (accessed 2026-10-21)
Related guides
Explainer · Developers & AI
Substack Scraper: Why It Breaks, the Rules, and Alternatives
Thinking of a Substack scraper? What Substack's terms say about scraping, why scrapers keep breaking, and the legal ways to get posts and stats instead.
5 min read · Updated 2026-10-22
How-to · Developers & AI
Substack API in Python: RSS, Exports and Libraries (2026)
Read your Substack posts in Python: RSS with feedparser, your export zip, the Publisher API with requests, and the risks of python-substack and substack_api.
5 min read · Updated 2026-10-22
Comparison · Developers & AI
Substack MCP Server: Official vs Open Source (2026)
Compare Substack's official MCP server, open-source Substack MCP servers and hosted ones: who can use each, what they read or write, and the risks.
6 min read · Updated 2026-10-21