---
title: "Get mention share of voice"
method: GET
path: "/v1/podcasts/mentions/share-of-voice"
tags: ["Podcast Episode Search", "tier:standard"]
---

# Get mention share of voice

`GET /v1/podcasts/mentions/share-of-voice`

## Request

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

Splits the podcast lines mentioning an entity by the occupations or fields of the people who said them: what share of what is said about it comes from, say, journalists or economists. A line counts when its speaker is linked to a person with an expertise reading and, for a guest, the appearance read does not doubt it is them; a person counts under every code listed for them, so shares can sum past 1. Ad reads are excluded unless include_ads. The window defaults to the last 30 days and may span 365; interval adds each group's mentions per bucket. Requires entity_id or company_id. For the mentions themselves, use GET /v1/podcasts/mentions; for their counts over time, GET /v1/podcasts/mentions/timeseries.

## Query parameters

- `entity_id` string: Entity slug (e.g., 'sam-altman') or ID. One of entity_id, company_id, or keyword_search is required.
- `company_id` string: Company slug, domain, or ID. Resolves to the company's linked entity. One of entity_id, company_id, or keyword_search is required.
- `keyword_search` string: Split the lines that say these words instead of an entity's mentions: every word in one line, case-insensitive; wrap words in double quotes to require them adjacent and in order. Words are matched as spoken, so a word with two meanings counts both. The window may span at most 90 days, and a keyword said in more episodes than can be read is refused with a way to narrow it. One of entity_id, company_id, or keyword_search is required.
- `by` 'occupation' | 'field': Group the speakers by SOC 2018 occupation or ANZSRC 2020 field of research.
- `level` 'major' | 'detailed': SOC major groups or detailed occupations; ANZSRC divisions or groups.
- `speakers` 'all' | 'guests': Attribute every speaker's lines, hosts included, or guests' and panelists' only.
- `podcast_id` string: Restrict to mentions inside one podcast.
- `publisher_id` string: Restrict to mentions on podcasts attributed to one publisher (network), by slug or ID.
- `include_ads` boolean: Mentions inside ad reads are excluded by default. Pass true to include them.
- `since` string: Only episodes published on or after this date. Defaults to 30 days before until; the window may span at most 365 days, or 90 with keyword_search.
- `until` string: Only episodes published on or before this date. Defaults to now.
- `published_after` string: Deprecated alias of since.
- `published_before` string: Deprecated alias of until.
- `interval` 'day' | 'week' | 'month': Add each group's mentions per bucket of this width.
- `limit` integer: Groups to return, most mentioned first.

## Response `200`

OK

- ShareOfVoice
  - `attributed_mentions` integer, required: Of those, the lines spoken by someone with an expertise reading (and, for a guest, whose appearance read does not doubt it is them). Shares are of these.
  - `by` 'occupation' | 'field', required: What the groups are: SOC 2018 occupations or ANZSRC 2020 fields of research.
  - `company` CompanyCompact
    - `description` string: Short company description, when known.
    - `domain` string: Primary website domain (e.g. 'nvidia.com'), when known.
    - `id` string, required: Company identifier (domain, slug, or encoded ID)
    - `image_url` string: Company logo or image URL
    - `name` string, required: Company name
    - `slug` string: Stable human-readable handle (the linked knowledge-graph slug, e.g. 'nvidia'), when known. Companies have no slug of their own; prefer this for display and pass it (or id) to /v1/companies.
    - `ticker` string: Primary stock ticker symbol, when listed.
  - `end` string, required: Day the window ends (UTC), excluded: the window is [start, end), so a published_before date shows as the day after it.
  - `entity` EntityCompact
    - `company` EntityCompany
      - `domain` string: Company website domain
      - `id` string, required: Company identifier
      - `ticker` string: Primary stock ticker symbol
    - `description` string: Short description
    - `id` string, required: Entity ID
    - `image_url` string: Entity image URL
    - `name` string, required: Entity name
    - `person` EntityPerson
      - `company` string: Current company name
      - `id` string, required: Person identifier
      - `image_url` string: Person headshot URL
      - `title` string: Current role title
    - `slug` string, required: Human-readable slug identifier
    - `type` EntityType
      - `name` string, required: Human-friendly display label (e.g. 'Company').
      - `slug` string, required: Stable identifier, safe to pass to the type query parameter (e.g. 'company').
    - `wikipedia_url` string: Wikipedia URL
  - `groups` ShareOfVoiceGroup[], nullable, required: The groups with the most attributed mentions, most first. A person listed under several codes counts in each, so shares can sum past 1.
    - `buckets` ShareOfVoiceBucket[], nullable: The group's mentions per interval bucket, when interval is set.
      - `mentions` integer, required
      - `start` string, required: First day of the bucket (UTC).
    - `code` string, required: The SOC 2018 or ANZSRC 2020 code.
    - `episodes` integer, required: Distinct episodes they were said in.
    - `mentions` integer, required: Attributed lines, mentioning the entity or saying the keyword, spoken by people listed under the code.
    - `share` number, double, required: mentions over attributed_mentions (0-1).
    - `speakers` integer, required: Distinct people who said them.
    - `title` string, required: The code's title.
  - `keyword` string: The keyword whose lines are split, when keyword_search was given instead of an entity. Mentions are then the lines that say it.
  - `level` 'major' | 'detailed', required: The groups' level: SOC major groups or detailed occupations; ANZSRC divisions or groups.
  - `mentions` integer, required: Lines mentioning the entity, or saying the keyword, in the window, from every speaker. Ad reads are left out unless include_ads.
  - `start` string, required: First day of the window (UTC), included.

## 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)
