curl -H "X-API-Key: $PARTICLE_API_KEY" \
"https://api.particle.pro/v1/podcasts/{id}/related?limit=25"{
"data": [
{
"band": "strong",
"podcast": {
"id": "<string>",
"title": "<string>",
"best_rank": {
"captured_at": "2023-11-07T05:31:56Z",
"chart_type": "top_podcasts",
"rank": 123,
"source": "apple",
"category_slug": "<string>",
"country": "<string>"
},
"image_url": "<string>",
"popularity": 123,
"publisher": {
"id": "<string>",
"name": "<string>",
"slug": "<string>"
},
"slug": "<string>"
},
"score": 123,
"basis": {
"same_publisher": true,
"shared_category_count": 123,
"shared_guest_count": 123,
"shared_sponsor_count": 123,
"content_similarity": 123,
"shared_guests": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"image_url": "<string>",
"slug": "<string>"
}
],
"shared_topics": [
{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"ancestry": "<string>",
"ancestry_path": "<string>",
"episode_count": 123
}
],
"topic_overlap": 123
}
}
],
"has_more": true,
"coverage": {
"message": "<string>",
"status": "not_computed",
"computed_at": "2023-11-07T05:31:56Z"
},
"cursor": "<string>"
}{
"detail": "Property foo is required but is missing.",
"error_code": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"resolve": {
"message": "<string>",
"action": "<string>",
"endpoint": "<string>",
"method": "<string>",
"url": "<string>"
},
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}{
"detail": "Property foo is required but is missing.",
"error_code": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"resolve": {
"message": "<string>",
"action": "<string>",
"endpoint": "<string>",
"method": "<string>",
"url": "<string>"
},
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}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.
curl -H "X-API-Key: $PARTICLE_API_KEY" \
"https://api.particle.pro/v1/podcasts/{id}/related?limit=25"{
"data": [
{
"band": "strong",
"podcast": {
"id": "<string>",
"title": "<string>",
"best_rank": {
"captured_at": "2023-11-07T05:31:56Z",
"chart_type": "top_podcasts",
"rank": 123,
"source": "apple",
"category_slug": "<string>",
"country": "<string>"
},
"image_url": "<string>",
"popularity": 123,
"publisher": {
"id": "<string>",
"name": "<string>",
"slug": "<string>"
},
"slug": "<string>"
},
"score": 123,
"basis": {
"same_publisher": true,
"shared_category_count": 123,
"shared_guest_count": 123,
"shared_sponsor_count": 123,
"content_similarity": 123,
"shared_guests": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"image_url": "<string>",
"slug": "<string>"
}
],
"shared_topics": [
{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"ancestry": "<string>",
"ancestry_path": "<string>",
"episode_count": 123
}
],
"topic_overlap": 123
}
}
],
"has_more": true,
"coverage": {
"message": "<string>",
"status": "not_computed",
"computed_at": "2023-11-07T05:31:56Z"
},
"cursor": "<string>"
}{
"detail": "Property foo is required but is missing.",
"error_code": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"resolve": {
"message": "<string>",
"action": "<string>",
"endpoint": "<string>",
"method": "<string>",
"url": "<string>"
},
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}{
"detail": "Property foo is required but is missing.",
"error_code": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"resolve": {
"message": "<string>",
"action": "<string>",
"endpoint": "<string>",
"method": "<string>",
"url": "<string>"
},
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}Authorizations
Pass your API key in the X-API-Key header (recommended).
Path Parameters
Podcast slug (e.g., 'all-in'), internal ID, or numeric iTunes ID
Query Parameters
Results per page
1 <= x <= 100Opaque pagination cursor from previous response
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.
basis 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.
0 <= x <= 1Only 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.
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.
active, dormant Only shows whose latest brand-suitability assessment is this tier. Shows never assessed are excluded when this is set.
SAFE, LIMITED, SENSITIVE, UNSAFE 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.
0 <= x <= 1Drop shows from the source show's own publisher — 'shows like mine that I do not already own'.
Response
OK
List of results
Show child attributes
Show child attributes
Whether more results exist
Present only when the first page is empty: why there is nothing to show. Absent whenever data has rows or when paging past the end.
Show child attributes
Show child attributes
Pass to next request for more results
Was this page helpful?