> **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>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/substack/search.mdx>

---

# Substack Search API

One query across posts, notes and matching profiles.

`GET /v1/substack/search?query=...` searches across Substack posts, notes and matching profiles. `query` is required. `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`. Check `item.type` before reading the nested object. `data.page` reports `hasMore` and `nextCursor`. `lookupStatus` is `found` or `not_found`.

## Request

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

## FAQ

### What does top search cover?

Posts, notes and a profile block in one feed. Each item says what it is in `type`, then carries the matching `post`, `note` or `profiles` field.

### How do I page top search?

Follow `page.nextCursor` while `page.hasMore` is true. The cursor is opaque and tied to the query.

### How many credits does a top 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.
