Social platforms

Search YouTube videos by keyword · YouTube API

GET/youtube/search
$min $0.001

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.

Using ChatGPT, Claude Code or another client? See the setup steps

Request
curl https://api.unifapi.com/youtube/search?q= \
  -H "Authorization: Bearer $UNIFAPI_KEY"

Parameters

cursorquery
qqueryrequired
Search keyword.
sort_byquery
Result ordering (default `relevance`).
upload_datequery
Restrict to videos uploaded within this window.
durationquery
Restrict by video length bucket.
regionquery
ISO 3166 country code, e.g. `US`.
languagequery
Language code, e.g. `en`.
Overview

This operation is part of the YouTube API in the social platforms category. It uses the same Bearer token, request tracing, error model, and billing envelope as every UnifAPI endpoint, so agents can switch between platforms without custom per-vendor glue code.

Use it when a workflow needs YouTube public data alongside other social networks, but should still keep one API key, one account balance, and one predictable JSON contract.

Common agent workflows

  • Search YouTube for public mentions, creators, posts, or topics matching a user query.
  • Feed ranked YouTube results into research, monitoring, and enrichment workflows.
  • Give an AI agent a stable YouTube data source without building a per-platform integration.
  • Normalize YouTube responses into the same UnifAPI envelope used across the catalog.
Response shape

Unified envelope, platform-native fields

  • List-style responses return `data` as an array of top-level records plus optional `pagination` for continuation tokens or cursors.
  • The `billing.records_charged` field reports the charged billable-record quantity for the successful response.
  • If the workspace balance cannot cover every result, the response can be truncated and `billing.truncated_due_to_balance` tells the caller why.

Response status codes

200400401402404429500502503

Billing

This operation charges 1 credit per billable record, with a 1 credit ($0.001) operation minimum. Public responses include billing metadata with credits charged, records charged, and remaining workspace balance. Incorrect Credit deductions caused by platform failures can be restored as billing corrections.

Errors and retries

Authentication, validation, rate-limit, not-found, and provider errors use the unified UnifAPI error format. Agents should log `request_id`, retry only retryable failures, and treat invalid API keys, disabled keys, and expired keys as the same public `unauthorized` error type.

Response fields

Fields on each record in data

A successful Search YouTube videos by keyword call returns data as an array; each record carries these fields.

idstring
YouTube video id (e.g. `oaSNBz4qMQY`).
titlestring
authorstring
channel_idstring
descriptionstring
duration_secondsnumber
view_countnumber
published_timestring
Relative time string from source (e.g. `3 weeks ago`).
is_liveboolean
categorystring
Related endpoints

More YouTube operations

Combine endpoints from the same platform, then join the results with other UnifAPI categories without changing authentication or response parsing.

GET/youtube/resolve/channel-id

Resolve a YouTube channel URL to its UC… channel id

Resolve any YouTube channel URL form (`@handle`, `/c/`, or `/channel/`) into its canonical `UC…` channel ID. A lookup helper — useful for normalizing links before calling channel-level endpoints.

GET/youtube/search/channels

Search YouTube channels by keyword

Search YouTube channels by keyword, returning matching channels with handle, description, and subscriber count. Useful for discovering creators in a niche and building competitor sets.

GET/youtube/search/playlists

Search YouTube playlists by keyword

Search YouTube playlists by keyword, returning matching playlists with owner channel and video count. Useful for finding curated collections and series on a topic.

GET/youtube/channels/{channel_id}/search

Search within a YouTube channel

Search a single YouTube channel's videos by keyword, by its `UC…` channel ID, as a cursor-paginated list. Useful for finding a creator's coverage of a specific topic without scanning their whole catalog.

GET/youtube/channels/{channel_id}

Get a YouTube channel by id

Return a YouTube channel's profile by its `UC…` channel ID, including title, handle, description, subscriber count, banner art, topic keywords, and external links. Useful as the entry point for any channel-level research or competitive analysis.

GET/youtube/channels/{channel_id}/community

List a YouTube channel's community posts

Return a YouTube channel's community-tab posts, by its `UC…` channel ID, as a cursor-paginated list — text, like and reply counts, and attachment kind. Useful for tracking creator announcements and audience engagement outside of videos.