---
title: "Get the expertise of a podcast's guests"
method: GET
path: "/v1/podcasts/{id}/guests/expertise"
tags: ["Podcast Guests", "tier:standard"]
---

# Get the expertise of a podcast's guests

`GET /v1/podcasts/{id}/guests/expertise`

## Request

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

Returns the show's guest-expertise profile over every guest and panelist appearance analyzed for expertise, all time: how many there were, the share whose standing others conferred, who spoke within their field, and who came mainly to promote something, the guests' seniority, and their most common occupations and fields of research. Appearances whose analysis doubts the guest is the person linked are left out. The profile is rebuilt at most once a day. For each guest's own expertise, use GET /v1/people/{id}/expertise; for one episode's guests, GET /v1/podcasts/episodes/{id}/expertise.

## Path parameters

- `id` string, required: Podcast slug, internal ID, or numeric iTunes ID.

## Query parameters

- `limit` integer: How many occupations and how many fields to list (1-50, default 10).

## Response `200`

OK

- PodcastGuestExpertise
  - `fields` PodcastGuestCode[], nullable, required: The guests' most common ANZSRC 2020 field-of-research groups, most appearances first.
    - `appearances` integer, required: Analyzed guest appearances whose guest's records list this code.
    - `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.
    - `guests` integer, required: The distinct guests behind those appearances.
    - `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).
    - `share` number, double, required: Those appearances as a share of guest_appearances, from 0 to 1.
    - `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.
  - `guest_appearances` integer, required: Guest and panelist appearances on the show analyzed for expertise, one per guest per episode, all time. Appearances whose analysis doubts the guest is the person linked are left out. The shares below are of this count.
  - `guests` integer, required: The distinct people behind those appearances.
  - `in_field` GuestAppearanceShare, required
    - `appearances` integer, required: Analyzed guest appearances that qualify.
    - `share` number, double, required: Those appearances as a share of guest_appearances, from 0 to 1.
  - `occupations` PodcastGuestCode[], nullable, required: The guests' most common SOC 2018 detailed occupations, most appearances first.
    - `appearances` integer, required: Analyzed guest appearances whose guest's records list this code.
    - `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.
    - `guests` integer, required: The distinct guests behind those appearances.
    - `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).
    - `share` number, double, required: Those appearances as a share of guest_appearances, from 0 to 1.
    - `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.
  - `promotional` GuestAppearanceShare, required
    - `appearances` integer, required: Analyzed guest appearances that qualify.
    - `share` number, double, required: Those appearances as a share of guest_appearances, from 0 to 1.
  - `seniority` PodcastGuestSeniority, required
    - `distinguished` GuestAppearanceShare, required
      - `appearances` integer, required: Analyzed guest appearances that qualify.
      - `share` number, double, required: Those appearances as a share of guest_appearances, from 0 to 1.
    - `professional` GuestAppearanceShare, required
      - `appearances` integer, required: Analyzed guest appearances that qualify.
      - `share` number, double, required: Those appearances as a share of guest_appearances, from 0 to 1.
    - `senior` GuestAppearanceShare, required
      - `appearances` integer, required: Analyzed guest appearances that qualify.
      - `share` number, double, required: Those appearances as a share of guest_appearances, from 0 to 1.
  - `standing` PodcastGuestStanding, required
    - `established` GuestAppearanceShare, required
      - `appearances` integer, required: Analyzed guest appearances that qualify.
      - `share` number, double, required: Those appearances as a share of guest_appearances, from 0 to 1.
    - `self_described` GuestAppearanceShare, required
      - `appearances` integer, required: Analyzed guest appearances that qualify.
      - `share` number, double, required: Those appearances as a share of guest_appearances, from 0 to 1.
    - `unverified` GuestAppearanceShare, required
      - `appearances` integer, required: Analyzed guest appearances that qualify.
      - `share` number, double, required: Those appearances as a share of guest_appearances, from 0 to 1.
  - `updated_at` string, date-time: When the profile was last rebuilt. It is rebuilt at most once a day, so the latest episodes may not count yet. Omitted when the show has no analyzed guest appearance.

## Other responses

- `402`: Payment Required. Read error_code. payment_required is the x402 path: either a keyless request being challenged — pay $0.03 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)
