speakers="guests"leaves hosts out.level="detailed"splits into detailed occupations or ANZSRC groups instead of SOC major groups or ANZSRC divisions.podcast_slugorpublisher_slugnarrows the split to one show or network.
include_ads is set: ad copy is not a speaker’s voice.
Each group’s code is a guest_occupation (or guest_field) value. To read what that group said about an entity, pass it to particle_podcast_find_mentions with the same entity. find_mentions takes no keyword: for a keyword, particle_podcast_search_transcripts with the same keyword_search and the code finds candidate passages. Its guest filters keep segments where such a guest speaks, not lines, so check each matching line’s speaker; host lines counted by the default all-speakers split are not reached that way.
Keywords
keyword_search splits the lines that say a word or phrase instead of an entity’s mentions, so “who is talking about prior authorization?” has a per-speaker answer. A line counts only when its own speaker said every word in it, case-insensitive. Wrap words in double quotes to require them adjacent and in order. Words are matched as spoken: a word with two meanings counts both, and authorization does not match authorizations. Lines in intros, transitions and outros count as an entity’s mentions do, and ad reads stay out unless include_ads is set.
A keyword’s window may span at most 90 days. A keyword said in more than 3,000 episodes in the window, or matching more content than the keyword index will count, returns validation_error with ways to narrow it: a shorter window, podcast_slug or publisher_slug, or a quoted phrase. A keyword over 500 characters, or one with no words (""), returns validation_error too. Finding a broad keyword’s lines reads every transcript that says it, so a call over a busy word can take around 20 seconds; a specific phrase answers in a few.
This is not what particle_podcast_get_episode_timeseries counts with keyword_search and guest_occupation. That count is episode-level and never checks who spoke: a matching segment counts when its episode had such a guest, even if the host said the words.
For an entity’s mention lines themselves, use particle_podcast_find_mentions; for a keyword’s passages, particle_podcast_search_transcripts. For a brand’s mention volume over time and the shows carrying it, use particle_podcast_get_mention_trends.
Inputs
Passing no subject returns
missing_parameter, and passing two returns invalid_input: call once per subject. A window longer than 365 days (90 for a keyword) returns invalid_parameter. A subject slug that matches nothing returns unresolved_reference, so an unknown name is never read as “nobody mentions it”. A keyword names no record, so a keyword nobody said returns an empty split.
Output
A markdown document headed## Share of voice — <Name> (<slug>) by <occupation|field> (<major|detailed>) (lines saying <keyword> in place of the name for a keyword), then two rows:
**Window:**—start to end (end excluded). The window is[start, end), so apublished_beforedate shows as the day after it.**Mentions:**— the total mention lines, and how many of them were spoken by someone with an expertise read, with that share. Group shares are of the attributed lines.
### Groups section follows, with numbered lines formatted N. Title (code) — M mentions, share S%, P speakers, E episodes. With interval, each group gets an indented line of bucket-start count pairs joined by ·. A closing paragraph repeats that shares can sum past 100% and names the guest_occupation (or guest_field) parameter for a group’s lines: with particle_podcast_find_mentions for an entity, or, for a keyword, particle_podcast_search_transcripts and the same keyword_search to find candidate passages whose speakers you then check.
When no mention in the window was spoken by someone with an expertise read, a single paragraph says so and suggests widening the window. A person with no linked knowledge-graph entity gets a note instead of a split.
Sample (company_slug="nvidia", speakers="guests", limit=3, truncated):
keyword_search="\"prior authorization\"", limit=3):
Example
Related
- REST equivalent:
GET /v1/podcasts/mentions/share-of-voice. - Read a group’s mention lines with
particle_podcast_find_mentionsand itsguest_filters. - Look up an occupation or field with
particle_expertise_resolve.