Answers
The YouTube Data API search quota runs out after a few searches. How do I search more?
Short answer
Run the searches through YouTube video search instead, which has no daily cap: $0.004 per page of about 20 videos with views and channel. Keep the official videos.list (1 quota unit) for likes and comment counts if you have a key, and the daily search limit stops mattering.
You track 30 keywords for a client and read five pages of results for each, every morning. That is 150 search calls a day. Google's quota page gives a new project 100 search.list calls per day in a bucket of their own, and every extra page of results counts as another call. The tracker stops at keyword 21, and the quota resets at midnight Pacific time.
You can apply to Google for a higher quota, which means an audit of your app and a wait. Or you can move the searches somewhere that charges per page instead of capping them.
Search without a daily cap
YouTube video search takes query and sort (relevance, latest or most_viewed) and returns about 20 videos a page: title, link, view count, channel, publish time and thumbnail. Page with cursor; each page is one call.
curl -s -G "https://api.okdata.online/v1/youtube/videos/search" \
-H "Authorization: Bearer $OKDATA_API_KEY" \
--data-urlencode "query=standing desk review" \
-d sort=most_viewed \
-d fields=id,title,published_at,metrics.views,author.name
| Daily job | Calls | Cost per day |
|---|---|---|
| 30 keywords × 1 page | 30 | $0.12 |
| 30 keywords × 5 pages | 150 | $0.60 |
| 1,000 results | 50 | $0.20 |
The hybrid most teams end up with
Search results here leave metrics.likes and metrics.comments empty (null, listed in meta.unavailable). If you need them, pass the IDs to the official videos.list, which costs 1 unit for up to 50 IDs. The 150 daily searches turn into about 60 units of the 10,000 you have, and the search bucket goes unused.
If you would rather not hold a Google key at all, YouTube video detail returns likes and comment counts for $0.004 per video.
Gotchas
latestis not a strict date order; results still come by relevance. Sort bypublished_atyourself when recency matters; it can be worked out from labels like 3 weeks ago, so treat it as approximate.view=fulladdsext.length_s, useful for telling Shorts-length clips from long videos.- Every page is a separate call. For daily monitoring, stop paging once you reach videos you saw yesterday.
- Results mirror what YouTube's own search shows; there is no filter for region or upload date.
When the official API is enough
For a handful of keywords a day, the free quota covers it, and you get Google's own filters such as publishedAfter and regionCode. Request more quota if your use fits YouTube's policies and you can wait for the review. For a keyword tracker across many topics, see the content research solution page and the price list.
Updated