Skip to main content
A guest’s podcast-appearance profile: lifetime stats (appearances, distinct podcasts, first/last appearance) plus their most frequent podcasts. Guests are people — the same slug works with particle_person_get for the biographical profile. Request optional sections via include: appearances for the most recent episode appearances (episode and podcast slugs included for follow-up calls), podcasts for the per-podcast rollup, suitability for brand-suitability exposure across the podcasts they appear on, recommended_podcasts for the five shows they could plausibly appear on next — shows related to the ones they have guested on, each with the venues that led there, its suitability tier, latest episode and chart breadth. Shows they appeared on, same-host sibling feeds of those, shows that stopped publishing and UNSAFE shows are already left out, and much smaller shows rank lower (the pitch list; the paged form is GET /v1/podcasts/guests/{id}/recommendations/podcasts), in_field_appearances for the most recent appearances where they spoke within their own field of expertise, meaning the episode drew on what they know. particle_person_get with include: ["expertise"] says what that field is. Returns not_found for people who exist but have never appeared on a podcast — use particle_person_get for those.

Inputs

Output

A markdown document with the guest’s name as an H2, then a **Slug:** row, a **Current role:** row (Title, Company) when known, and a **Stats:** row (N appearances across M podcasts, last YYYY-MM-DD). A ### Top podcasts section always lists their most frequent shows. The following H3 sections appear when the matching include value was requested:
  • ### Podcasts — the full per-podcast rollup, each Podcast title (podcast-slug) — N appearances, last YYYY-MM-DD.
  • ### Recent appearances — Episode title (episode-slug) on Podcast title (podcast-slug) — YYYY-MM-DD.
  • ### Recent in-field appearances — the same line format as ### Recent appearances, keeping only appearances read as the guest speaking within their own field (up to 10). When none qualify, the section stays with a one-sentence note, so an empty answer is distinguishable from one not requested.
  • ### Suitability exposure — Lifetime and Last 90 days tier distributions (SAFE N, LIMITED N, …), plus a notes paragraph when present.
  • ## Recommended podcasts for <name> (N) — only when include contains recommended_podcasts. A sentence naming what the list already leaves out, then numbered lines formatted **Podcast title** (podcast-slug) — score 0.71, strong, each followed by a fit line (SAFE · last episode 2026-10-20 · on 41 charts) and a via: Show A, Show B line naming the person’s own shows that led to the pick. A single sentence instead when nothing can be recommended (no identified appearances, the related sets behind their shows have not been computed, or every related show was screened out). The JSON form carries the section as recommended_podcasts (podcasts plus a note when empty).
The podcast-slug and episode-slug values round-trip into the podcast tools. Sample (guest_slug="sam-altman", include=["podcasts"], truncated):

Example

Where an economist spoke as an economist, rather than as a commentator on something else: