> ## Documentation Index
> Fetch the complete documentation index at: https://docs.particle.pro/llms.txt
> Use this file to discover all available pages before exploring further.

# Get the expertise of a podcast's guests

> 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.



## OpenAPI

````yaml /openapi.json get /v1/podcasts/{id}/guests/expertise
openapi: 3.1.0
info:
  contact:
    email: api@particle.pro
    name: Particle
    url: https://particle.pro
  description: >-
    Podcast API for transcripts, mentions and sponsorship data. 140,000+
    podcasts transcribed, diarized and speaker-identified within minutes of
    airing, about 28,000 episodes a day. Search transcripts by keyword or
    meaning, track brand and company mentions with alerts, pull sponsor and
    ad-read data and rankings. REST API plus an MCP server for AI agents. Also
    company, people and topic intelligence.
  summary: >-
    Podcast API: transcripts, mentions, sponsors and rankings for 140,000+
    podcasts.
  termsOfService: https://particle.pro/legal/tos-api
  title: Particle API
  version: 0.1.0
  x-guidance: >-
    Podcast, people, company and topic intelligence. Authenticate with a pp_ API
    key (X-API-Key header) or pay per request with x402: a keyless call to a
    billable endpoint returns 402 with the payment requirements in the
    PAYMENT-REQUIRED header; sign the USDC transfer and repeat the request with
    PAYMENT-SIGNATURE. Start with GET /v1/podcasts/search?q=<show name>; the
    slugs in responses are the inputs to the other endpoints. Docs:
    https://docs.particle.pro; setup playbook:
    https://api.particle.pro/agents.md; endpoint and tool map with prices:
    https://api.particle.pro/llms.txt; credential recipe:
    https://api.particle.pro/auth.md.
  x-logo:
    url: https://particle.pro/favicon.svg
servers:
  - url: https://api.particle.pro
security:
  - ApiKeyHeader: []
  - BearerAuth: []
externalDocs:
  url: https://docs.particle.pro
paths:
  /v1/podcasts/{id}/guests/expertise:
    get:
      tags:
        - Podcast Guests
        - tier:standard
      summary: Get the expertise of a podcast's guests
      description: >-
        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.
      operationId: get-podcast-guest-expertise
      parameters:
        - description: Podcast slug, internal ID, or numeric iTunes ID.
          in: path
          name: id
          required: true
          schema:
            description: Podcast slug, internal ID, or numeric iTunes ID.
            type: string
        - description: How many occupations and how many fields to list (1-50, default 10).
          explode: false
          in: query
          name: limit
          schema:
            default: 10
            description: >-
              How many occupations and how many fields to list (1-50, default
              10).
            format: int64
            maximum: 50
            minimum: 1
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PodcastGuestExpertise'
          description: OK
        '402':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/PlatformError'
          description: >-
            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:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/PlatformError'
          description: Error
      x-codeSamples:
        - label: cURL
          lang: curl
          source: |-
            curl -H "X-API-Key: $PARTICLE_API_KEY" \
              "https://api.particle.pro/v1/podcasts/{id}/guests/expertise?limit=10"
components:
  schemas:
    PodcastGuestExpertise:
      additionalProperties: false
      properties:
        fields:
          description: >-
            The guests' most common ANZSRC 2020 field-of-research groups, most
            appearances first.
          items:
            $ref: '#/components/schemas/PodcastGuestCode'
          type:
            - array
            - 'null'
        guest_appearances:
          description: >-
            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.
          format: int64
          type: integer
        guests:
          description: The distinct people behind those appearances.
          format: int64
          type: integer
        in_field:
          $ref: '#/components/schemas/GuestAppearanceShare'
          description: Appearances where the guest spoke within their field.
        occupations:
          description: >-
            The guests' most common SOC 2018 detailed occupations, most
            appearances first.
          items:
            $ref: '#/components/schemas/PodcastGuestCode'
          type:
            - array
            - 'null'
        promotional:
          $ref: '#/components/schemas/GuestAppearanceShare'
          description: Appearances where the guest was there mainly to promote something.
        seniority:
          $ref: '#/components/schemas/PodcastGuestSeniority'
          description: >-
            The guests' seniority, each level counting the guests at it or
            above.
        standing:
          $ref: '#/components/schemas/PodcastGuestStanding'
          description: >-
            How the guests' standing is recognized, as GET
            /v1/people/{id}/expertise describes it.
        updated_at:
          description: >-
            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.
          format: date-time
          type: string
      required:
        - guest_appearances
        - guests
        - standing
        - in_field
        - promotional
        - seniority
        - occupations
        - fields
      type: object
    PlatformError:
      additionalProperties: false
      properties:
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        error_code:
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        resolve:
          $ref: '#/components/schemas/ErrorResolve'
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
      type: object
    PodcastGuestCode:
      additionalProperties: false
      properties:
        appearances:
          description: Analyzed guest appearances whose guest's records list this code.
          format: int64
          type: integer
        code:
          description: >-
            The standard's own notation, such as 29-1212 (SOC), 2212 (ISCO), or
            320101 (FoR).
          type: string
        guests:
          description: The distinct guests behind those appearances.
          format: int64
          type: integer
        level:
          description: >-
            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.
          format: int64
          type: integer
        parent_code:
          description: >-
            Code one level up; omitted at the top level and for every ISCO-08
            code, since ISCO-08 is listed without its upper levels.
          type: string
        share:
          description: Those appearances as a share of guest_appearances, from 0 to 1.
          format: double
          type: number
        slug:
          description: The title as a URL segment, such as cardiologists.
          type: string
        standard:
          description: >-
            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).
          enum:
            - soc_2018
            - isco_08
            - anzsrc_for_2020
          type: string
        title:
          description: The standard's official title, such as Cardiologists.
          type: string
      required:
        - appearances
        - guests
        - share
        - standard
        - code
        - title
        - slug
        - level
      type: object
    GuestAppearanceShare:
      additionalProperties: false
      properties:
        appearances:
          description: Analyzed guest appearances that qualify.
          format: int64
          type: integer
        share:
          description: Those appearances as a share of guest_appearances, from 0 to 1.
          format: double
          type: number
      required:
        - appearances
        - share
      type: object
    PodcastGuestSeniority:
      additionalProperties: false
      properties:
        distinguished:
          $ref: '#/components/schemas/GuestAppearanceShare'
          description: Guests at a distinguished level.
        professional:
          $ref: '#/components/schemas/GuestAppearanceShare'
          description: Guests working at a professional level or above.
        senior:
          $ref: '#/components/schemas/GuestAppearanceShare'
          description: Guests at a senior level or above.
      required:
        - professional
        - senior
        - distinguished
      type: object
    PodcastGuestStanding:
      additionalProperties: false
      properties:
        established:
          $ref: '#/components/schemas/GuestAppearanceShare'
          description: >-
            Guests whose standing others conferred: a credential, a position,
            recognition in the field.
        self_described:
          $ref: '#/components/schemas/GuestAppearanceShare'
          description: Guests whose standing rests on how they describe themselves.
        unverified:
          $ref: '#/components/schemas/GuestAppearanceShare'
          description: >-
            Guests whose standing their records do not establish either way,
            including guests not yet assessed. The three standings add up to
            guest_appearances.
      required:
        - established
        - self_described
        - unverified
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    ErrorResolve:
      additionalProperties: false
      properties:
        action:
          type: string
        endpoint:
          type: string
        message:
          type: string
        method:
          type: string
        url:
          type: string
      required:
        - message
      type: object
  securitySchemes:
    ApiKeyHeader:
      description: Pass your API key in the X-API-Key header (recommended).
      in: header
      name: X-API-Key
      type: apiKey
    BearerAuth:
      description: Pass your API key as a Bearer token in the Authorization header.
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.