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

# Get Podcast Transcripts

> [OpenAPI JSON Spec](/docs/output/v1_other_podcast_transcripts_get.json)
Retrieve stored official podcast transcripts, newest first.
Filter by `podcast`, `podcast_id` or `speaker` — at least one is required.
`transcript` is the normalized body: one turn per line, prefixed with
the speaker and the second it starts at, e.g. `[spk 0 @ 12.5] ...`.
Pass `include_raw=true` to also receive `raw_transcript`, the
publisher's original file as served, whose shape is `transcript_type`
(vtt, srt, html, plain, json, deepgram-json; assemblyai-json on
a few older self-transcribed episodes).
`speaker_mapping` is populated only when the publisher named its
speakers; most label them `Speaker 1`/`Speaker 2` and it is then empty.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/other/podcast/transcripts
openapi: 3.0.0
info:
  contact: {}
  description: >-
    Welcome to Arrays!


    Arrays is a unified financial data layer for both financial institutions and
    retail users, delivering comprehensive market data across crypto and equity
    markets. Our datasets cover fundamentals, ETFs, options, crypto, and more.


    Visit [arrays.org](https://arrays.org) to request an API key and start your
    free trial. You can explore our full API offerings in the documentation
    below.


    For any questions regarding APIs or pricing, please contact
    support@arrays.org.
  title: Arrays API
  version: '1.0'
servers:
  - url: https://data-tools.prd.arrays.org/api
security: []
paths:
  /v1/other/podcast/transcripts:
    get:
      tags:
        - Other
      summary: Get Podcast Transcripts
      description: >-
        [OpenAPI JSON Spec](/docs/output/v1_other_podcast_transcripts_get.json)

        Retrieve stored official podcast transcripts, newest first.

        Filter by `podcast`, `podcast_id` or `speaker` — at least one is
        required.

        `transcript` is the normalized body: one turn per line, prefixed with

        the speaker and the second it starts at, e.g. `[spk 0 @ 12.5] ...`.

        Pass `include_raw=true` to also receive `raw_transcript`, the

        publisher's original file as served, whose shape is `transcript_type`

        (vtt, srt, html, plain, json, deepgram-json; assemblyai-json on

        a few older self-transcribed episodes).

        `speaker_mapping` is populated only when the publisher named its

        speakers; most label them `Speaker 1`/`Speaker 2` and it is then empty.
      parameters:
        - description: Show name, e.g. Odd Lots
          in: query
          name: podcast
          schema:
            type: string
        - description: Episode GUID
          in: query
          name: podcast_id
          schema:
            type: string
        - description: Speaker name named in the transcript
          in: query
          name: speaker
          schema:
            type: string
        - description: Publication day YYYY-MM-DD; same value the response reports as date
          in: query
          name: date
          schema:
            type: string
        - description: Also attach the original file (default false)
          in: query
          name: include_raw
          schema:
            type: boolean
        - description: Max rows, 1-50 (default 10)
          in: query
          name: limit
          schema:
            type: integer
        - description: Rows to skip (default 0)
          in: query
          name: offset
          schema:
            type: integer
      responses:
        '200':
          description: Transcripts
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      data:
                        items:
                          $ref: '#/components/schemas/model.PodcastTranscript'
                        type: array
                    type: object
        '400':
          description: Invalid parameters
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      error:
                        $ref: '#/components/schemas/model.APIError'
                    type: object
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      error:
                        $ref: '#/components/schemas/model.APIError'
                    type: object
      security:
        - ApiKeyAuth: []
components:
  schemas:
    model.APIResponse:
      properties:
        data: {}
        error:
          $ref: '#/components/schemas/model.APIError'
        metadata: {}
        pagination: {}
        request_id:
          type: string
        success:
          type: boolean
      type: object
    model.PodcastTranscript:
      properties:
        created_at:
          type: string
        date:
          type: string
        podcast:
          type: string
        podcast_id:
          type: string
        raw_transcript:
          description: |-
            RawTranscript is the publisher's file exactly as served — no
            normalization, shape given by TranscriptType. Present only when
            include_raw=true and the stored object could be read.
          type: string
        speaker_mapping:
          additionalProperties:
            type: string
          description: >-
            SpeakerMapping maps a speaker id to a name, e.g. {"spk 0":
            "Ronnie"}.

            Present only when the source named its speakers.
          type: object
        speakers:
          description: >-
            Speakers lists the speaker names in speaker order. Most publishers
            label

            speakers only as "Speaker 1"/"Speaker 2", so this is usually empty.
          items:
            type: string
          type: array
        transcript:
          description: >-
            Transcript is the normalized body: one turn per line, prefixed with
            the

            speaker and the second it starts at, e.g. "[spk 0 @ 12.5] ...".
          type: string
        transcript_type:
          description: >-
            TranscriptType is the source file's format: vtt, srt, html, plain,
            json,

            or deepgram-json for episodes we transcribed ourselves. It describes
            what

            RawTranscript holds and how much structure Transcript could recover.
          type: string
        transcript_url:
          description: >-
            TranscriptURL is where the file was fetched from. For ASR rows this
            is

            the audio address rather than a transcript address.
          type: string
      type: object
    model.APIError:
      properties:
        code:
          example: RESOURCE_NOT_FOUND
          type: string
        details:
          items:
            $ref: '#/components/schemas/model.APIErrorDetail'
          type: array
        docs_url:
          type: string
        examples:
          items:
            type: string
          type: array
        hint:
          type: string
        message:
          example: The requested resource was not found.
          type: string
        suggestions:
          items:
            type: string
          type: array
      type: object
    model.APIErrorDetail:
      properties:
        field:
          type: string
        got:
          type: string
        reason:
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      description: 'API Key authentication. Example: "your-api-key-here"'
      in: header
      name: X-API-Key
      type: apiKey

````