Skip to content

Does Substack Have an API? The Honest 2026 Map

By the newsletterapi team · Published · Updated · 10 min read

The problem: “I need my Substack posts and stats in my own app, but Substack says there's no public API.”

Cover image: Does Substack Have an API? The Honest 2026 Map

Short answer

Not a general one. As of October 2026 Substack offers a few narrow official surfaces: a Developer API for LinkedIn-handle profile lookups (by application), a read-only Publisher API on publications where it is enabled, and a read-only MCP server for Bestseller admins. Notes can be posted through partners Buffer and Typefully. There is no public write API for posts and no webhooks.

People who search "Substack API" usually want one of three things: to read their posts and stats from code, to publish or schedule from code, or to connect an AI agent. Substack has no single public API that does all three. As of October 2026 it has several narrow official surfaces, two Notes partners, plain RSS and exports, and a crowd of unofficial libraries. This guide maps each one, says what it returns and who can use it, and is honest about the gaps.

A note on who we are: newsletterapi is an independent project and is not affiliated with Substack. We make a read-only posts API and an MCP server for Substack writers. Nothing below depends on newsletterapi.

The problem

You want your own newsletter data somewhere else: a dashboard, a website, a CRM, an agent. You go looking for the Substack API docs and find forum threads instead. One writer on Reddit summed it up: "The real blocker seems to be that Substack doesn’t offer an API, which makes consolidating your own data almost impossible" (r/Substack). Another, with a large list, put it more bluntly on X: "Also substack doesn’t have any api/mcp" (@launch_llama).

This is one of the most common complaints we found. In our review of public Reddit, X, Hacker News and GitHub posts, October 2026, 39 distinct sources asked for a way to publish or schedule to Substack by API, 31 of them since 2025, and another 17 asked for an export of their own analytics. Typical threads: a Reddit wishlist where the request was simply "A Public API!!!!!", and developers hitting walls in r/automation. The confusing part is that Substack does have some official APIs; they are just narrow, gated or undocumented. The rest of this page untangles them. If your problem is specifically events, see Substack webhooks; if your script is getting blocked, see the Substack API 403 error. More reader problems are collected on /problems.

Does Substack have an API in 2026?

Yes and no. Substack has no general-purpose, self-serve developer API with posts, subscribers and webhooks of the kind beehiiv, Kit or Ghost offer (compare them in newsletter platforms with an API). What it does have, as of October 2026, is this:

Surface What it does Read / write Who can use it Status (October 2026)
Developer API Looks up a public creator profile by LinkedIn handle Read Approved applicants Terms live; help doc removed
Publisher API Your publication's posts, post stats, subscriber counts, single-email lookup Read Publications where it is enabled Live, docs behind a key
Official MCP server Dashboard metrics, traffic, revenue, retention for AI assistants Read Admins of Bestseller publications Live
OAuth server Sign-in and scopes used by the MCP and Notes partners Depends on scope No public client programme Live, undocumented
Buffer and Typefully Schedule and publish top-level Notes Write (Notes only) Anyone with those apps Live
RSS feed Recent public posts Read Anyone Live
Exports Posts, subscriber list and stats as files Read (manual) The writer Live
Analytics tags GA4, Google Tag Manager, Meta and X pixels Events out (anonymous) The writer Live
Unofficial libraries Drafts, publishing, Notes, stats Read and write Anyone, at their own risk Break often; terms risk

The rest of this page goes row by row.

Can I get a Substack API key?

There are two kinds of key as of October 2026, and neither is a general-purpose developer key. Here they are in turn.

What is the Substack Developer API?

It is a single endpoint for looking up public profile data. 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 that archived doc describes:

  • One endpoint: GET https://substack.com/profile/search/linkedin/{linkedin-handle}.
  • Fields: identityHandle, profileUrl, a leaderboard status (rank, publication name, label), bestsellerTier, roughNumFreeSubscribers and followerCount. Profiles "update at least once daily", and not every profile is queryable.
  • Access: you apply through a Google Form, wait for approval (the April 2026 version said 7-10 business days), then create a token in Settings.
  • No write access.

The Developer API Terms of Use are still published (last updated January 8, 2026). They limit caching to what is "reasonably necessary", ban redistributing the data "as a standalone product or dataset", and ban using the API to "replicate, substitute for, or materially compete with core features of the Substack platform." As of October 2026 the help article itself returns a 404 from Substack's help centre, although the terms still link to it. Treat the Developer API as a niche tool for creator discovery, not a way to work with your own publication.

What does the Substack Publisher API return?

This is the closest thing to a real API for your own newsletter. It lives at https://publisher-api.substack.com/v1, answers 401 without a key, and keeps its docs behind the key too. The best public description comes from an open-source wrapper, dkships/substack-publisher-mcp, whose README says that if you don't see a Publisher API option in your settings, "it may not be enabled for your publication yet."

According to that wrapper's code (self-reported by its author, version of September 2026):

Endpoint Returns
GET /posts Post ID, title, subtitle, audience, date, slug, cover image; cursor pagination
GET /posts/search Posts matching a query
GET /posts/{slug} One post with its body
GET /posts/{slug}/stats Recipients, opens, clicks, views, new free and paid subscriptions, estimated revenue increase
GET /subscribers/counts Daily totals by type: total, paid, trial, comp, gift, lifetime, founding
GET /subscribers/{email} Membership type, expiry, first payment, next charge, bounce flag; 404 if not a subscriber

Three limits matter. It is read-only. Keys are per publication. And it cannot list subscribers: you can look up an email you already hold, but not page through your list. Its terms and rate limits are not public as of October 2026.

Can my AI agent use the official Substack MCP server?

Substack runs a Model Context Protocol server at https://mcp.substack.com/api/v1/mcp so AI assistants such as Claude, ChatGPT and Cursor can read your publication data. Substack's help article sets two conditions: "You must be an Admin on the publication" and "Your publication must be a Bestseller publication."

The same article is clear about scope: the server "provides read-only access to publication data such as dashboard metrics, traffic data, and publication settings. It cannot publish posts, send Notes, or modify your account." It also cannot see profile data or Notes activity. We cover setup and alternatives in Substack MCP server: official vs open source and how to connect Claude to Substack.

Can I build a "Sign in with Substack" app with OAuth?

There is an OAuth 2.0 authorization server, but no public developer programme. Its discovery document lists an authorization endpoint at substack.com/oauth/auth, PKCE, a dynamic client registration endpoint, and these scopes: openid, profile, email, offline_access, apple_podcasts, design-data, mcp:read, notes.read, notes.write and mcp.user.read.

The notes.write scope is very likely what the Notes partners use, but Substack has published no docs, terms or application page for third-party OAuth apps. Registering your own client to request Notes scopes is undocumented and would need Substack's permission. We don't recommend building on it.

Can I post to Substack by API?

Not long-form posts: no official route exists as of October 2026, and our guide to publishing to Substack from Markdown covers the safe workflow. Notes are different.

Can you post Substack Notes by API?

Yes, through partners. Substack announced on X that "Substack Notes is now integrated with @buffer" in September 2026, and Typefully shipped Notes in July 2026, "free to all users".

Buffer is the interesting one for developers. Its help article says Notes can be created, scheduled and measured through Buffer's API and MCP server. Buffer's free plan includes one API key with 3,000 requests a month. Limits: top-level Notes only (no replies, restacks or edits), and nothing for long-form posts.

Can I just use RSS, exports or analytics tags instead?

These are plain, official and available to every writer:

  • RSS. Every publication has a feed at https://your.substack.com/feed, per Substack's help centre. It is the simplest official way to read recent posts from code. Our guide to the Substack RSS feed covers the details.
  • Exports. Settings, Exports, "Create new export" produces a zip of your posts, subscriber list and related statistics, emailed when ready (help). It is manual, but it is yours. See how to back up your Substack.
  • Analytics tags. The Analytics settings accept a GA4 ID, a Google Tag Manager container, Meta and X pixels and Parse.ly. They send anonymous page views and conversions to your own tools. They do not give you subscriber emails or a webhook.

Why does my unofficial Substack API script keep breaking?

Open-source clients such as python-substack (8,994 downloads last month on pypistats) and the TypeScript substack-api package read Substack's public JSON or reuse a logged-in browser session to draft and publish. They are popular because nothing official covers posting. They are also fragile:

  • Captchas and 403s. One python-substack user hit APIError(code=401): Please complete the captcha to continue (issue #27). Another developer wrote of Substack's subscribe endpoint: "call it from node or curl and it 403s no matter what cookies you send" (Reddit).
  • Undocumented endpoints change without notice, and there is no version contract.
  • Session reuse puts your account at risk. Substack's Terms of Use forbid uses that "jeopardize the security of your Substack account", such as "allowing someone else to log into Substack as you", and processes that run "while you are not logged into Substack". Hosted services that keep your session alive in the cloud sit on the wrong side of that line.
  • Scraping and storing are banned outright. The same terms forbid crawling or scraping "any page, data, or portion of Substack" and copying or storing "any significant portion of the content on Substack." That rules out hosted "public Substack data" APIs as a product, whatever robots.txt says.

We describe these tools so you can judge the risk. We don't teach the techniques, and we don't recommend running them against someone else's publication.

Which official Substack API should I use?

Developer API Publisher API Official MCP Buffer (Notes) RSS Exports
Your own posts No Yes Indirectly (stats) No Recent public posts All posts
Post stats No Yes, per post Yes Notes only No Yes (zip)
Subscriber counts Public rough count Daily, by type Yes No No Full list (CSV)
List subscribers No No (single lookup) Not documented No No Yes (manual)
Write No No No Top-level Notes No No
Auth Token after approval Per-publication key OAuth in your AI client Buffer key or OAuth None Dashboard
Eligibility Application Where enabled Bestseller admins Anyone Anyone The writer

What can I do today with what Substack offers?

You want to… Use this today Watch out for
Show your latest posts on another site RSS feed Recent posts only; see embedding Substack posts
Pull post stats and subscriber counts into a dashboard Publisher API, if enabled for you Read-only, no list endpoint, terms not public
Ask an AI assistant about your numbers Official MCP (Bestseller admins) Read-only; no Notes data
Schedule Notes from code or an agent Buffer API or MCP Top-level Notes only
Publish long-form posts from code No official route; draft elsewhere and paste Unofficial libraries risk your account
Back up everything Exports Manual trigger
Send conversions to ad platforms GA4, GTM, Meta and X pixel settings Anonymous events, no emails
Get webhooks for new subscribers Nothing official as of October 2026 Avoid cloud tools that hold your login
Find a creator's public profile by LinkedIn Developer API, after approval Narrow; strict caching terms

Is there an easier way to get my own Substack archive as JSON?

Most writers we hear from want the boring part done well: their own archive, as clean JSON, from a URL, plus an MCP server their agent can read without holding their password. That is what newsletterapi does: a read-only posts API built on public feeds and the writer's own exports, and an MCP server that sits next to Substack's official one in your agent. If that's what you need, get access or email hello@newsletterapi.io and tell us which endpoints matter.

For the agent side of the story, read how to connect Claude to Substack. For how Substack compares with beehiiv, Kit and Ghost, see newsletter MCP servers compared.

Questions people ask

Is there an official Substack API key?
Two kinds exist as of October 2026. Developer API tokens are issued after an application and only look up public profiles by LinkedIn handle. Publisher API keys are per publication and read-only, and the option only appears in the dashboard if it has been enabled for that publication.
Can I publish Substack posts through an API?
Not through an official API. Notes can be scheduled through Buffer's or Typefully's integrations. Long-form posts have no official write route; unofficial libraries do it by reusing a logged-in browser session, which carries terms-of-service and account risk.
Does Substack have webhooks?
No. Substack's help centre has no webhook setting as of October 2026, and there is no Substack app on Zapier. Common substitutes are your own exports, the RSS feed and the analytics tags Substack lets you add.
Is the Substack MCP server available to everyone?
No. Substack's help article says you must be an Admin and the publication must be a Bestseller publication. It is read-only: it cannot publish posts or send Notes.
Is newsletterapi a Substack API?
No. newsletterapi is an independent project, not affiliated with Substack. It offers a read-only posts API and MCP server for Substack writers, built on public feeds and writers' own exports.

Sources

  1. Substack Developer API Terms of Use (last updated January 8, 2026) (accessed 2026-10-21)
  2. Substack Developer API help article (Wayback Machine snapshot, May 2026) (accessed 2026-10-21)
  3. Substack help: How to connect Substack to your AI Assistant (accessed 2026-10-21)
  4. Substack OAuth authorization server metadata (accessed 2026-10-21)
  5. dkships/substack-publisher-mcp (wrapper around the Publisher API) (accessed 2026-10-21)
  6. Buffer help: Using Substack with Buffer (accessed 2026-10-21)
  7. Buffer pricing (accessed 2026-10-21)
  8. Typefully changelog: Substack Notes (accessed 2026-10-21)
  9. @Substack on X: Substack Notes is now integrated with Buffer (accessed 2026-10-21)
  10. Substack help: Is there an RSS feed for my publication? (accessed 2026-10-21)
  11. Substack help: How do I export my posts? (accessed 2026-10-21)
  12. Substack help: How do I use the Analytics section on Substack? (accessed 2026-10-21)
  13. Substack Terms of Use (accessed 2026-10-21)
  14. python-substack issue #27: captcha error (accessed 2026-10-21)
  15. pypistats: python-substack recent downloads (accessed 2026-10-21)
  16. Reddit r/automation thread on Substack 403s (accessed 2026-10-21)
  17. Reddit r/Substack: consolidating your own data without an API (accessed 2026-10-21)
  18. @launch_llama on X: Substack has no API or MCP (accessed 2026-10-21)
  19. Reddit r/Substack: feature wishlist thread (accessed 2026-10-21)