> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/substack/search-profiles>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/substack/search-profiles.mdx>

---

# Substack Profile Search API

Find readers by text and page through their public profiles.

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

## Request

- **Endpoint:** `GET /v1/substack/search/profiles`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by query
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/substack/search/profiles/get)
- **Platform page:** [/platforms/substack](https://www.socialfetch.dev/platforms/substack)

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