Skip to main content
Find a podcast by free-text title, exact slug, iTunes ID, or RSS feed URL. Returns slug, title, episode count, bias, and the top recurring speakers (with entity slugs). Use the slug as the agent-facing handle to feed into other podcast tools. With all identifiers omitted, returns the most popular podcasts (popularity-ranked, not recency) — useful for browsing the catalog when you don’t have a name in mind. Narrow free-text browsing with topic_slug (topic concentration, descendants included), suitability_tier, or min_popularity (global popularity percentile over charting podcasts). Optional hydrations attach extra data to each result in the same call:
  • include: ["external_links"]: third-party platform presences (Apple Podcasts, Spotify, YouTube, X, publisher website, etc.) with resolved URLs and audience metrics.
  • include: ["suitability"]: per-category brand-suitability breakdown (12 IAB Tech Lab Brand Safety & Suitability categories with prevalence, treatment, derived risk level, reasoning, and evidence excerpts). The high-level suitability_tier enum (SAFE / LIMITED / SENSITIVE / UNSAFE) is rendered on every result without opt-in.
  • include: ["ratings_summary"]: listener-review aggregate (average stars, count, per-platform breakdown). For the full review list use particle_podcast_get_ratings.
  • include: ["bias"]: full political-bias analysis. The high-level bias enum is always rendered without opt-in.
  • include: ["rankings"]: current chart positions across sources/countries/categories. For movers and history use particle_podcast_get_rankings.
  • recent_episodes: N: inline this many of each result’s most recent episodes (episode_slug, title, published_at, duration_seconds) — skip the follow-up particle_podcast_list_episodes call when you only need the most recent tail.

Inputs

FieldTypeRequiredDefaultDescription
querystringnoFree-text search across podcast titles and descriptions (case-insensitive partial match). Omit to fall back to the most recently updated podcasts.
slugstringnoExact slug match for a known handle (e.g. "all-in").
itunes_idstringnoNumeric Apple Podcasts / iTunes ID (e.g. "1502871393"). Resolves directly to the matching podcast.
rss_urlstringnoCanonical RSS feed URL. Resolves directly to the matching podcast.
topic_slugstringnoFilter candidates by topic (slug from particle_topic_browse, e.g. "technology/artificial-intelligence"). Matches podcasts where the topic — or any descendant — accounts for a meaningful share of episodes, ranked by concentration.
suitability_tierstringnoFilter candidates by brand-suitability tier. One of SAFE, LIMITED, SENSITIVE, UNSAFE. Podcasts without a suitability analysis are excluded when set.
min_popularitynumber (0–1]no0Restrict candidates to podcasts whose global popularity percentile is at least this value. Popularity is a cume_dist ranking over currently-charting podcasts; non-charting podcasts are excluded when set. Omit or 0 to disable.
limitinteger (1–25)no5Maximum candidates to return.
includearray of enumsno[]Optional non-parameterized hydrations to attach to each result: external_links, suitability, ratings_summary, bias, rankings. The high-level suitability_tier and bias enums are always rendered without opt-in.
recent_episodesinteger (0–25)no0Inline this many of each result’s most recent episodes (episode_slug, title, published_at, duration_seconds). 0 means none.

Output

A markdown document with ## Podcast matches (N) and one ### Title section per podcast. Each section carries bulleted KV rows: - **Slug:**, - **Episodes:**, - **Bias:** (when rated; values: EXTREME_LEFT, LEANS_LEFT, LEFT, CENTER, RIGHT, LEANS_RIGHT, EXTREME_RIGHT), - **Suitability tier:** (when assessed; values: SAFE, LIMITED, SENSITIVE, UNSAFE), - **Language:** (only those with values), then a paragraph description, then a Top speakers: heading followed by up to 8 bullets — each formatted Name (entity_slug) — role. When include contains suitability and the podcast has been assessed, a Suitability breakdown: block follows with Confidence, Episodes analyzed, Window, the summary paragraph, and one bullet per category above NONE, formatted **code** — prevalence=…, treatment=…, risk=… with the reasoning and cited evidence excerpts. Categories at NONE are omitted (the dedicated REST endpoint GET /v1/podcasts/{id}/suitability returns all 12 unconditionally). When include contains external_links, an External links: block follows with one bullet per platform, formatted Platform: <url> (or Platform: <identifier> for handle-only platforms like X (Twitter): @hardfork). When recent_episodes is greater than 0, a Recent episodes: block follows with up to that many bullets per podcast, formatted YYYY-MM-DD · episode-slug — Episode title (~Nm). The episode-slug is the handle accepted by particle_podcast_get_episode. The ratings_summary, bias, and rankings hydrations are attached to the structured JSON response (via MCP structuredContent); the markdown rendering surfaces the high-level Bias / Suitability tier enums and the suitability/external-link/recent-episode blocks above. Sample (slug="all-in"):
## Podcast matches (1)

### All-In with Chamath, Jason, Sacks & Friedberg

- **Slug:** all-in
- **Episodes:** 201
- **Bias:** LEANS_RIGHT
- **Language:** en

Industry veterans, degenerate gamblers & besties Chamath Palihapitiya, Jason Calacanis, David Sacks & David Friedberg cover all things economic, tech, political, social & poker.

Top speakers:
- Jason Calacanis (jason-calacanis) — HOST
- Chamath Palihapitiya (chamath-palihapitiya) — HOST
- David Friedberg (david-friedberg) — HOST
- David O. Sacks (david-o-sacks) — HOST
The string after - **Slug:** is the podcast handle to feed back as podcast_slug to other tools. Each speaker bullet’s parenthesized (entity_slug) (when present) is the knowledge-graph handle for that person — feed it into particle_podcast_find_mentions or particle_podcast_list_episodes to follow them across the catalog.

Example

Agent calls: particle_podcast_resolve { "query": "all in" }
            → reads "- **Slug:**" row → "all-in"

Agent calls: particle_podcast_get_sponsors { "podcast_slug": "all-in" }
Pulling subscription URLs and current chart positions for a known podcast in one call:
Agent calls: particle_podcast_resolve {
  "slug": "all-in",
  "include": ["external_links", "rankings"]
}
Looking up a podcast by its Apple feed:
Agent calls: particle_podcast_resolve { "itunes_id": "1502871393" }