Substack Notes API
A reader's public Notes and replies, cursor paged, with the note, parent comments and attachments.
GET /v1/substack/profiles/{handle}/notes1 credit Failed requests are free
About this endpoint
GET /v1/substack/profiles/{handle}/notes lists a reader's public Notes history. type is notes, replies or all; the default is all. cursor comes from the previous page's page.nextCursor.
data.items[] uses the shared feed item shape: type, id, post, note, publication, profiles, createdAt and parentComments. A note row carries body, bodyJson, createdAt, author, reactionCount, reactions, restackCount, replyCount, language, isAiGenerated, attachments and replyPermission. data.profileId names the reader and data.page reports hasMore and nextCursor.
Substack Notes API FAQ
What do the type values return?
notes returns the person's own notes, replies returns their replies to other notes, and all returns both. The default is all.
How deep can I page?
Follow page.nextCursor while page.hasMore is true. The feed is deep, so a full history can take many pages.
What is a feed item?
Notes, posts and profile blocks share one envelope. Check item.type and read item.note, item.post or item.profiles accordingly.
How many credits does a Notes page 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
- PublicationGET /v1/substack/publications/{publication}
- 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}