---
title: "search_transcripts"
method: POST
path: "/search_transcripts"
tags: ["transcripts"]
---

# search_transcripts

`POST /search_transcripts`

## Request

- Base URL: `https://app.podmule.com/api/v1`
- URL: `https://app.podmule.com/api/v1/search_transcripts`
- Auth: HTTP bearer

Semantic search across episode transcripts using vector similarity. Use this for topic/back-catalogue questions like "which episodes discuss cancer", "episodes about sudden death", "what did we say about X", or quote/passages search. It also performs intelligent exact search across stored transcripts, summaries, show notes, titles, guest names, themes, hashtags, and chapters; compound asks such as "partner died from cancer" require the cancer concept plus death/loss language rather than matching any single token. When the user asks which episodes discuss a topic, search transcripts with the topic phrase, pass show_id when a show is known, use limit=50 for all/broad lists, and answer from matched_episodes rather than claiming no episodes from search_episodes alone. Make ONE search_transcripts call for a topic or quote pack. Do not re-issue near-duplicate searches for the same topic, and do not loop per episode, unless the user changes the ask. The capability internally searches a wider chunk set than the requested episode limit so matched_episodes is not limited to the first few chunk-heavy episodes. For an exact passage, the full surrounding section, or a reliable timestamp ("give me the full section and the timestamp", "where exactly does X say Y"), do NOT re-search — call get_transcript_window once with the matching item's chunk_index (or a quote) to expand and timestamp it.

## Request body

- unknown

## Response `200`

Capability output wrapped in `{ data }`.

- object
  - `data` unknown, required

## Other responses

- `400`: Invalid input — Zod validation failed.
- `401`: Missing, malformed, or audience-mismatched bearer token.
- `403`: Token is valid but lacks the required scope.
- `404`: Capability not registered, or referenced resource not found.
- `429`: Rate limit exceeded. Retry after the period in `Retry-After`.
- `500`: Internal error.

---

[API](https://skmtc.dev/podmule/apis/podmule-api.md) · [All operations](https://skmtc.dev/podmule/apis/podmule-api/llms.txt) · [OpenAPI document](https://skmtc.dev/podmule/apis/podmule-api/revisions/844ae61495fa?raw)
