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

# particle_podcast_compare_share_of_voice

> Compare how two to five companies, people or entities are spoken of on podcasts, side by side, by their speaker statement characteristics.

Compare how two to five companies, people or entities are spoken of on podcasts, side by side. It answers "how is NVIDIA spoken of vs AMD vs Intel?" in one call. Each subject's mention lines over the same window are grouped by their label on one [speaker statement characteristics](https://docs.particle.pro/podcasts/speaker-statement-characteristics.md) axis, and each label's share is of that subject's scored lines.

* `by="sentiment"` (the default) is how negatively or positively each subject is spoken of. `certainty`, `specificity` and `temporal_orientation` work the same way.
* By default it counts guests' and panelists' lines, as [`particle_podcast_get_share_of_voice`](https://docs.particle.pro/mcp/tools/podcasts/podcast-get-share-of-voice) does. `speakers="all"` adds hosts.
* `breakdown` splits each label group by a second axis: `by="temporal_orientation"` with `breakdown="certainty"` is how sure each subject's predictions are.
* `speaker_statement_characteristics` counts only lines said a certain way, and `podcast_slug` or `publisher_slug` narrows to one show or network. Both apply to every subject.

Each subject is exactly what `particle_podcast_get_share_of_voice` returns for it with the same arguments and `by` set to the axis, so the numbers agree. Not every line carries labels, so a subject's shares are of its scored lines, and a subject with fewer than 20 is marked `low sample`: read its shares as examples, not a distribution. Ad reads are left out unless `include_ads` is set.

The subjects are split at the same time, so a call over five takes about as long as the slowest one.

For which professions say it, use `particle_podcast_get_share_of_voice` one subject at a time. To read the lines behind a cell, pass the subject and the label as `speaker_statement_characteristics` to [`particle_podcast_find_mentions`](https://docs.particle.pro/mcp/tools/podcasts/podcast-find-mentions). For mention volume over time, use [`particle_podcast_get_mention_trends`](https://docs.particle.pro/mcp/tools/podcasts/podcast-get-mention-trends).

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `company_slugs` | string\[] (2–5) | one of | — | Company slugs or domains from `particle_company_resolve`, in the order to show them (e.g. `["nvidia", "amd", "intel"]`). Exactly one of `company_slugs`, `person_slugs` or `entity_slugs` is required. |
| `person_slugs` | string\[] (2–5) | one of | — | Person slugs from `particle_person_resolve` (e.g. `["sam-altman", "dario-amodei"]`). |
| `entity_slugs` | string\[] (2–5) | one of | — | Knowledge-graph entity slugs from `particle_entity_resolve`, for anything that isn't a person or company (e.g. `["germany", "france"]`). |
| `by` | string | no | `sentiment` | The axis whose labels each subject's lines are grouped by: `sentiment`, `certainty`, `specificity` or `temporal_orientation`. |
| `breakdown` | string | no | — | Split each label group by a second axis. Must differ from `by`. |
| `speakers` | string | no | `guests` | Whose lines count: `guests` (guests and panelists) or `all` (hosts included). |
| `podcast_slug` | string | no | — | Only mentions inside this podcast (slug from `particle_podcast_resolve`). |
| `publisher_slug` | string | no | — | Only mentions on podcasts of this publisher (network), by slug. |
| `include_ads` | boolean | no | `false` | Count mentions inside ad reads too. |
| `published_after` | string | no | 30 days before `published_before` | Only episodes published on or after this date (`YYYY-MM-DD`). The window may span at most 365 days. |
| `published_before` | string | no | now | Only episodes published on or before this date (`YYYY-MM-DD`). |
| `speaker_statement_characteristics` | object | no | — | Count only the lines said a certain way, for every subject: `{"temporal_orientation": ["future"]}`. |

Passing no subject list returns `missing_parameter`, and passing two lists returns `invalid_input`. Fewer than two subjects or more than five, an occupation or field as `by`, or a window longer than 365 days returns `invalid_parameter`. A slug that matches nothing returns `unresolved_reference` naming it. A company or person with no linked knowledge-graph entity, a slug named twice, and two slugs that resolve to the same entity are refused by name too, so a missing subject is never shown as one nobody mentions.

## Output

A markdown document headed `## Share of voice compared — by <axis>, <guests and panelists|every speaker>`, then a `**Window:**` row (`start to end (end excluded)`) and a table with one row per subject, in the order given:

* `Subject` — `Name (slug)`.
* `Scored` — the subject's lines that carry labels, which its shares are of, followed by `(low sample)` below 20.
* One column per label in the axis's order, each `share (lines)`. A zero share shows as `-`.

With `breakdown`, a `### Each <by> label by <breakdown>` section adds a second table with one row per subject and label, its scored lines, and one column per breakdown label. Closing paragraphs restate what the shares are of and point to `particle_podcast_find_mentions` with the label as `speaker_statement_characteristics`.

With `output_format="json"`, the response is `{by, breakdown, start, end, speakers, characteristics_version, subjects}`, where each subject is the full `particle_podcast_get_share_of_voice` JSON for it. `characteristics_version` is present only when every subject that read labels read the same version.

Sample (`company_slugs=["nvidia", "amd", "intel"]`, defaults):

```markdown theme={"dark"}
## Share of voice compared — by sentiment, guests and panelists

**Window:** 2026-09-27 to 2026-10-27 (end excluded)

| Subject | Scored | negative | neutral | positive |
|------|------|------|------|------|
| Nvidia (nvidia) | 3928 | 5.20% (205) | 82.30% (3232) | 12.50% (491) |
| AMD (amd) | 495 | 1.60% (8) | 82.60% (409) | 15.80% (78) |
| Intel (intel) | 1112 | 2.80% (31) | 88.70% (986) | 8.50% (95) |

Shares are of each subject's scored mentions, the lines that carry labels; a subject with fewer than 20 is low sample, so read its shares as examples.

Read the lines behind a cell with particle_podcast_find_mentions, the subject, and speaker_statement_characteristics {"sentiment": ["<label>"]}.
```


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