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

# Poll a transcript job

> Reads a job returned by GET /v1/transcript. Always 200 for your own job, including a failed one; check status.



## OpenAPI

````yaml /api-reference/openapi.yaml get /v1/transcript/{jobId}
openapi: 3.1.0
info:
  title: Video Transcript API
  version: '1.0'
  description: >-
    Transcripts of YouTube, Instagram, Facebook, X and LinkedIn videos and of
    audio or video files.
servers:
  - url: https://app.bestvideotranscriptapi.com
security:
  - apiKey: []
  - bearer: []
paths:
  /v1/transcript/{jobId}:
    get:
      summary: Poll a transcript job
      description: >-
        Reads a job returned by GET /v1/transcript. Always 200 for your own job,
        including a failed one; check status.
      operationId: getTranscriptJob
      parameters:
        - name: jobId
          in: path
          required: true
          schema:
            type: string
            pattern: ^run_[a-z0-9]+$
        - $ref: '#/components/parameters/Text'
      responses:
        '200':
          description: >-
            The job. queued or active have only status; completed adds the
            transcript; failed adds error.
          headers:
            x-request-id:
              $ref: '#/components/headers/RequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '401':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '429':
          $ref: '#/components/responses/RateLimited'
        '502':
          $ref: '#/components/responses/Error'
components:
  parameters:
    Text:
      name: text
      in: query
      description: true returns content as one string instead of timed segments.
      schema:
        type: string
        enum:
          - 'true'
          - 'false'
        default: 'false'
  headers:
    RequestId:
      description: This request's ID. Quote it to support.
      schema:
        type: string
  schemas:
    Job:
      type: object
      required:
        - status
      properties:
        status:
          type: string
          enum:
            - queued
            - active
            - completed
            - failed
        content:
          description: When completed. Same as Transcript.content.
          oneOf:
            - type: array
              items:
                $ref: '#/components/schemas/Segment'
            - type: string
        lang:
          type: string
        availableLangs:
          type: array
          items:
            type: string
        platform:
          type: string
        note:
          type: string
        error:
          $ref: '#/components/schemas/Error'
    Segment:
      type: object
      required:
        - text
        - offset
        - duration
        - lang
      properties:
        text:
          type: string
        offset:
          type: integer
          description: Start, in milliseconds.
        duration:
          type: integer
          description: Length, in milliseconds.
        lang:
          type: string
    Error:
      type: object
      required:
        - code
        - message
        - requestId
      properties:
        code:
          type: string
          enum:
            - UNAUTHENTICATED
            - INVALID_REQUEST
            - UNSUPPORTED_PLATFORM
            - NOT_A_VIDEO
            - VIDEO_UNAVAILABLE
            - MEDIA_NOT_FOUND
            - CAPTIONS_UNAVAILABLE
            - LANGUAGE_NOT_AVAILABLE
            - NO_SPEECH_FOUND
            - FILE_TOO_LARGE
            - VIDEO_TOO_LONG
            - LIVE_STREAM
            - AI_HOURS_EXHAUSTED
            - CAPTIONS_LIMIT_REACHED
            - RATE_LIMITED
            - JOB_NOT_FOUND
            - UPSTREAM_FAILURE
        message:
          type: string
        requestId:
          type: string
        availableLangs:
          type: array
          items:
            type: string
        durationSeconds:
          type: number
        maxDurationSeconds:
          type: number
        sizeBytes:
          type: number
        maxSizeBytes:
          type: number
        aiMinutesNeeded:
          type: integer
        aiMinutesRemaining:
          type: integer
        refillsAt:
          type: string
          format: date-time
        billingUrl:
          type: string
  responses:
    Error:
      description: An error. See the Errors page for every code.
      headers:
        x-request-id:
          $ref: '#/components/headers/RequestId'
      content:
        application/json:
          schema:
            type: object
            required:
              - error
            properties:
              error:
                $ref: '#/components/schemas/Error'
    RateLimited:
      description: Over your plan's requests per second.
      headers:
        x-request-id:
          $ref: '#/components/headers/RequestId'
        Retry-After:
          description: Seconds to wait.
          schema:
            type: string
      content:
        application/json:
          schema:
            type: object
            required:
              - error
            properties:
              error:
                $ref: '#/components/schemas/Error'
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
    bearer:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.