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). Find shows by who they book with guest_occupation or guest_field (codes from particle_expertise_resolve) and the share floors min_established_guest_share, min_in_field_guest_share and max_promotional_guest_share, each a share (0–1) of the show’s analyzed guest appearances. guest_field="banking-finance-and-investment" with min_established_guest_share=0.5 finds shows that book established finance experts. An occupation or field that names nothing returns unresolved_reference with the closest codes. These filters narrow a catalog search, so they cannot be combined with itunes_id or rss_url, which resolve one show directly: that combination returns invalid_input. Read a known show’s guest mix with include: ["guest_expertise"] instead. For the shows that booked an occupation’s or field’s guests most in a recent window, use particle_expertise_get with include: ["top_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) — premium-grade data, requires a plan with premium endpoints. 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 — premium-grade data, requires a plan with premium endpoints. For movers and history use particle_podcast_get_rankings.
  • include: ["format"]: the show’s format profile — how often episodes feature guests, detected production formats (interview, panel, call_in, solo_narrated), ad and video presence, episode-length distribution, publishing cadence, and the publish-day pattern.
  • include: ["related"]: the five most related shows (slug, score, band). For the full ranked list with the basis behind each pair use particle_podcast_list_related.
  • include: ["recommended_guests"]: the five guests the show could book next — people who have guested on its related shows but never on it — each with a score, a band, how many related shows booked them, and which. The paged form is GET /v1/podcasts/{id}/recommendations/guests.
  • include: ["coverage"]: how much of the show’s history we know of and have transcribed — discovered episodes by transcript status and by year, and whether its back catalogue has been imported and is complete. Use it before requesting transcripts, or before quoting a count over the show’s episodes.
  • include: ["recommended_sponsors"] (premium-grade): the five advertisers the show could pitch — sponsors that run on its related shows but not on it — each with the linked company, a score, a band, how many related shows run it, its ads and most recent ad across them, and which shows. The paged form is GET /v1/podcasts/{id}/recommendations/sponsors.
  • include: ["guest_expertise"]: the show’s guest mix — the shares of its analyzed guest appearances by established, senior and in-field guests and by promotional appearances, and the occupations and fields it books most, with codes the guest_ filters accept.
  • 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

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 the platform reports attributes (audience size, content tallies, verified status, …) they are appended after an em dash, joined with · and formatted name: value — so a YouTube channel renders as YouTube: <url> — subscribers: 245,000 · videos: 1,200. Integer counts carry thousand separators. When include contains related, a Related: block follows with up to five bullets formatted Title (slug) — score 0.91, strong, or a single note when the show’s related set has not been computed yet. When include contains recommended_guests, a Recommended guests: block follows with up to five bullets formatted Name (person-slug) — score 0.64, moderate, booked by 2 related show(s) · via Show A, Show B, or a single note when nothing can be recommended yet. The person-slug feeds particle_podcast_get_guest and particle_person_get. When include contains coverage, a Coverage: block follows with **Discovered episodes:** 514 (transcribed 14 · processing 0 · queued 0 · requestable 500 · unavailable 0), **Span:** (oldest → newest publication date), **Counted:** (when the counts were computed; they refresh hourly, while each episode’s own transcript_status is current), **Back catalogue:** (imported <date>; complete, imported <date>; may be incomplete when PodcastIndex listed its maximum of 1,000 episodes, or not in these counts, when the back catalogue has not been imported or was imported since the counts were computed, in which case discovered counts only the episodes we have ingested), and **By year:** (2019: 40 (0 transcribed) · …). When include contains recommended_sponsors, a Recommended sponsors: block follows with up to five bullets formatted Sponsor — score 0.71, moderate, runs on 4 related show(s), 19 ad(s), last 2026-08-21 (company polymarket.com) · via Show A, Show B, or a single note when nothing can be recommended yet. The company id feeds particle_company_get (add include: ["people"] for contacts). When include contains format and the podcast’s episodes have been analyzed, a Format: block follows with Guest frequency (bucket plus the exact share of analyzed episodes), Signals, Ads, Video, Episode length (average with p25/median/p75), Cadence (episodes per week), Publishing (active/dormant with the latest episode date), Publish days (per-weekday episode counts), and Analyzed episodes (the sample behind the attributes). Fields the catalog can’t yet assert for the show are omitted rather than guessed. When include contains guest_expertise, a Guest expertise: block follows with **Analyzed:** (N guests across M appearances), **Standing:** (established 41.00% · self_described 22.00% · unverified 37.00%), **Seniority:** (professional or above … · senior or above … · distinguished …), **In field:**, **Promotional:**, and **Top occupations:** / **Top fields:** rows listing up to five codes, each as Title (code, slug) share. A show with no analyzed guest appearances gets a single bullet saying so. 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 carried in full on the JSON form of the response (pass output_format: "json" to receive it); the markdown rendering surfaces the high-level Bias / Suitability tier enums and the suitability/format/external-link/recent-episode blocks above. Sample (slug="all-in"):
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

Pulling subscription URLs and current chart positions for a known podcast in one call:
Shows that book established finance experts, with each show’s guest mix:
Looking up a podcast by its Apple feed: