---
title: "List trending podcast guests"
method: GET
path: "/v1/podcasts/guests/trends"
tags: ["Podcast Guests", "tier:standard"]
---

# List trending podcast guests

`GET /v1/podcasts/guests/trends`

## Request

- Base URL: `https://api.particle.pro`
- URL: `https://api.particle.pro/v1/podcasts/guests/trends`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Surfaces guests who are currently making the podcast rounds — the kind of cross-show interview activity that signals a book launch, product unveil, news-cycle moment, or new-on-the-scene debut. Each row is a guest whose recent activity is materially elevated above their own historical baseline AND who has appeared on multiple distinct podcasts inside the window with substantive (5+ minute) interviews. Filter by recency window, topic, brand-safety tier, and an optional first-appearance cutoff to find people new to the scene. This is not a leaderboard of perennial podcast regulars, recurring co-hosts, or daily news-segment contributors — those are filtered out by design; use /v1/podcasts/guests for a steady-state directory. Statistics refresh hourly.

## Query parameters

- `limit` integer: Results per page
- `cursor` string: Opaque pagination cursor from previous response
- `since` string: Inclusive lower bound of the trend window (default: 30 days ago)
- `min_distinct_podcasts` integer: Minimum number of distinct podcasts the guest must have appeared on inside the window (default 2)
- `first_appearance_since` string: Restrict to guests whose earliest-ever appearance is on or after this date (the "new on the scene" cut)
- `topic_id` string: Restrict to guests with at least one in-window appearance on an episode classified under this topic
- `suitability_tier_max` 'SAFE' | 'LIMITED' | 'SENSITIVE' | 'UNSAFE': Restrict to in-window appearances on podcasts at or below this IAB Tech Lab brand-safety tier

## Response `200`

OK

- PagePodcastGuestTrend
  - `cursor` string: Pass to next request for more results
  - `data` PodcastGuestTrend[], nullable, required: List of results
    - `first_appearance_in_window` string, date-time: Publication date of the earliest appearance in the window
    - `guest` PodcastGuestCompact, required
      - `appearance_count` integer, required: Episode appearances in the scope of the listing. For the directory and trends this is the guest's lifetime corpus-wide count; for the podcast-roster and when the directory is filtered with appeared_on_podcast_id, it is scoped to that podcast.
      - `description` string: Short description (e.g. current role), when known.
      - `distinct_podcasts` integer: Lifetime distinct podcasts the guest has appeared on across the corpus. Omitted when the listing is already scoped to a single podcast.
      - `expertise` SpeakerExpertise
        - `fields` ExpertiseCode[], nullable: Up to three ANZSRC 2020 fields of research the speaker is listed under, most specific first, none an ancestor of another. Pass a code or slug as guest_field (or field) to filter by it.
          - `code` string, required: The standard's own notation, such as 29-1212 (SOC), 2212 (ISCO), or 320101 (FoR).
          - `group` 'minor' | 'broad' | 'alias': Set for a code that stands for several detailed SOC 2018 occupations: a SOC minor group (such as 29-1000 Healthcare Diagnosing or Treating Practitioners), a broad group (such as 29-1210 Physicians), or an alias, an everyday name such as doctors (physicians and surgeons). Every occupation filter accepts one and matches a speaker listed under any of its occupations.
          - `level` integer: Depth in the standard's official hierarchy: SOC major group 1 and detailed occupation 2; FoR division 1, group 2, field 3; ISCO-08 unit group 4 and minor group 3. ISCO-08 codes are the groups SOC maps to, listed flat without the standard's upper levels. Omitted for a SOC group or alias (see group).
          - `parent_code` string: The standard's official parent code; omitted at the top level and for every ISCO-08 code, since ISCO-08 is listed without its upper levels. A SOC broad group's parent is its minor group and a minor group's its major group, but a detailed SOC occupation's official parent is its major group (29-1211 has parent_code 29-0000), so it can differ from parent, which is the browse parent one level up (29-1210).
          - `slug` string, required: The title as a URL segment, such as cardiologists.
          - `standard` 'soc_2018' | 'isco_08' | 'anzsrc_for_2020', required: The standard the code belongs to: soc_2018 (US Standard Occupational Classification), isco_08 (the ILO's International Standard Classification of Occupations), or anzsrc_for_2020 (ANZSRC Fields of Research).
          - `title` string, required: The standard's official title, such as Cardiologists.
        - `occupations` PersonOccupation[], nullable: Up to three SOC 2018 occupations the speaker is listed under, most specific first, none an ancestor of another. Pass a code or slug as guest_occupation (or occupation) to filter by it.
          - `code` string, required: The standard's own notation, such as 29-1212 (SOC), 2212 (ISCO), or 320101 (FoR).
          - `established` boolean: Whether others conferred the speaker's standing in this occupation, such as a licence or an appointment, rather than the speaker describing it. Present for detailed SOC 2018 occupations only.
          - `group` 'minor' | 'broad' | 'alias': Set for a code that stands for several detailed SOC 2018 occupations: a SOC minor group (such as 29-1000 Healthcare Diagnosing or Treating Practitioners), a broad group (such as 29-1210 Physicians), or an alias, an everyday name such as doctors (physicians and surgeons). Every occupation filter accepts one and matches a speaker listed under any of its occupations.
          - `level` integer: Depth in the standard's official hierarchy: SOC major group 1 and detailed occupation 2; FoR division 1, group 2, field 3; ISCO-08 unit group 4 and minor group 3. ISCO-08 codes are the groups SOC maps to, listed flat without the standard's upper levels. Omitted for a SOC group or alias (see group).
          - `parent_code` string: The standard's official parent code; omitted at the top level and for every ISCO-08 code, since ISCO-08 is listed without its upper levels. A SOC broad group's parent is its minor group and a minor group's its major group, but a detailed SOC occupation's official parent is its major group (29-1211 has parent_code 29-0000), so it can differ from parent, which is the browse parent one level up (29-1210).
          - `practicing` boolean: Whether the speaker still works in this occupation, as opposed to having worked in it. Present for detailed SOC 2018 occupations only.
          - `slug` string, required: The title as a URL segment, such as cardiologists.
          - `standard` 'soc_2018' | 'isco_08' | 'anzsrc_for_2020', required: The standard the code belongs to: soc_2018 (US Standard Occupational Classification), isco_08 (the ILO's International Standard Classification of Occupations), or anzsrc_for_2020 (ANZSRC Fields of Research).
          - `title` string, required: The standard's official title, such as Cardiologists.
        - `seniority` 'professional' | 'senior' | 'distinguished': The highest level the speaker has reached in their field; omitted below professional.
        - `standing` 'established' | 'self_described' | 'unverified', required: How the speaker's standing is recognized: established (conferred by others: a credential, a position, recognition in the field), self_described (claimed by the speaker), or unverified (the records do not say, which never means the speaker is not an expert).
      - `first_appearance_at` string, date-time: Publication date of the earliest appearance within the listing's scope
      - `id` string, required: Encoded Person identifier
      - `image_url` string: Canonical headshot URL when one is known for the Person
      - `last_appearance_at` string, date-time: Publication date of the most recent appearance within the listing's scope
      - `name` string, required: Display name
      - `slug` string: Stable human-readable handle (e.g. 'satya-nadella'). Recommended canonical identifier on every Particle Pro person surface.
    - `last_appearance_at` string, date-time: Publication date of the most-recent appearance
    - `recent_appearances` integer, required: Episode appearances inside the trend window. Every appearance is on a distinct podcast — guests with repeats on the same show inside the window are excluded so the listing reflects cross-show press tours, not regulars stacking repeats.
  - `has_more` boolean, required: Whether more results exist

## Other responses

- `402`: Payment Required. Read error_code. payment_required is the x402 path: either a keyless request being challenged — pay $0.04 in USDC per request (requirements in the PAYMENT-REQUIRED header) or send a pp_ API key — or a supplied payment that failed settlement (details in the PAYMENT-RESPONSE header; retry the same signature before signing a new one). See https://docs.particle.pro/x402. Any other code means the credential was accepted but does not cover this request (a plan or session gate such as premium_required or paid_plan_confirmation_required); its resolve says how to obtain access, and no payment header is sent.
- `default`: Error

---

[API](https://skmtc.dev/particle/apis/particle-api.md) · [All operations](https://skmtc.dev/particle/apis/particle-api/llms.txt) · [OpenAPI document](https://skmtc.dev/particle/apis/particle-api/revisions/416ba82ab9d7?raw)
