Search YouTube videos by keyword
Search YouTube videos by keyword, with optional sort, upload-date, duration, region, and language filters. Returns matching videos with title, channel, and view count. Useful for topic research, competitive monitoring, and content-gap analysis.
Pricing — $ · min $0.001
Billed per record at 1 credit ($0.001) each, with a 1-credit ($0.001) minimum per call.
Authorization
bearerAuth UnifAPI API key. Provider credentials are managed by UnifAPI.
In: header
Query Parameters
Search keyword.
Result ordering (default relevance).
Restrict to videos uploaded within this window.
Restrict by video length bucket.
ISO 3166 country code, e.g. US.
Language code, e.g. en.
Header Parameters
Pin the API version an integration was built against (date-based, e.g. 2026-07-01). Omit to use the current version. Public URL paths stay stable and unversioned; breaking changes ship under a new dated version and are announced with Deprecation and Sunset response headers. The served version is echoed in every response's Unifapi-Version header. Policy: https://unifapi.com/versioning.md
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/youtube/search?q=string"{ "request_id": "string", "data": [ { "id": "string", "title": "string", "author": "string", "channel_id": "string", "description": "string", "duration_seconds": 0, "view_count": 0, "published_time": "string", "is_live": true, "category": "string" } ], "pagination": { "has_more": true, "next_cursor": "string" }, "billing": { "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true }}{ "error": { "type": "validation_error", "message": "string", "request_id": "string", "issues": [ null ], "billing": { "credits_required": 0, "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true } }}{ "error": { "type": "validation_error", "message": "string", "request_id": "string", "issues": [ null ], "billing": { "credits_required": 0, "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true } }}{ "error": { "type": "validation_error", "message": "string", "request_id": "string", "issues": [ null ], "billing": { "credits_required": 0, "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true } }}{ "error": { "type": "validation_error", "message": "string", "request_id": "string", "issues": [ null ], "billing": { "credits_required": 0, "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true } }}{ "error": { "type": "validation_error", "message": "string", "request_id": "string", "issues": [ null ], "billing": { "credits_required": 0, "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true } }}{ "error": { "type": "validation_error", "message": "string", "request_id": "string", "issues": [ null ], "billing": { "credits_required": 0, "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true } }}{ "error": { "type": "validation_error", "message": "string", "request_id": "string", "issues": [ null ], "billing": { "credits_required": 0, "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true } }}{ "error": { "type": "validation_error", "message": "string", "request_id": "string", "issues": [ null ], "billing": { "credits_required": 0, "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true } }}