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

# Get Transcript

> Retrieve a complete meeting transcript with cursor-based pagination.



## OpenAPI

````yaml GET /v1/notes/{note_id}/transcript
openapi: 3.1.0
info:
  title: Granola API
  version: 1.0.0
  description: API for accessing meeting data from Granola
servers:
  - url: https://public-api.granola.ai
    description: Production
security: []
paths:
  /v1/notes/{note_id}/transcript:
    get:
      summary: Get transcript
      description: >-
        Retrieve a meeting transcript in pages, including when Get Note returns
        `TRANSCRIPT_TOO_LARGE`.
      parameters:
        - schema:
            type: string
            pattern: ^not_[a-zA-Z0-9]{14}$
            description: The ID of the note
            example: not_1d3tmYTlCICgjy
          required: true
          name: note_id
          in: path
        - schema:
            type: string
            description: The opaque cursor returned by the previous page
            example: eyJyb3dfb2Zmc2V0Ijo1MCwiaXRlbV9vZmZzZXQiOjB9
          required: false
          name: cursor
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
            description: The maximum number of transcript items to return
            example: 50
          required: false
          name: page_size
          in: query
      responses:
        '200':
          description: A page of transcript items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTranscriptOutput'
        '400':
          description: Bad request or invalid cursor
        '401':
          description: Unauthorized - Invalid API key
        '404':
          description: Not found
      security:
        - ApiKeyAuth: []
components:
  schemas:
    GetTranscriptOutput:
      type: object
      properties:
        transcript:
          type: array
          items:
            $ref: '#/components/schemas/Transcript'
          description: Transcript items for this page
        hasMore:
          type: boolean
          description: Whether another page of transcript items is available
        cursor:
          type:
            - string
            - 'null'
          description: >-
            The opaque cursor for the next page, or null when this is the final
            page
      required:
        - transcript
        - hasMore
        - cursor
    Transcript:
      type: object
      properties:
        speaker:
          $ref: '#/components/schemas/Speaker'
        text:
          type: string
          description: The text of the transcript
        start_time:
          type: string
          format: date-time
          description: The start time of the transcript
        end_time:
          type: string
          format: date-time
          description: The end time of the transcript
      required:
        - speaker
        - text
        - start_time
        - end_time
    Speaker:
      type: object
      properties:
        source:
          type: string
          enum:
            - microphone
            - speaker
          description: >-
            The source of the speaker. For iOS transcripts, Granola currently
            returns `microphone` for all transcript items because iOS currently
            captures a single audio stream. Clients should not assume this will
            never expand in the future.
        attribution:
          type: string
          enum:
            - me
            - them
          description: >-
            Who said this relative to the note: `me` is the note-taker (the
            note's owner), `them` is other meeting participants. Omitted when
            the attribution is unknown, such as iOS transcript items that only
            carry an anonymous `diarization_label`.
          example: me
        diarization_label:
          type: string
          description: >-
            The diarized anonymous speaker label assigned in the transcript,
            such as `Speaker A`. This is currently only present on iOS
            transcripts when diarization is available.
          example: Speaker A
        name:
          type: string
          description: >-
            The resolved name of the identified speaker, such as `Alice Smith`.
            This is only present when a speaker could be identified for the
            transcript item.
          example: Alice Smith
      required:
        - source
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: apiKey

````