Substack hub

Substack Profile Search API

Find readers by text and page through their public profiles.

GET /v1/substack/search/profiles

1 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.