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

# Get video download URL

> Returns a video file URL you can download directly with a plain GET request — no cookies, no auth headers, no browser fingerprinting needed on your end. Not permanent, only valid for a few hours.



## OpenAPI

````yaml /openapi.json get /v1/tiktok/videos/{videoId}/download
openapi: 3.1.0
info:
  title: KonbiniAPI
  version: 1.0.0
  description: >-
    Social media API that normalizes Instagram, TikTok, X, and Reddit data into
    a consistent ActivityStreams 2.0 format.


    Every authenticated response includes `X-Credits-Remaining` and
    `X-Credits-Used` headers. Each successful request costs 1 credit. Requests
    that fail with 400, 5xx, or upstream errors are refunded (X-Credits-Used:
    0).
  contact:
    name: KonbiniAPI
    email: hello@konbiniapi.com
    url: https://konbiniapi.com
servers:
  - url: https://api.konbiniapi.com
    description: Production
security:
  - apiKey: []
tags:
  - name: Instagram
    description: Instagram data endpoints
  - name: TikTok
    description: TikTok data endpoints
  - name: X
    description: X data endpoints
  - name: Reddit
    description: Reddit data endpoints
paths:
  /v1/tiktok/videos/{videoId}/download:
    get:
      tags:
        - TikTok
      summary: Get video download URL
      description: >-
        Returns a video file URL you can download directly with a plain GET
        request — no cookies, no auth headers, no browser fingerprinting needed
        on your end. Not permanent, only valid for a few hours.
      operationId: tiktokGetVideoDownloadUrl
      parameters:
        - schema:
            type: string
            description: TikTok video ID
            example: '7611615657754381599'
          required: true
          description: TikTok video ID
          name: videoId
          in: path
        - schema:
            type: string
            format: uri
            description: >-
              Optional: an `aweme/v1/play/` URL copied from a prior video detail
              response for this same video. Providing it lets this endpoint skip
              re-fetching the video detail internally.
            example: >-
              https://www.tiktok.com/aweme/v1/play/?faid=1988&file_id=31d1120d6158449ca81efc56a01019fd&is_play_url=1&item_id=7355612345678901234&line=0&ply_type=2&signaturev3=dmlkZW9faWQ7ZmlsZV9pZDtpdGVtX2lkLjRjY2U1ZTlmYThkMjkzNGM1YmI0ZjE1ZWExYmFiODg4&tk=tt_chain_token&video_id=v26044gc0000d7q9k37og65t8l3poah0
          required: false
          description: >-
            Optional: an `aweme/v1/play/` URL copied from a prior video detail
            response for this same video. Providing it lets this endpoint skip
            re-fetching the video detail internally.
          name: url
          in: query
      responses:
        '200':
          description: Downloadable video file link
          headers:
            X-Credits-Remaining:
              schema:
                type: integer
              description: Credits remaining after this request
            X-Credits-Used:
              schema:
                type: integer
              description: Credits consumed (1 if charged, 0 if refunded on error)
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/TikTokVideoDownloadUrl'
                required:
                  - data
        '400':
          description: Bad Request — Invalid parameters
          headers:
            X-Credits-Remaining:
              schema:
                type: integer
              description: Credits remaining after this request
            X-Credits-Used:
              schema:
                type: integer
              description: Credits consumed (1 if charged, 0 if refunded on error)
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - validation_error
                          description: Machine-readable error code
                        message:
                          type: string
                          example: Validation error
                          description: Human-readable error message
                      required:
                        - code
                        - message
                    description: List of errors
                  data:
                    type: 'null'
                    description: Always null for error responses
                required:
                  - errors
                  - data
        '401':
          description: Unauthorized — Missing or invalid API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - missing_api_key
                            - invalid_api_key
                          description: Machine-readable error code
                        message:
                          type: string
                          example: Invalid API key
                          description: Human-readable error message
                      required:
                        - code
                        - message
                    description: List of errors
                  data:
                    type: 'null'
                    description: Always null for error responses
                required:
                  - errors
                  - data
        '402':
          description: Payment Required — Credits exhausted
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - credits_exhausted
                          description: Machine-readable error code
                        message:
                          type: string
                          example: >-
                            Credits exhausted. Upgrade your plan at
                            konbiniapi.com
                          description: Human-readable error message
                      required:
                        - code
                        - message
                    description: List of errors
                  data:
                    type: 'null'
                    description: Always null for error responses
                required:
                  - errors
                  - data
        '403':
          description: Forbidden — API key disabled or expired
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - api_key_disabled
                            - api_key_expired
                          description: Machine-readable error code
                        message:
                          type: string
                          example: API key is disabled
                          description: Human-readable error message
                      required:
                        - code
                        - message
                    description: List of errors
                  data:
                    type: 'null'
                    description: Always null for error responses
                required:
                  - errors
                  - data
        '404':
          description: Not Found
          headers:
            X-Credits-Remaining:
              schema:
                type: integer
              description: Credits remaining after this request
            X-Credits-Used:
              schema:
                type: integer
              description: Credits consumed (1 if charged, 0 if refunded on error)
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - not_found
                            - route_not_found
                          description: Machine-readable error code
                        message:
                          type: string
                          example: Not found
                          description: Human-readable error message
                      required:
                        - code
                        - message
                    description: List of errors
                  data:
                    type: 'null'
                    description: Always null for error responses
                required:
                  - errors
                  - data
        '413':
          description: Content Too Large — Request body exceeds 1 MB
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - validation_error
                          description: Machine-readable error code
                        message:
                          type: string
                          example: Request body too large
                          description: Human-readable error message
                      required:
                        - code
                        - message
                    description: List of errors
                  data:
                    type: 'null'
                    description: Always null for error responses
                required:
                  - errors
                  - data
        '500':
          description: Internal Server Error
          headers:
            X-Credits-Remaining:
              schema:
                type: integer
              description: Credits remaining after this request
            X-Credits-Used:
              schema:
                type: integer
              description: Credits consumed (1 if charged, 0 if refunded on error)
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - internal_error
                          description: Machine-readable error code
                        message:
                          type: string
                          example: Internal error
                          description: Human-readable error message
                      required:
                        - code
                        - message
                    description: List of errors
                  data:
                    type: 'null'
                    description: Always null for error responses
                required:
                  - errors
                  - data
        '502':
          description: Bad Gateway — Upstream platform error
          headers:
            X-Credits-Remaining:
              schema:
                type: integer
              description: Credits remaining after this request
            X-Credits-Used:
              schema:
                type: integer
              description: Credits consumed (1 if charged, 0 if refunded on error)
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - platform_error
                          description: Machine-readable error code
                        message:
                          type: string
                          example: Platform error
                          description: Human-readable error message
                      required:
                        - code
                        - message
                    description: List of errors
                  data:
                    type: 'null'
                    description: Always null for error responses
                required:
                  - errors
                  - data
        '503':
          description: Service Unavailable
          headers:
            X-Credits-Remaining:
              schema:
                type: integer
              description: Credits remaining after this request
            X-Credits-Used:
              schema:
                type: integer
              description: Credits consumed (1 if charged, 0 if refunded on error)
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - service_unavailable
                          description: Machine-readable error code
                        message:
                          type: string
                          example: Service unavailable
                          description: Human-readable error message
                      required:
                        - code
                        - message
                    description: List of errors
                  data:
                    type: 'null'
                    description: Always null for error responses
                required:
                  - errors
                  - data
        '504':
          description: Gateway Timeout — Upstream platform timed out
          headers:
            X-Credits-Remaining:
              schema:
                type: integer
              description: Credits remaining after this request
            X-Credits-Used:
              schema:
                type: integer
              description: Credits consumed (1 if charged, 0 if refunded on error)
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - platform_error
                          description: Machine-readable error code
                        message:
                          type: string
                          example: Platform error
                          description: Human-readable error message
                      required:
                        - code
                        - message
                    description: List of errors
                  data:
                    type: 'null'
                    description: Always null for error responses
                required:
                  - errors
                  - data
components:
  schemas:
    TikTokVideoDownloadUrl:
      type: object
      properties:
        '@context':
          type: array
          prefixItems:
            - type: string
              enum:
                - https://www.w3.org/ns/activitystreams#
            - type: string
              enum:
                - https://konbiniapi.com/ns/social#
          description: ActivityStreams JSON-LD context
          example:
            - https://www.w3.org/ns/activitystreams#
            - https://konbiniapi.com/ns/social#
        type:
          type: string
          enum:
            - Video
          example: Video
        url:
          type: string
          format: uri
          description: >-
            Downloadable video file URL. Works with a plain GET request — no
            cookies, auth headers, or special HTTP client required. Not
            permanent, only valid for a few hours — do not store it for later
            use, request a fresh one when you need it.
          example: >-
            https://v16m-default.tiktokcdn-us.com/tos-useast2a-ve-0068c001-euttp/oQmXqQqQ1RQkQKEZe6EDMBnZDGFHLupqRIh7p/?a=1988&bti=bGRuZHxvMXIxcm53Zm1cYF9ebWFzaHFmOg%3D%3D&bt=1415&ft=8kQr2FziNORWRapNGIv1tec7kzYrZmXVWxi~jJMsL&mime_type=video_mp4&vvpl=1
        mediaType:
          type: string
          enum:
            - video/mp4
          example: video/mp4
      required:
        - '@context'
        - type
        - url
        - mediaType
      description: A temporary link to a downloadable video file
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: |-
        Send your API key in the Authorization header as a Bearer token.
        Example: `Authorization: Bearer <your-api-key>`

````