particle_podcast_get_episode_timeseries
Time-bucketed episode counts — the purpose-built answer to "how often is X discussed over time". Counts episodes matching the same filters as particle_podcast_list_episodes (person, company, entity, podcast, keyword, language, duration, transcript availability) per day, week, or month, plus range totals. keyword_search additionally counts matching transcript segments per bucket (exact counts); semantic_search does the same by meaning, with the same similarity threshold as particle_podcast_search_transcripts (lower bounds for pathologically broad queries), and requires published_after. The two cannot be combined.
Use this for appearance, publication, or topic trend lines instead of paging particle_podcast_list_episodes, particle_podcast_find_mentions, or particle_podcast_search_transcripts once per period. Buckets are UTC-aligned, zero-filled, and Monday-aligned for weeks; ranges are capped at 1000 buckets. At least one of podcast_slug, person_slug, company_slug, entity_slug, keyword_search, or semantic_search is required.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | Role filter when person_slug, company_slug, or entity_slug is set. | |
| interval | No | Bucket width. Weeks start on Monday; all buckets are UTC-aligned. Defaults to week. | |
| language | No | Restrict to episodes of podcasts in this language — ISO 639-1 code (e.g. 'fr'). Matches the podcast's primary language subtag, so 'fr' covers 'fr-FR'. | |
| entity_slug | No | Knowledge-graph entity slug from particle_entity_resolve for the long tail that isn't a person or company (e.g. 'germany'). Use person_slug for people and company_slug for companies. | |
| person_slug | No | Person slug or encoded person ID (e.g. 'sam-altman'). Counts episodes featuring the person as a speaker — and, when the person has a linked knowledge-graph entity, episodes that mention them. | |
| company_slug | No | Company slug, domain, or ID. Resolves to the linked entity. | |
| max_duration | No | Maximum episode duration in seconds. | |
| min_duration | No | Minimum episode duration in seconds. | |
| podcast_slug | No | Podcast slug, internal ID, or numeric iTunes ID. Restrict to one podcast. | |
| output_format | No | Output serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matters; the JSON shape is larger and noisier for an LLM to read. | |
| has_transcript | No | Only count episodes with a completed transcript. | |
| keyword_search | No | Keyword filter over transcript content. Double-quoted substrings must appear as exact phrases; unquoted terms must all appear in one transcript segment. Adds per-bucket mention counts to the response. Cannot be combined with semantic_search. | |
| published_after | No | Inclusive range start as an ISO 8601 date or date-time. Omit to aggregate all time. | |
| semantic_search | No | Vector-similarity filter by meaning over transcript content — the counting twin of particle_podcast_search_transcripts' semantic_search, using the same similarity threshold. Describe the topic the way you'd say it to a colleague; paraphrase tolerant. Adds per-bucket mention counts to the response. Requires published_after (ranges up to ~2 years). Cannot be combined with keyword_search. | |
| published_before | No | Range end as an ISO 8601 date or date-time. Defaults to now. |