> ## Documentation Index
> Fetch the complete documentation index at: https://docs.particle.pro/llms.txt
> Use this file to discover all available pages before exploring further.

# Related Podcasts

> Shows related to a given show — ranked by content, topics, shared guests, network and sponsors — with the reasons attached.

Given one show, which other shows are like it? Particle API answers with a ranked,
explainable list computed from what is actually in the audio and the metadata around it:
the content of recent episodes (embedded transcripts), the show's topic profile, the guests
it books, the network it belongs to, and the advertisers it carries. Every result carries a
calibrated score, a coarse band, and — on request — the specific signals that make the pair
related, so a client can tell "same beat, same audience" from "same network, different
subject" instead of trusting a bare number.

Related sets are precomputed per show and refreshed as new episodes arrive, so the
endpoint is a fast page read rather than a live search.

## List related podcasts

```bash theme={"dark"}
curl -s -H "X-API-Key: $PARTICLE_API_KEY" \
  "https://api.particle.pro/v1/podcasts/all-in/related?include=basis&limit=3"
```

```json Response (truncated) theme={"dark"}
{
  "data": [
    {
      "podcast": {
        "id": "4oGfeKqQ8zUwbF1Wm2u3yh",
        "title": "This Week in Startups",
        "slug": "this-week-in-startups",
        "publisher": { "id": "…", "name": "…", "slug": "…" }
      },
      "score": 0.91,
      "band": "strong",
      "basis": {
        "content_similarity": 0.84,
        "topic_overlap": 0.71,
        "shared_topics": [
          { "id": "…", "name": "Venture Capital", "slug": "business/venture-capital" }
        ],
        "shared_guest_count": 9,
        "shared_guests": [
          { "id": "…", "name": "…", "slug": "…" }
        ],
        "same_publisher": false,
        "shared_sponsor_count": 3,
        "shared_category_count": 2
      }
    }
  ],
  "has_more": true,
  "cursor": "r.…"
}
```

| Parameter         | Meaning                                                                                                                                   |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `id` (path)       | Podcast slug, internal ID, or numeric iTunes ID — the same identifiers every podcast endpoint accepts.                                    |
| `include`         | `basis` attaches the explanation object to every result. Omit it for the lean form (podcast, score, band).                                |
| `min_score`       | Drop results below this fused score. Prefer filtering on `band`; the score's exact thresholds may be recalibrated as the ranker improves. |
| `limit`, `cursor` | Standard pagination over the stored ranking (up to 50 related shows per podcast; `limit` defaults to 25, max 100).                        |

## The five most related shows inline

The podcast detail embeds the lean form on request, so one call answers "what else is like
this" without a second round trip. The same `include` parameter also takes
`recommended_guests` (the five guests the show could book next) and `recommended_sponsors`
(premium-grade; the five advertisers active on shows like this one that do not buy it yet), the
inline forms of [`/recommendations/guests`](/podcasts/guests#recommended-guests-for-a-podcast)
and [`/recommendations/sponsors`](/podcasts/advertising#sponsors-a-podcast-could-pitch):

```bash theme={"dark"}
curl -s -H "X-API-Key: $PARTICLE_API_KEY" \
  "https://api.particle.pro/v1/podcasts/all-in?include=related"
```

```json Response (truncated) theme={"dark"}
{
  "id": "…",
  "title": "All-In with Chamath, Jason, Sacks & Friedberg",
  "slug": "all-in",
  "related": [
    { "podcast": { "id": "…", "title": "This Week in Startups", "slug": "this-week-in-startups" }, "score": 0.91, "band": "strong" },
    { "podcast": { "id": "…", "title": "The Twenty Minute VC", "slug": "the-twenty-minute-vc" }, "score": 0.87, "band": "strong" }
  ]
}
```

`related` is omitted when the show's set has not been computed yet. The full list, pagination,
and the `basis` live on `GET /v1/podcasts/{id}/related`.

## Reading a result

| Field                                              | Meaning                                                                                                                                                                                             |
| -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `score`                                            | Fused relatedness in (0, 1], calibrated so that higher values are more likely to be judged related by an editor. Comparable across shows.                                                           |
| `band`                                             | `strong` (same beat and audience), `moderate` (overlapping subject or audience but a different beat), `weak` (a loose connection). Branch on this rather than on raw score thresholds.              |
| `basis.content_similarity`                         | Cosine similarity between the two shows' content centroids, each derived from recent episode transcripts. Omitted when either show has too few embedded episodes — an absent signal, not a low one. |
| `basis.topic_overlap` / `basis.shared_topics`      | Overlap of the two shows' topic profiles, and up to three topics that contribute most to it. Topic slugs are valid `topic_id` values on `GET /v1/podcasts`.                                         |
| `basis.shared_guest_count` / `basis.shared_guests` | Guests who appeared on both shows; up to three are named, most significant first. Circuit regulars who appear everywhere are discounted. Person slugs feed `GET /v1/podcasts/guests/{id}`.          |
| `basis.same_publisher`                             | Both shows belong to the same multi-show publisher (network). Singleton publishers carry no signal.                                                                                                 |
| `basis.shared_sponsor_count`                       | Advertisers both shows have carried.                                                                                                                                                                |
| `basis.shared_category_count`                      | Directory categories the shows share.                                                                                                                                                               |

Related shows are restricted to the source show's language, and a show's own list never
contains itself. A show whose related set has not been computed yet returns `200` with an
empty `data` array, not `404` — the show exists; its relatedness simply has not landed.

## MCP

The same data is available to agents as [`particle_podcast_list_related`](/mcp/tools/podcasts/podcast-list-related)
(with `include: ["basis"]`), and inline on [`particle_podcast_resolve`](/mcp/tools/podcasts/podcast-resolve)
via `include: ["related"]`.

## Choosing the right endpoint

| You want…                                | Use                                          |
| ---------------------------------------- | -------------------------------------------- |
| Shows like this show                     | `GET /v1/podcasts/{id}/related` (this page)  |
| Shows that discuss a topic               | `GET /v1/podcasts?topic_id=…`                |
| Shows a specific guest has appeared on   | `GET /v1/podcasts/guests/{id}/podcasts`      |
| Advertisers that co-occur with a sponsor | `GET /v1/podcasts/advertising/co-occurrence` |
| Where a phrase or idea is discussed      | `GET /v1/podcasts/episodes/search`           |

## How it is computed

For each show, candidates come from five independent arms — nearest shows by content
centroid, shows sharing a guest, shows concentrated in its most specific topics, the show's
own publisher, and shows sharing a sponsor —
and every candidate is scored on all signals at once, so a show with no embedded episodes
still gets neighbours from its guests, topics and network. Sets are recomputed when new
episodes land, coalesced so a daily show recomputes a few times a day rather than once per
episode. The ranker was validated against an external listener-behaviour reference (Apple's
"You Might Also Like" lists), a temporal shared-guest holdout, and a calibrated editorial
judge; the methodology and the measured recall and precision figures are published with the
[changelog entry](/changelog) for this endpoint once the full-catalogue evaluation completes.
