Substack Profile Search API
Find readers by text and page through their public profiles.
GET /v1/substack/search/profiles1 credit Failed requests are free
About this endpoint
GET /v1/substack/search/profiles?query=... searches Substack reader profiles. The query is required and may be up to 200 characters. page is 0-based, returns twenty profiles a page and runs to 3, the last page with results. A page past 3 returns an empty list with hasMore: false.
data.profiles[] carries the public profile fields, including name, handle, bio, photoUrl, publications and counts. The subscription list is left out here to keep the page small: subscriptions is empty and subscriptionsTruncated is true when the person has public subscriptions. Use profile.subscriptions.list for the paged list. data.page reports page, hasMore and nextPage. lookupStatus is found or not_found.
Substack Profile Search API FAQ
How deep does profile search go?
Profile search goes up to three pages, so a broad query returns about 60 to 80 profiles. page is 0 to 3; a page past the last one returns an empty list with hasMore: false, not an error.
How many profiles per page?
Twenty. Follow page.nextPage while page.hasMore is true.
Does an empty page mean no matches?
An empty list with lookupStatus: found means there were no matches for that page. Profile search is not gated like publication search.
How many credits does a profile search 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}