Skip to content
All YouTube APIs
SearchYouTubeVideo · Search

YouTube video search

Page through public YouTube videos for a keyword, filtered by upload date and duration and sorted as chosen.

POST/v1/youtube/videos/search

Chinese name: YouTube 视频搜索 · 视频 · 搜索 按关键词分页搜索 YouTube 公开视频,可按上传时间、时长和排序方式筛选。
youtube.videos.search@v1

Price per call

¥0.02/ call

Nonempty complete results are charged; empty, partial, and failed results are not.

Current statusAvailableChecking live status
Checking live status

Try it

Sign in and run one real call. The result and charge appear right here.

Security check

Loading the security check…

Checking live execution status…

Execution result

// Result

Request parameters

keywordstringrequired

minLength: 1 · maxLength: 100

Example: "python tutorial"

upload_datestringoptional

enum: "last_hour" | "today" | "this_week" | "this_month" | "this_year"

Example: "this_month"

durationstringoptional

enum: "short" | "medium" | "long"

sort_bystringoptional

enum: "relevance" | "upload_date" | "view_count" | "rating" · default: "relevance"

Example: "view_count"

cursorstringoptional

minLength: 1

Request JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "keyword": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "upload_date": {
      "type": "string",
      "enum": [
        "last_hour",
        "today",
        "this_week",
        "this_month",
        "this_year"
      ]
    },
    "duration": {
      "type": "string",
      "enum": [
        "short",
        "medium",
        "long"
      ]
    },
    "sort_by": {
      "default": "relevance",
      "type": "string",
      "enum": [
        "relevance",
        "upload_date",
        "view_count",
        "rating"
      ]
    },
    "cursor": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "keyword"
  ],
  "additionalProperties": false
}

Code samples

Install the SDK with npm i @dataxapi/sdk or pip install dataxapi, and put your API key in the DATAXAPI_API_KEY environment variable.

curl -X POST https://api.dataxapi.com/v1/youtube/videos/search \
  -H "Authorization: Bearer $DATAXAPI_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"python tutorial","upload_date":"this_month","sort_by":"view_count"}'

Response example

200 · application/json
{
  "code": 200,
  "request_id": "req_example_youtube_videos_search",
  "message": "success",
  "data": {
    "items": [
      {
        "video_id": "rfscVS0vtbw",
        "title": "Learn Python - Full Course for Beginners",
        "duration": "4:26:52",
        "view_count": "48M views",
        "published_time": "7 years ago",
        "author": "freeCodeCamp.org",
        "channel_id": "UC8butISFwT-Wl7EV0hUK0BQ"
      }
    ]
  },
  "page": {
    "next_cursor": "cursor_example"
  },
  "warnings": [],
  "meta": {
    "listing_id": "youtube.videos.search",
    "version": "v1",
    "catalog_release_id": "catalog-production-2026-09-19.b069be57",
    "price_book_version": "pricebook-production-2026-09-19.4487e352",
    "result_status": "complete",
    "charged_amount": "0.02",
    "balance_after": "49.98",
    "currency": "CNY"
  }
}
Response fields
codenumber
const: 200
request_idstring
messagestring
const: "success"
dataobject
pageobject
warningsarray
metaobject
Response JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "const": 200
    },
    "request_id": {
      "type": "string"
    },
    "message": {
      "type": "string",
      "const": "success"
    },
    "data": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "video_id": {},
              "title": {},
              "description": {},
              "duration": {},
              "view_count": {},
              "published_time": {},
              "author": {},
              "channel_id": {},
              "url": {}
            },
            "additionalProperties": false
          }
        }
      },
      "required": [
        "items"
      ],
      "additionalProperties": false
    },
    "page": {
      "type": "object",
      "properties": {
        "next_cursor": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "next_cursor"
      ],
      "additionalProperties": false
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "meta": {
      "type": "object",
      "properties": {
        "listing_id": {
          "type": "string",
          "const": "youtube.videos.search"
        },
        "version": {
          "type": "string",
          "const": "v1"
        },
        "catalog_release_id": {
          "type": "string",
          "minLength": 1
        },
        "price_book_version": {
          "type": "string",
          "minLength": 1
        },
        "result_status": {
          "type": "string",
          "enum": [
            "complete",
            "empty",
            "partial"
          ]
        },
        "charged_amount": {
          "type": "string"
        },
        "balance_after": {
          "type": "string"
        },
        "currency": {
          "type": "string",
          "const": "CNY"
        }
      },
      "required": [
        "listing_id",
        "version",
        "catalog_release_id",
        "price_book_version",
        "result_status",
        "charged_amount",
        "balance_after",
        "currency"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "code",
    "request_id",
    "message",
    "data",
    "page",
    "warnings",
    "meta"
  ],
  "additionalProperties": false
}

Usage notes

Good for

  • Use it to discover public YouTube videos and topics around a keyword.

Not for

  • Do not use it for channel search, Shorts-only search, or search-volume estimates.

Known limitations

  • Only video results are returned; Shorts, channels, and playlists on the same page are dropped.
  • View counts and publish times are the platform's display text.
  • Result order is set by the platform and does not explain ranking causality.
  • Only the returned DataXAPI cursor can continue the same query.

Billing

¥0.02 per call. Nonempty complete results are charged; empty, partial, and failed results are not.

See all pricing →