> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mavioapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get transcript

> Retrieve the full transcript for a meeting, including speaker-labeled segments with timestamps.

Returns the complete transcript for a given transcript ID. The transcript is broken into segments, each attributed to a specific speaker with precise start and end timestamps.

<ParamField path="id" type="string" required>
  The unique transcript identifier (e.g., `trs_9a2b3c4d5e6f`).
</ParamField>

<ParamField query="format" type="string" default="json">
  Response format. One of `json` (structured segments), `text` (plain text with speaker labels), or `srt` (SubRip subtitle format).
</ParamField>

### Response

<ResponseField name="id" type="string">
  Unique transcript identifier.
</ResponseField>

<ResponseField name="meeting_id" type="string">
  The ID of the meeting this transcript belongs to.
</ResponseField>

<ResponseField name="language" type="string">
  Primary language of the transcript (ISO 639-1 code).
</ResponseField>

<ResponseField name="duration_seconds" type="integer">
  Total duration of the transcribed audio in seconds.
</ResponseField>

<ResponseField name="word_count" type="integer">
  Total number of words in the transcript.
</ResponseField>

<ResponseField name="confidence" type="number">
  Overall transcription confidence score between 0 and 1.
</ResponseField>

<ResponseField name="segments" type="array">
  Ordered array of transcript segments.

  <Expandable title="Segment object">
    <ResponseField name="id" type="string">
      Unique segment identifier (e.g., `seg_001`).
    </ResponseField>

    <ResponseField name="speaker" type="object">
      The identified speaker for this segment.

      <Expandable title="Speaker object">
        <ResponseField name="id" type="string">
          Speaker identifier, maps to a participant (e.g., `prt_a1b2c3`).
        </ResponseField>

        <ResponseField name="name" type="string">
          Display name of the speaker.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="text" type="string">
      The transcribed text for this segment.
    </ResponseField>

    <ResponseField name="start" type="number">
      Start time of the segment in seconds from the beginning of the recording.
    </ResponseField>

    <ResponseField name="end" type="number">
      End time of the segment in seconds.
    </ResponseField>

    <ResponseField name="confidence" type="number">
      Confidence score for this segment between 0 and 1.
    </ResponseField>

    <ResponseField name="words" type="array">
      Word-level timestamps (only included when `format=json`).

      <Expandable title="Word object">
        <ResponseField name="word" type="string">
          The individual word.
        </ResponseField>

        <ResponseField name="start" type="number">
          Word start time in seconds.
        </ResponseField>

        <ResponseField name="end" type="number">
          Word end time in seconds.
        </ResponseField>

        <ResponseField name="confidence" type="number">
          Confidence score for this word.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO 8601 timestamp when the transcript was generated.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.mavioapp.com/v1/transcripts/trs_9a2b3c4d5e6f \
    -H "Authorization: Bearer mvo_live_abc123"
  ```

  ```bash Plain text format theme={null}
  curl "https://api.mavioapp.com/v1/transcripts/trs_9a2b3c4d5e6f?format=text" \
    -H "Authorization: Bearer mvo_live_abc123"
  ```

  ```python Python theme={null}
  transcript = client.transcripts.get("trs_9a2b3c4d5e6f")
  for segment in transcript.segments:
      print(f"[{segment.speaker.name}] {segment.text}")
  ```

  ```javascript Node.js theme={null}
  const transcript = await client.transcripts.get('trs_9a2b3c4d5e6f');
  transcript.segments.forEach(seg => {
    console.log(`[${seg.speaker.name}] ${seg.text}`);
  });
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "trs_9a2b3c4d5e6f",
    "meeting_id": "mtg_8f3k2j1m4n5p",
    "language": "en",
    "duration_seconds": 2852,
    "word_count": 4231,
    "confidence": 0.96,
    "segments": [
      {
        "id": "seg_001",
        "speaker": {
          "id": "prt_a1b2c3",
          "name": "Sarah Chen"
        },
        "text": "Good afternoon everyone. 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,
        "confidence": 0.97,
        "words": [
          { "word": "Good", "start": 2.4, "end": 2.7, "confidence": 0.99 },
          { "word": "afternoon", "start": 2.7, "end": 3.2, "confidence": 0.98 },
          { "word": "everyone.", "start": 3.2, "end": 3.8, "confidence": 0.99 }
        ]
      },
      {
        "id": "seg_002",
        "speaker": {
          "id": "prt_d4e5f6",
          "name": "James Rodriguez"
        },
        "text": "Sounds good. On the launch timeline, we're still tracking for April 20th. The only risk is the payment integration — we're waiting on the sandbox credentials from Stripe.",
        "start": 13.1,
        "end": 22.6,
        "confidence": 0.95,
        "words": [
          { "word": "Sounds", "start": 13.1, "end": 13.4, "confidence": 0.99 },
          { "word": "good.", "start": 13.4, "end": 13.8, "confidence": 0.98 }
        ]
      },
      {
        "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,
        "confidence": 0.94,
        "words": [
          { "word": "I", "start": 23.0, "end": 23.1, "confidence": 0.99 },
          { "word": "actually", "start": 23.1, "end": 23.6, "confidence": 0.97 }
        ]
      }
    ],
    "created_at": "2026-04-10T14:50:22Z"
  }
  ```
</ResponseExample>
