> ## 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

> Returns metadata for a single public YouTube video: title, description, exact view/like counts, publish date, channel, thumbnails, keywords, and available caption languages. Caption tracks list which languages exist; this endpoint does not return transcript text.



## OpenAPI

````yaml /openapi.json get /v1/youtube/videos/{videoId}
openapi: 3.1.0
info:
  title: KonbiniAPI
  version: 1.0.0
  description: >-
    Social media API that normalizes TikTok, Instagram, YouTube, Reddit, X, and
    LinkedIn 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: TikTok
    description: TikTok data endpoints
  - name: Instagram
    description: Instagram data endpoints
  - name: YouTube
    description: YouTube data endpoints
  - name: Reddit
    description: Reddit data endpoints
  - name: X
    description: X data endpoints
  - name: LinkedIn
    description: LinkedIn data endpoints
paths:
  /v1/youtube/videos/{videoId}:
    get:
      tags:
        - YouTube
      summary: Get video
      description: >-
        Returns metadata for a single public YouTube video: title, description,
        exact view/like counts, publish date, channel, thumbnails, keywords, and
        available caption languages. Caption tracks list which languages exist;
        this endpoint does not return transcript text.
      operationId: youtubeGetVideo
      parameters:
        - schema:
            type: string
            description: YouTube video ID (the `v=` value from a watch URL)
            example: plN7JMbadRg
          required: true
          description: YouTube video ID (the `v=` value from a watch URL)
          name: videoId
          in: path
      responses:
        '200':
          description: Returns the video
          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:
                    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
                        description: ActivityStreams object type
                        example: Video
                      id:
                        type: string
                        format: uri
                        description: Video URL
                        example: https://www.youtube.com/watch?v=plN7JMbadRg
                      url:
                        type: string
                        format: uri
                        description: Video URL
                        example: https://www.youtube.com/watch?v=plN7JMbadRg
                      entityId:
                        type: string
                        description: YouTube video ID
                        example: plN7JMbadRg
                      name:
                        type: string
                        example: Eat Everything In A Grocery Store, Win $1,000,000
                        description: Video title
                      content:
                        type: string
                        example: >-
                          I trapped 4 strangers in an entire supermarket and the
                          only way out is eating everything inside


                          The guys wore Fitbit Air to track their health and
                          fitness throughout their entire time in the store. See
                          what they achieved during the Google Health Awards.
                          GooglePartner

                          Google…
                        description: Video description
                      published:
                        type: string
                        format: date-time
                        description: Publication date in ISO 8601 format
                        example: '2026-10-03T16:00:01.000Z'
                      duration:
                        type: number
                        example: 3479
                        description: Duration in seconds
                      viewCount:
                        type: integer
                        description: Exact number of views
                        example: 274327400
                      likeCount:
                        type: integer
                        example: 4140505
                        description: Exact number of likes
                      isFamilySafe:
                        type: boolean
                        example: true
                        description: Whether the video is marked family-safe
                      visibility:
                        type: string
                        enum:
                          - unlisted
                        description: >-
                          Present and set to "unlisted" when the video is
                          unlisted. Absent otherwise — YouTube gives no signal
                          distinguishing public from private.
                        example: unlisted
                      availableIn:
                        type: array
                        items:
                          type: string
                          example: AD
                        description: >-
                          ISO 3166-1 alpha-2 country codes the video is
                          available in
                      category:
                        type: string
                        example: Entertainment
                        description: YouTube category the video is filed under
                      isLive:
                        type: boolean
                        example: false
                        description: >-
                          Whether the video is a livestream (currently live or
                          was streamed live)
                      startTime:
                        type: string
                        format: date-time
                        description: When a livestream started broadcasting
                        example: '2026-01-01T18:00:00.000Z'
                      endTime:
                        type: string
                        format: date-time
                        description: When a livestream ended
                        example: '2026-01-01T20:00:00.000Z'
                      attributedTo:
                        type: object
                        properties:
                          type:
                            type: string
                            description: ActivityStreams object type
                            example: Person
                          id:
                            type: string
                            format: uri
                            description: Profile URL
                            example: >-
                              https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA
                          url:
                            type: string
                            format: uri
                            description: Profile URL
                            example: >-
                              https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA
                          entityId:
                            type: string
                            example: UCX6OQ3DkcsbYNE6H8uQQuVA
                            description: Platform-specific entity ID
                          name:
                            type: string
                            example: MrBeast
                            description: Display name
                        required:
                          - type
                          - id
                          - url
                        description: Channel that uploaded the video
                      image:
                        type: array
                        items:
                          $ref: '#/components/schemas/YoutubeImage'
                        description: Thumbnail images
                      tag:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: ActivityStreams object type
                              example: Tag
                            name:
                              type: string
                              description: Tag name
                              example: mrbeast6000
                          required:
                            - type
                            - name
                        description: Video keywords
                      captions:
                        type: array
                        items:
                          $ref: '#/components/schemas/YoutubeCaptionTrack'
                        description: >-
                          Caption tracks available for this video. Lists
                          languages offered, not the transcript text.
                    required:
                      - '@context'
                      - type
                      - id
                      - url
                      - entityId
                      - name
                      - published
                      - viewCount
                required:
                  - data
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '402':
          $ref: '#/components/responses/CreditsExhaustedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '413':
          $ref: '#/components/responses/PayloadTooLargeError'
        '500':
          $ref: '#/components/responses/InternalError'
        '502':
          $ref: '#/components/responses/PlatformError'
        '503':
          $ref: '#/components/responses/ServiceUnavailableError'
        '504':
          $ref: '#/components/responses/PlatformTimeoutError'
components:
  schemas:
    YoutubeImage:
      type: object
      properties:
        type:
          type: string
          description: ActivityStreams object type
          example: Image
        url:
          type: string
          format: uri
          description: Image URL
          example: >-
            https://i.ytimg.com/vi/plN7JMbadRg/hqdefault.jpg?sqp=-oaymwEmCKgBEF5IWvKriqkDGQgBFQAAiEIYAdgBAeIBCggYEAIYBjgBQAE=&rs=AOn4CLCiT6Vj47A7NogeJusgz-_sjWhu7A
        width:
          type: integer
          example: 168
          description: Width in pixels
        height:
          type: integer
          example: 94
          description: Height in pixels
      required:
        - type
        - url
      description: Channel avatar
    YoutubeCaptionTrack:
      type: object
      properties:
        languageCode:
          type: string
          description: BCP-47 language code of the caption track
          example: ar
        name:
          type: string
          example: Arabic
          description: Human-readable name of the caption track
        isAutoGenerated:
          type: boolean
          description: Whether the track was auto-generated rather than uploaded
          example: false
      required:
        - languageCode
        - isAutoGenerated
    ValidationError:
      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
    UnauthorizedError:
      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
    CreditsExhaustedError:
      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
    ForbiddenError:
      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
    NotFoundError:
      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
    PayloadTooLargeError:
      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
    InternalError:
      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
    PlatformError:
      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
    ServiceUnavailableError:
      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
    PlatformTimeoutError:
      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
  responses:
    ValidationError:
      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:
            $ref: '#/components/schemas/ValidationError'
    UnauthorizedError:
      description: Unauthorized — Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UnauthorizedError'
    CreditsExhaustedError:
      description: Payment Required — Credits exhausted
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CreditsExhaustedError'
    ForbiddenError:
      description: Forbidden — API key disabled or expired
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ForbiddenError'
    NotFoundError:
      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:
            $ref: '#/components/schemas/NotFoundError'
    PayloadTooLargeError:
      description: Content Too Large — Request body exceeds 1 MB
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PayloadTooLargeError'
    InternalError:
      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:
            $ref: '#/components/schemas/InternalError'
    PlatformError:
      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:
            $ref: '#/components/schemas/PlatformError'
    ServiceUnavailableError:
      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:
            $ref: '#/components/schemas/ServiceUnavailableError'
    PlatformTimeoutError:
      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:
            $ref: '#/components/schemas/PlatformTimeoutError'
  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>`

````

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