Search podcasts
Searches the podcast catalog by show name — the canonical podcast search. Functionally equivalent to GET /v1/podcasts?q=…: the same forgiving, typo-tolerant ranked search, the same filters (topic, language, suitability tier, popularity, format), and the same match_quality signal on each result. To search inside episode dialogue, use /v1/podcasts/episodes/search instead.
Request
- Base URL: https://api.particle.pro
- URL: https://api.particle.pro/v1/podcasts/search
- Auth: one of:
- API key in header X-API-Key
- HTTP bearer
Query parameters
Results per page
Opaque pagination cursor from previous response
Search the catalog by podcast name. GET /v1/podcasts/search is the canonical search endpoint and accepts the same parameters. 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's match_quality tells you how confident the match is — including when a show matched only through its description (match_quality=description) rather than its name.
Result ordering. relevance — the default whenever q is present — ranks by how well each podcast matches the query, breaking ties by popularity. popularity orders purely by the global popularity percentile (most popular first; podcasts not currently charting sort last), and also overrides topic_id's concentration ordering. Without q or topic_id, results are popularity-ordered either way.
Filter by exact podcast slug (e.g., 'all-in'). Slugs are stable, human-readable identifiers returned on every podcast object.
Filter by topic ID, ancestry slug (e.g., technology/artificial-intelligence), or ancestry path hash. Matches podcasts where the topic accounts for at least 20% of the show's episodes, ranked by topic concentration — not merely podcasts that mention it once.
Filter by the podcast's language (ISO 639-1 code, e.g. 'en', 'fr'). Matches the primary language subtag, so 'fr' covers 'fr-FR'.
Filter by brand-suitability tier (IAB Tech Lab Brand Safety & Suitability Framework, formerly GARM). Only returns podcasts whose most recent suitability analysis assigned this tier. Podcasts without a suitability analysis are excluded when this filter is set.
Restrict results to podcasts whose global popularity percentile is at least this value (accepted range [0,1]). Omitting the parameter or passing 0 disables the filter; only a value greater than 0 activates it. Popularity is always global — a cume_dist ranking over all currently-charting podcasts (Apple Podcasts) — never scoped to topic_id or any other filter. When the filter is active (threshold > 0), podcasts not currently charting have no percentile and are excluded, so a high threshold combined with a narrow topic_id may return zero results; lower or remove the threshold to widen the set.
Filter by how often episodes feature a guest. Pass a comma-separated list to match any of several buckets — e.g. regular,always for interview-driven shows, or never for shows that don't host guests. Only matches podcasts with enough analyzed episodes to judge; values mirror the format.guest_frequency field on podcast responses.
[ "regular", "always" ]
Filter by detected production format. Pass a comma-separated list to match any of several formats — e.g. panel,call_in. Values mirror the format.signals field on podcast responses; a show can carry several signals.
[ "interview" ]
Filter by advertiser presence. Pass false to find ad-free shows — an assertion that requires the show to have enough analyzed episodes, so sparsely-analyzed podcasts are excluded rather than presumed ad-free.
Filter by whether episodes have discovered video versions (e.g. YouTube releases).
Only podcasts whose average episode runs at least this many minutes. Combine with max_avg_episode_minutes to target a length band (e.g. 20–40 minute commute shows).
Only podcasts whose average episode runs at most this many minutes.
Only podcasts publishing at least this many episodes per week on average (e.g. 5 for weekday dailies). Cadence is measured over the trailing 90 days; podcasts tracked too briefly to measure are excluded.
Only podcasts publishing at most this many episodes per week on average (e.g. 0.5 for fortnightly-or-slower shows).
Filter by publishing activity: active shows have released an episode within the last 90 days; dormant shows have not.
Only shows whose analyzed guests include someone listed under this SOC 2018 or ISCO-08 occupation (code, slug, or title), including a SOC group or everyday name such as physicians or doctors. A word with no occupation that names a field of research, such as oncologists, filters by the field; one that names a capacity, such as founders, is rejected.
Only shows whose analyzed guests include someone listed under this ANZSRC 2020 field of research (code, slug, or title).
Only shows with at least this many guest appearances analyzed for expertise. Raise it to steady the share filters below on shows with few analyzed guests.
Only shows where at least this share of analyzed guest appearances are by guests whose standing others conferred (0-1; 0 sets no bound).
Only shows where at least this share of analyzed guest appearances stayed within the guest's field (0-1; 0 sets no bound).
Only shows where at most this share of analyzed guest appearances were mainly promotional (0-1); 0 keeps only shows with none.
Response
OK
Changes
No recorded changes to this operation across all 2 revisions of this API.