Octen Video Search API

The Video Search API from Octen — 1 operation(s) for video search.

Operations 1

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/octen-ai:octen-ai-video-search-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

octen-ai-video-search-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Octen Ai Video Search API
  version: 1.0.0
  description: 'Operations tagged Video Search across 2 of this provider''s published API definitions: octen-ai-openapi.json, octen-ai-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.octen.ai
security:
- bearerAuth: []
- apiKeyAuth: []
tags:
- name: Video Search
paths:
  /video-search:
    post:
      summary: Video Search
      operationId: video-search
      description: Searches the web for videos from a text query. Contact us to request beta access.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoSearchRequest'
            examples:
              text:
                summary: Text query
                value:
                  inputs:
                  - type: text
                    data: how to make sourdough bread at home
                  count: 5
      responses:
        '200':
          description: Successful video search response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoSearchResponse'
              example:
                code: 0
                msg: success
                request_id: 20260627120000001ABCDE12345
                data:
                  results:
                  - title: How to Make Sourdough Bread at Home (Beginner's Guide)
                    url: https://videos.example.com/watch/sourdough-beginners-guide.mp4
                    source_page: https://www.example.com/blog/sourdough-beginners-guide
                    description: A step-by-step beginner tutorial covering starter feeding, autolyse, stretch-and-fold, shaping, and baking in a Dutch oven.
                    cover_url: https://cdn.example.com/thumbs/sourdough-beginners-guide.jpg
                    duration_seconds: 842
                    authors: The Home Baker
                    time_published: '2026-02-14T09:30:00Z'
                    time_last_crawled: '2026-06-20T11:02:18Z'
                  - title: Easy No-Knead Sourdough for Beginners
                    url: https://videos.example.com/watch/no-knead-sourdough.mp4
                    source_page: https://www.example.com/recipes/no-knead-sourdough
                    description: Demonstrates a simplified no-knead method, from mixing a high-hydration dough to scoring and baking a crusty loaf in a home oven.
                    cover_url: https://cdn.example.com/thumbs/no-knead-sourdough.jpg
                    duration_seconds: 615
                    authors: Everyday Sourdough
                    time_published: '2026-01-28T17:45:00Z'
                    time_last_crawled: '2026-06-19T22:14:55Z'
                meta:
                  usage:
                    num_search_queries: 1
                  latency: 482
        '400':
          description: Missing parameter inputs — Returned when a required parameter is missing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                code: 400
                msg: Missing parameter inputs
                request_id: req_abc123def456
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/InsufficientBalance'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
      tags:
      - Video Search
    servers:
    - url: https://api.octen.ai
components:
  schemas:
    VideoSearchData:
      type: object
      description: The main response payload.
      properties:
        results:
          type: array
          description: A list of video search results.
          items:
            $ref: '#/components/schemas/VideoSearchResult'
    VideoSearchInput:
      type: object
      required:
      - type
      description: A single text input. At most one input per request.
      properties:
        type:
          type: string
          enum:
          - text
          description: The input type.
        data:
          type: string
          description: The query content, max 500 characters.
    VideoSearchMeta:
      type: object
      description: Additional metadata for the Video Search request.
      properties:
        usage:
          $ref: '#/components/schemas/VideoSearchUsage'
        latency:
          type: number
          description: Response time in milliseconds.
        warning:
          type: string
          nullable: true
          description: Warning message, if any.
    VideoSearchUsage:
      type: object
      description: Usage information for the Video Search request.
      properties:
        num_search_queries:
          type: integer
          description: Number of search queries executed.
    VideoSearchRequest:
      type: object
      required:
      - inputs
      description: Request body for the Video Search API.
      properties:
        inputs:
          type: array
          maxItems: 1
          description: Input array carrying a text query (at most 1).
          items:
            $ref: '#/components/schemas/VideoSearchInput'
        count:
          type: integer
          minimum: 1
          maximum: 10
          default: 5
          description: Number of results to return.
        time_range:
          type: string
          enum:
          - day
          - week
          - month
          - year
          - d
          - w
          - m
          - y
          description: Relative time window counting back from the current time, filtered by publish time. Mutually exclusive with `start_time`/`end_time` — if both are provided, `start_time`/`end_time` take precedence.
        start_time:
          type: string
          format: date-time
          description: Start time for filtering results by publish time. ISO 8601 format.
          example: '2025-01-01T00:00:00+08:00'
        end_time:
          type: string
          format: date-time
          description: End time for filtering results by publish time. ISO 8601 format.
          example: '2025-01-01T00:00:00+08:00'
        safesearch:
          type: string
          enum:
          - 'off'
          - strict
          default: strict
          description: Controls filtering of explicit/adult content. `off` disables filtering; `strict` drops all adult content.
    VideoSearchResult:
      type: object
      description: A single video search result.
      properties:
        title:
          type: string
          description: The title of the video.
        url:
          type: string
          description: The video URL.
        source_page:
          type: string
          description: URL of the original page hosting the video.
        description:
          type: string
          description: Server-generated text description of the video content.
        cover_url:
          type: string
          description: Video cover image URL.
        duration_seconds:
          type: integer
          description: Video duration in seconds.
        authors:
          type: string
          description: Website name or author.
        time_published:
          type: string
          format: date-time
          description: Publish time in ISO 8601.
        time_last_crawled:
          type: string
          format: date-time
          description: Last crawl time in ISO 8601.
    ErrorResponse:
      type: object
      properties:
        code:
          type: integer
          description: Business status code. Non-zero values indicate an error.
        msg:
          type: string
          description: A message describing the error.
        request_id:
          type: string
          description: Unique identifier for the request.
      required:
      - code
      - msg
      - request_id
    VideoSearchResponse:
      type: object
      properties:
        code:
          type: integer
          description: Business status code. 0 indicates success.
        msg:
          type: string
          description: A message describing the result.
        request_id:
          type: string
          description: The unique identifier for this request.
        data:
          $ref: '#/components/schemas/VideoSearchData'
        meta:
          $ref: '#/components/schemas/VideoSearchMeta'
  responses:
    RateLimited:
      description: Exceeding the rate limit — Returned when the request exceeds the configured rate limit.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 429
            msg: Exceeding the rate limit
            request_id: req_abc123def456
    InternalError:
      description: Internal error — Returned when an unexpected server-side error occurs.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 500
            msg: Internal error
            request_id: req_abc123def456
    Unauthorized:
      description: Invalid API Key — Returned when the API key is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 401
            msg: Invalid API Key
            request_id: req_abc123def456
    InsufficientBalance:
      description: Insufficient balance in account — Returned when the account balance is insufficient to complete the request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: 403
            msg: Insufficient balance in account
            request_id: req_abc123def456
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Bearer token used for request authentication. Alternatively, you can send the API key in the `x-api-key` header. Note: A payment method is required to use the API.'
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: 'API key used for request authentication. Alternatively, you can send the key as a Bearer token in the `Authorization` header. Note: A payment method is required to use the API.'
    bearerAuthNoPayment:
      type: http
      scheme: bearer
      description: Bearer token used for request authentication. Alternatively, you can send the API key in the `x-api-key` header.
    apiKeyAuthNoPayment:
      type: apiKey
      in: header
      name: x-api-key
      description: API key used for request authentication. Alternatively, you can send the key as a Bearer token in the `Authorization` header.
x-refined-from:
- octen-ai-openapi.json
- octen-ai-openapi.yml