Creator economy and newsletter research
Use Substack endpoints to turn creator economy and newsletter research into repeatable API requests with documented inputs and JSON responses.
Turn Substack's public surfaces into structured JSON — category and bestseller leaderboards, full publication profiles with every subscription plan, a publication's post archive, contributors and recommendations, individual posts and Notes (Substack's short-form social layer, with reply and restack threads), site-wide search, and writer profiles with their public activity and connection lists. Credential-free, no Substack account required.
Get Substack category and bestseller rankings, publication profiles and subscription plans, posts and Notes, site search, and writer profiles as JSON.
Endpoint families
6
Documented params
61
Examples
19
Live catalog snapshot
Active endpoints
19
Methods
GET
Required params
34
Schema refs
19
{
"platform": "Substack",
"endpoint": "substack-categories",
"method": "GET",
"path": "/substack/categories",
"auth": "apiKey"
}Use cases
Get Substack category and bestseller rankings, publication profiles and subscription plans, posts and Notes, site search, and writer profiles as JSON.
Use Substack endpoints to turn creator economy and newsletter research into repeatable API requests with documented inputs and JSON responses.
Use Substack endpoints to turn publication subscriber and pricing monitoring into repeatable API requests with documented inputs and JSON responses.
Use Substack endpoints to turn notes social-content and community monitoring into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Substack endpoint catalog — 19 endpoints, 61 documented request parameters, and 19 published response schemas — the same catalog Docs and Playground run against.
19 documented Substack endpoints, grouped into 10 request families — Publication, User and Note, plus 7 more.
61 request parameters are documented across those Substack endpoints, 34 of them required — the full input contract is public before you write any integration code.
19 of the 19 Substack endpoints ship a recorded example response, and 19 carry a documented response schema — you can code against the real JSON before the first request.
Substack endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
19 hosted MCP tools back the Substack endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/substack/publication
/substack/user
/substack/note
/substack/notes
/substack/categories
/substack/category
Featured endpoints
/substack/categoriesReturns every public Substack category, with the category id required by /substack/category. Ids span two spaces: 32 categories use a numeric id and one uses the string id `podcast`. Both are accepted by /substack/category.
MCP tool substack_categories
/substack/categoryReturns one page of a category's public publication leaderboard. Each row carries the publication's subscriber signals and its full subscription offering (web plans with multi-currency pricing, App Store plans, and per-tier benefits). Subscriber totals are published to roughly three significant figures and are opt-in per writer; paid subscriber figures are only ever buckets. Upstream serves 25 publications per page and accepts pages 0-26, so at most 675 publications are reachable per category and type.
MCP tool substack_category
/substack/exploreReturns one page of Substack's Explore surface. Explore is a feed of heterogeneous modules rather than a flat list, so each page returns the modules it contains and every module names its own type. Known module types are `trendingTopicsExplore` (trending topics and suggested searches), `trendingPostsExplore`, `newBestsellersExplore`, `videoSuggestionsExplore`, `categoryLeaderboard`, `comment` (a single Note) and `post` (a single post). Only the collections a module actually carries are populated. Pagination is cursor-based; early pages are curated shelves and later pages are individual Notes and posts.
MCP tool substack_explore
/substack/leaderboardReturns one page of a category's bestseller leaderboard, pairing each ranked publication with its author. This is a different surface from /substack/category: it exposes the trending ranking (the site's "Rising" tab), validates its ranking values rather than silently defaulting, accepts the extra cross-category id `bestseller`, and returns the author alongside the publication. Use a category_id from /substack/categories whose in_leaderboard is true. Upstream serves 25 rows per page and accepts pages 0-25.
MCP tool substack_leaderboard
/substack/noteReturns one public Note with its author, engagement counts, and the post it links to when it has one. Notes are Substack's short-form social posts. note_id is the numeric id from a Note URL: in `/@handle/note/c-316240438` it is `316240438`.
MCP tool substack_note
/substack/note/repliesReturns one page of public replies to a Note, each in the same shape as /substack/note. Pagination is cursor-based: pass the previous response's next_cursor back as cursor.
MCP tool substack_note_replies
Related APIs
Social & Creator Platforms
Build creator intelligence, video research, transcript, and audience-comment workflows without maintaining YouTube scrapers.
Social & Creator Platforms
Turn Twitch's public channel, stream, clip, and team data into structured JSON — live status and viewer counts, top games, clips, VODs, and team rosters — as normalized JSON. Credential-free.
Social & Creator Platforms
Track creator, content, hashtag, music, trend, and public ad creative signals from TikTok with production-ready API routes.
How to scrape Substack
Crawlora's 19 Substack endpoints cover discovery (categories and leaderboards), publications (profile, subscription plans, post archive, contributors, and recommendations), individual posts and Notes with their reply and restack threads, site-wide search, and writer profiles with their activity and connections — all normalized JSON with one API key, no Substack account required.
Call /substack/categories for the full category list, each row flagged for whether /substack/category or /substack/leaderboard accepts it. Pass a category_id to /substack/category for a paid or free subscriber-count ranking (25 publications per page, pages 0-26), or to /substack/leaderboard for the trending, paid, or all-time bestseller ranking with each publication's author attached.
/substack/notes/tabs lists every selectable tab for the feed and explore surfaces. Pass a tab and its type to /substack/notes for the public Notes feed, or to /substack/explore for Substack's heterogeneous Explore surface — trending topics, trending posts, new bestsellers, and category leaderboards, paged with a cursor.
Pass a subdomain, custom domain, or numeric publication_id to /substack/publication for its profile and complete subscription offering — every web and App Store plan, benefits, and subscriber counts. /substack/publication/posts returns its public post archive, /substack/publication/contributors its credited writers, and /substack/publication/recommendations the publications it recommends to readers.
/substack/post takes a publication and slug for one post's extended metadata, including word count and every credited byline. /substack/note takes a numeric note_id for one public Note, Substack's short-form social post, with its reaction, reply, and restack counts; /substack/note/replies and /substack/note/restacks page through its reply thread and its reshares.
/substack/search finds posts and publications across all of Substack; /substack/user/search finds writer profiles by name or handle. /substack/user returns one writer's public profile, /substack/user/activity their public notes, posts, likes, replies, and restacks, and /substack/user/connections their followers, following, or subscribers.
FAQ
Not indefinitely — /substack/category and /substack/leaderboard both serve exactly 25 publications per page and cap out at page 26 and 25 respectively, so at most 675 publications are reachable per category per ranking type. To go further, walk /substack/publication/contributors or /substack/publication/recommendations outward from a seed publication instead of paging.
No — /substack/post and /substack/publication/posts return metadata only: title, url, audience, word count, credited bylines, and engagement counts, never post bodies. paywalled is derived from the audience field.
Notes are Substack's short-form social posts — internally modeled as comments, which is why their ids look like comment ids. /substack/note returns one Note with its reaction, reply, and restack counts; /substack/note/replies pages its reply thread and /substack/note/restacks pages the Notes that reshared it, which can carry their own commentary or be a bare reshare.
Inconsistent by design — publications and writers opt in separately. total/total_display is opt-in and total_hidden marks a writer who hid the count rather than having zero subscribers; paid_rough and paid_tier are the only paid-subscriber signals, both bucketed, since Substack publishes no exact paid count on any public surface.
Yes — /substack/publication/posts is scoped to one publication's own archive, while /substack/search is the site-wide counterpart. Passing a focus_publication_id to /substack/search additionally returns that one publication's own matching posts (focused_posts) alongside the site-wide results.