Search Episodes by Topic
search_episodes_by_topicSemantic topic search across the podcast catalog. Unlike search_episodes (which does lexical/keyword matching), this tool understands meaning: a query for 'AI safety' will match episodes about 'AI alignment', 'AGI risk', or 'frontier model evaluation' even if they don't contain the exact phrase. Returns ranked episodes with the matched topic phrases so you can explain why each result is relevant before fetching the transcript. Best for conceptual or thematic queries — use search_episodes instead when the user is looking for a specific person, product, or verbatim phrase.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of episodes to return. Must be between 1 and 50. | |
| topic | Yes | Semantic topic to find episodes about. Free-form phrasing welcome — the server embeds this string and finds episodes whose extracted topic phrases are closest in meaning. Good examples: 'AI safety', 'EU AI Act regulation', 'GPU supply constraints', 'Theo Epstein on roster construction'. Distinct from `search_episodes`, which performs lexical keyword matching. | |
| cursor | No | Zero-based episode offset for pagination. Use the `next_cursor` returned by a prior search/listing call to fetch the next page of results. | |
| show_guid | No | Optional canonical show GUID (as returned by `search_episodes` or `get_latest_episodes` in the `show_guid` field) to restrict topic search to a single podcast. Leave empty to search across all shows. | |
| published_after | No | Inclusive lower publication-date bound. Accepts YYYY-MM-DD or ISO 8601 datetime. | |
| published_before | No | Inclusive upper publication-date bound. Accepts YYYY-MM-DD or ISO 8601 datetime. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| count | Yes | Number of episodes returned on this page. | |
| query | Yes | The topic query that was embedded and searched. | |
| episodes | Yes | Episodes ranked by best topic-phrase similarity to the query. | |
| next_cursor | No | Cursor to pass to the next search call to retrieve the next page of results, or null if there are no more pages. | |
| total_count | Yes | Number of matching episodes, counted over the nearest-match candidate window rather than the whole catalog. When `total_count_is_approximate` is true, treat this as a lower bound — broad queries may have more matches than reported. | |
| total_count_is_approximate | No | True when the candidate window was exhausted, so `total_count` undercounts the true number of matches. When false, `total_count` is exact. Refine the query for tighter results if this is true and you need a complete set. |