Substack Publication API
One publication's metadata, plans and sections, by id, subdomain, host or URL.
GET /v1/substack/publications/{publication}1 credit Failed requests are free
About this endpoint
GET /v1/substack/publications/{publication} resolves a publication and returns data.publication with its numeric id, name, subdomain, customDomain, url, host, description, language, kind, createdAt and firstPostAt.
The same object carries plans with price, currency and interval, benefits for free, paid and founding tiers, audience bands, contributors, sections, links, podcast details, logoUrl, coverImageUrl and the publication's switches such as commentsEnabled and notesEnabled. data.lookupStatus is found, not_found or restricted, and restrictedReason says why a restricted publication does not serve its page.
Substack Publication API FAQ
How do I identify a publication?
Use its numeric id (89120), its Substack subdomain (astralcodexten), its host (www.astralcodexten.com) or a full publication URL. A host or URL is safest for a publication on a custom domain.
What does restricted mean?
lookupStatus: restricted means the publication exists but does not serve its page publicly. restrictedReason is invite_only, flagged or paid, and publication is null.
Does a missing publication return an error?
No. The route answers HTTP 200 with lookupStatus: not_found and publication: null, so branch on the status field rather than the HTTP code.
How many credits does a publication lookup cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.
Other Substack endpoints
- PostsGET /v1/substack/publications/{publication}/posts
- Post bodiesGET /v1/substack/publications/{publication}/posts/bodies
- Post indexGET /v1/substack/publications/{publication}/posts/index
- Search postsGET /v1/substack/publications/{publication}/posts/search
- RecommendationsGET /v1/substack/publications/{publication}/recommendations
- Publication feedGET /v1/substack/publications/{publication}/feed
- PostGET /v1/substack/posts/{post}
- CommentsGET /v1/substack/posts/{post}/comments