Podcasts
tier:standard

List related podcasts

Returns the shows most related to a podcast, best first, each with a calibrated score, a coarse band (strong, moderate, weak) to branch on, and — with include=basis — the signals behind the pairing: content similarity of recent episodes, shared topics, shared guests (named), same publisher, and shared sponsors. Related sets are precomputed per show from its embedded transcripts, topic profile, guest roster, network, and advertisers, restricted to the show's language, and refreshed as new episodes land; the endpoint is a fast page read. Only shows above a relatedness floor are listed, machine-generated and farmed feeds are never listed, and a publisher's duplicate feeds of one show appear once (sets computed before that rule are collapsed on read, best-effort). An empty first page is 200 with a coverage note saying whether the set is not computed yet, nothing cleared the floor, or the filters removed everything — never 404. Use this for "shows like this show" — media planning around a known show, PR pitch lists, and agent traversal from one resolved slug to its neighbours. It is not a topic browser (use GET /v1/podcasts?topic_id=… for shows that cover a topic), not a guest lookup (GET /v1/podcasts/guests/{id}/podcasts lists where a guest has appeared), and not advertiser co-occurrence (GET /v1/podcasts/advertising/co-occurrence). Every result carries the related show's slug, which every other podcast endpoint accepts as {id}; person slugs in the basis feed the guest endpoints and topic slugs feed topic_id. Identify the podcast by slug (e.g., 'all-in'), internal ID, or numeric iTunes ID.

get/v1/podcasts/{id}/related

Request

  • Base URL: https://api.particle.pro
  • URL: https://api.particle.pro/v1/podcasts/{id}/related
  • Auth: one of:
    • API key in header X-API-Key
    • HTTP bearer

Path parameters

idstring required

Podcast slug (e.g., 'all-in'), internal ID, or numeric iTunes ID

Query parameters

limitinteger

Results per page

cursorstring

Opaque pagination cursor from previous response

includestring[] nullable

Optional response sections. Pass include=basis to attach, for every result, the signals that make the two shows related: content similarity, shared topics, shared guests (with names), same publisher, shared sponsors.

min_scorenumber double

Only results with a fused score at or above this value. Omit (or 0) to return every stored neighbour; the band field is the recommended way to filter by strength.

languagestring

Only shows in this language (ISO 639-1 code, e.g. 'en', 'es'; a region suffix such as 'fr-CA' is reduced to the language). Related sets are built within the source show's language, so this mostly matters for shows with a mixed catalogue.

publishing_status'active' | 'dormant'

Only shows that have released an episode in the last 90 days (active) or have not (dormant). Shows with no known episode date match neither.

suitability_tier'SAFE' | 'LIMITED' | 'SENSITIVE' | 'UNSAFE'

Only shows whose latest brand-suitability assessment is this tier. Shows never assessed are excluded when this is set.

min_popularitynumber double

Only shows at or above this popularity percentile (0-1]. A floor above 0 excludes shows that do not chart; 0 (or omitting it) applies no floor.

exclude_same_publisherboolean

Drop shows from the source show's own publisher — 'shows like mine that I do not already own'.

Response

OK

cursorstring

Pass to next request for more results

has_moreboolean required

Whether more results exist

Changes

No recorded changes to this operation across all 2 revisions of this API.