POST
/
v1
/
transcripts
/
search
curl -X POST https://api.mavioapp.com/v1/transcripts/search \
  -H "Authorization: Bearer mvo_live_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "launch timeline",
    "from": "2026-04-01T00:00:00Z",
    "limit": 5
  }'
{
  "data": [
    {
      "meeting_id": "mtg_8f3k2j1m4n5p",
      "meeting_title": "Weekly Product Sync",
      "transcript_id": "trs_9a2b3c4d5e6f",
      "segment": {
        "id": "seg_002",
        "speaker": {
          "id": "prt_d4e5f6",
          "name": "James Rodriguez"
        },
        "text": "On the <mark>launch timeline</mark>, we're still tracking for April 20th. The only risk is the payment integration.",
        "start": 13.1,
        "end": 22.6
      },
      "context": {
        "before": [
          {
            "id": "seg_001",
            "speaker": { "id": "prt_a1b2c3", "name": "Sarah Chen" },
            "text": "Let's get started with our weekly product sync. I want to cover three things today: the launch timeline, the open bugs from QA, and next sprint planning.",
            "start": 2.4,
            "end": 12.8
          }
        ],
        "after": [
          {
            "id": "seg_003",
            "speaker": { "id": "prt_g7h8i9", "name": "Priya Patel" },
            "text": "I actually got the Stripe credentials this morning. I'll have the integration tested by end of day tomorrow.",
            "start": 23.0,
            "end": 29.4
          }
        ]
      },
      "relevance_score": 0.94
    }
  ],
  "pagination": {
    "total": 12,
    "limit": 5,
    "offset": 0,
    "has_more": true
  }
}
Search across all of your transcripts using natural language queries. Returns matching segments with surrounding context so you can quickly find the relevant part of a conversation. This endpoint has an additional rate limit of 30 requests per minute. See rate limits.

Request body

query
string
required
The search query. Supports natural language (e.g., “budget discussion for Q2”) and exact phrase matching with quotes (e.g., "launch date").
meeting_id
string
Restrict search to a specific meeting transcript.
speaker
string
Filter results to segments from a specific speaker. Accepts a participant ID (e.g., prt_a1b2c3) or a speaker name (partial match supported).
from
string
Only search meetings that started on or after this date. ISO 8601 format.
to
string
Only search meetings that started on or before this date. ISO 8601 format.
language
string
Filter by transcript language (ISO 639-1 code, e.g., en, es, fr).
limit
integer
default:"20"
Maximum number of results to return. Between 1 and 100.
offset
integer
default:"0"
Number of results to skip for pagination.

Response

data
array
An array of search results.
pagination
object
Pagination metadata.
curl -X POST https://api.mavioapp.com/v1/transcripts/search \
  -H "Authorization: Bearer mvo_live_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "launch timeline",
    "from": "2026-04-01T00:00:00Z",
    "limit": 5
  }'
{
  "data": [
    {
      "meeting_id": "mtg_8f3k2j1m4n5p",
      "meeting_title": "Weekly Product Sync",
      "transcript_id": "trs_9a2b3c4d5e6f",
      "segment": {
        "id": "seg_002",
        "speaker": {
          "id": "prt_d4e5f6",
          "name": "James Rodriguez"
        },
        "text": "On the <mark>launch timeline</mark>, we're still tracking for April 20th. The only risk is the payment integration.",
        "start": 13.1,
        "end": 22.6
      },
      "context": {
        "before": [
          {
            "id": "seg_001",
            "speaker": { "id": "prt_a1b2c3", "name": "Sarah Chen" },
            "text": "Let's get started with our weekly product sync. I want to cover three things today: the launch timeline, the open bugs from QA, and next sprint planning.",
            "start": 2.4,
            "end": 12.8
          }
        ],
        "after": [
          {
            "id": "seg_003",
            "speaker": { "id": "prt_g7h8i9", "name": "Priya Patel" },
            "text": "I actually got the Stripe credentials this morning. I'll have the integration tested by end of day tomorrow.",
            "start": 23.0,
            "end": 29.4
          }
        ]
      },
      "relevance_score": 0.94
    }
  ],
  "pagination": {
    "total": 12,
    "limit": 5,
    "offset": 0,
    "has_more": true
  }
}