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

---

# Substack Podcast Search API

Find podcast shows by text, with art and the publication behind each show.

`GET /v1/substack/search/podcasts?query=...` searches Substack podcast shows. The query is required and may be up to 200 characters. `cursor` comes from the previous page's `page.nextCursor`.

`data.shows[]` carries `title`, `byline`, `description`, `artUrl`, `paidEpisodeArtUrl`, `url`, a `publication` summary with `id`, `name` and `subdomain`, and a `section` with `id` and `slug`. `data.page` reports `hasMore` and `nextCursor`. An empty first page is either confirmed or marked `emptyIsUnverified`. An unconfirmed empty list comes back as `200` with `emptyIsUnverified: true` and is not charged. `lookupStatus` is `found` or `not_found`.

## Request

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

## FAQ

### What is in a show row?

The show title, byline, description, artwork, URL, the publication it belongs to and the section it sits in. Episode lists are not part of this route.

### How do I page podcast search?

Follow `page.nextCursor` while `page.hasMore` is true. The cursor is opaque and tied to the query. When the last results exactly fill a page, `page.hasMore` can still be true, and the next page comes back empty and is charged like any other page.

### Can the list be empty?

Yes. A query with no shows returns an empty list. `lookupStatus: found` with an empty `shows` array and `emptyIsUnverified: false` is a real empty. With `emptyIsUnverified: true` it could not be confirmed, and the request is not charged.

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