Skip to main content
GET /v1/podcasts/search finds podcasts (shows) by name. It is the canonical way to search the catalog: pass q and get back a ranked, paginated list of podcast objects — the same PageResponse<Podcast> envelope used by every list endpoint.
Breaking change (June 2026): this endpoint previously searched episode dialogue. That capability now lives at GET /v1/podcasts/episodes/search. Sending semantic_search or keyword_search here now returns 422 with a message pointing at the episode-search endpoint — they are no longer silently ignored. Migrate those calls to /v1/podcasts/episodes/search; the parameters and response shape are unchanged on the new path.

Searching by name

The search is forgiving. It handles typos, missing or extra words (offline jon favreau finds Offline with Jon Favreau), a name plus qualifiers (equity techcrunch), and pasted episode titles (Ferrari | Acquired finds Acquired):
The best matches come first, and each result carries a match_quality field telling you how confident the match is.
GET /v1/podcasts?q=… accepts the same parameters and returns the same results — it remains supported for backwards compatibility, but prefer /v1/podcasts/search in new integrations.

match_quality — how confident is each result

When q is provided, every result includes match_quality, strongest first: When resolving a show programmatically, act on exact or partial results and treat anything weaker as candidates to confirm. q= is a ranked text search, not a deterministic mapping: the top hit is usually right but isn’t guaranteed to be. If you already hold a platform-native identifier (Apple, Spotify, YouTube, an RSS feed URL, …), use GET /v1/podcasts/lookup for a deterministic answer instead.

Combining search with filters

/v1/podcasts/search accepts every filter the list endpoint does — topic_id, language, suitability_tier, popularity_threshold, and the format filters (guest_frequency, format_signal, has_ads, has_video, episode length and cadence bounds):
When q is combined with other filters, text relevance drives the ordering — q is the more explicit statement of intent. Omit q entirely and the endpoint behaves as a filtered catalog listing.

Response

A paginated list of podcast objects:
Each result’s slug is the stable handle for every other podcast endpoint — episodes, transcripts, bias, suitability, advertising, and more. See the Podcasts overview for the full object shape.

Pagination

Standard limit (1–100, default 25) + opaque cursor. Pass the cursor from the previous response back as ?cursor=… to fetch the next page.
  • Episode search — search inside episode dialogue by meaning or exact phrase.
  • Lookup by external ID — deterministic resolution from Apple, Spotify, YouTube, and other platform identifiers.
  • Podcasts overview — the full podcast object, detail endpoints, and discovery filters.
  • Mentions — every dialogue line where a person or company is named.