YouTube hub

YouTube Search API

Keyword search across public YouTube results — query in, structured rows out, same envelope as the rest of the YouTube tag.

GET /v1/youtube/search

1 credit per successful request.

About this endpoint

Brand monitors, SEO tools, and creator discovery jobs often need YouTube results by phrase before they know a channel ID or video URL. Google's YouTube Data API can do that when you already have a Cloud project, search quota, and keys that fit its access model. That stack is heavy when you only need public search pages for research or enrichment.

`GET /v1/youtube/search` takes a required `query` string and returns matching public results in the shared Social Fetch envelope. Optional `uploadDate`, `sortBy`, `type`, `duration`, and `region` narrow the page; `includeExtras` asks for richer per-video fields when available. When `data.page.hasMore` is true, pass `data.page.nextCursor` as `cursor` on the next call. Branch on `data.lookupStatus` before you write rows, and bill from `meta.creditsCharged`.

This route is free-text keyword search. For a tagged campaign use `GET /v1/youtube/search/hashtags`. For a known channel's uploads use the channel videos or shorts list routes. All of them share one Social Fetch API key.

YouTube Search API FAQ

What does the YouTube Search API return?

A page of public YouTube results that match your keyword query, plus pagination state under data.page (hasMore, nextCursor). Rows can be videos, Shorts, channels, or playlists depending on your type filter. Each response uses the shared Social Fetch envelope with data.lookupStatus, meta.requestId, and meta.creditsCharged.

How do I call YouTube keyword search?

Send GET /v1/youtube/search with x-api-key and a required query parameter. Optionally add uploadDate, sortBy, type, duration, region, cursor, and includeExtras. Full parameter enums and examples are in the API docs.

How much does YouTube keyword search cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth. Each paginated page is a separate billed request.

Is this the same as YouTube hashtag search?

No. GET /v1/youtube/search is free-text keyword search. Hashtag-oriented discovery is GET /v1/youtube/search/hashtags. Use keyword search when you have a phrase; use hashtag search when the campaign is tag-led.

Can I filter YouTube search by type, date, or duration?

Yes. type accepts videos, shorts, channels, or playlists. uploadDate accepts today, this_week, this_month, or this_year. duration accepts under_3_min, between_3_and_20_min, or over_20_min (for videos, not Shorts). sortBy can be relevance or popular. region takes an optional two-letter ISO country code.

How does pagination work on YouTube search?

When data.page.hasMore is true, pass data.page.nextCursor as the cursor query param on the next request. Keep the same query and filters across pages. Do not infer end-of-results from result counts alone.

Do I need a Google Cloud project to search YouTube?

No. You authenticate to Social Fetch with an API key. The route reads public search results; it does not act on behalf of a logged-in YouTube user or consume your YouTube Data API quota.