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

# Search videos

> Searches public YouTube videos for a query. YouTube has no public trending chart, so sorting by view count within an upload window (`order`, `published`) is the closest equivalent — results for a query, not a platform-wide ranking. `viewCount` is exact here.



## OpenAPI

````yaml /openapi.json get /v1/youtube/search
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/search:
    get:
      tags:
        - YouTube
      summary: Search videos
      description: >-
        Searches public YouTube videos for a query. YouTube has no public
        trending chart, so sorting by view count within an upload window
        (`order`, `published`) is the closest equivalent — results for a query,
        not a platform-wide ranking. `viewCount` is exact here.
      operationId: youtubeSearch
      parameters:
        - schema:
            type: string
            minLength: 1
            description: Search query
            example: mrbeast
          required: true
          description: Search query
          name: query
          in: query
        - schema:
            type: string
            enum:
              - relevance
              - rating
              - newest
              - views
            description: 'Sort order: relevance (default), rating, newest, or views'
            example: views
          required: false
          description: 'Sort order: relevance (default), rating, newest, or views'
          name: order
          in: query
        - schema:
            type: string
            enum:
              - hour
              - today
              - week
              - month
              - year
            description: Restrict results to videos uploaded within this window
            example: week
          required: false
          description: Restrict results to videos uploaded within this window
          name: published
          in: query
        - schema:
            type: string
            description: Pagination cursor
            example: '0'
          required: false
          description: Pagination cursor
          name: cursor
          in: query
      responses:
        '200':
          description: Returns the search results
          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 collection type
                        example: OrderedCollectionPage
                      partOf:
                        type: string
                        format: uri
                        description: URL of the full collection
                        example: >-
                          https://api.konbiniapi.com/v1/youtube/search?query=mrbeast
                      totalItems:
                        type:
                          - integer
                          - 'null'
                        description: Total number of items, null if unknown
                        example: null
                      cursor:
                        type:
                          - string
                          - 'null'
                        description: Current page cursor, null on first page
                        example: null
                      nextCursor:
                        type:
                          - string
                          - 'null'
                        description: Cursor for the next page, null on last page
                        example: <token>
                      next:
                        type:
                          - string
                          - 'null'
                        format: uri
                        description: URL for the next page, null on last page
                        example: >-
                          https://api.konbiniapi.com/v1/youtube/search?query=mrbeast&cursor=<token>
                      itemCount:
                        type: integer
                        description: Number of items returned in this page
                        example: 30
                      orderedItems:
                        type: array
                        items:
                          $ref: '#/components/schemas/YoutubeSearchResult'
                        description: Items in this page
                    required:
                      - '@context'
                      - type
                      - partOf
                      - totalItems
                      - cursor
                      - nextCursor
                      - next
                      - itemCount
                      - orderedItems
                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:
    YoutubeSearchResult:
      type: object
      properties:
        type:
          type: string
          enum:
            - Video
          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: Full video description
        summary:
          type: string
          example: >-
            I trapped 4 strangers in an entire supermarket and the only way out
            is eating everything inside
          description: >-
            A short excerpt of the description, as YouTube highlights it in
            search results
        duration:
          type: number
          example: 3479
          description: Duration in seconds
        viewCount:
          type: integer
          example: 274327400
          description: Exact number of views.
        tag:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                description: ActivityStreams object type
                example: Tag
              name:
                type: string
                description: Tag name
                example: New
            required:
              - type
              - name
          description: Badges YouTube shows on the result ("4K", "New")
        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
            isVerified:
              type: boolean
              example: true
              description: Whether the channel has a YouTube verification badge
          required:
            - type
            - id
            - url
          description: Channel that uploaded the video
        image:
          type: array
          items:
            $ref: '#/components/schemas/YoutubeImage'
          description: Thumbnail images
      required:
        - type
        - id
        - url
        - entityId
    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
    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.