All posts

Best YouTube search scrapers and APIs for 2026

November 8, 2026

YouTube search is how you find videos on a topic, track who ranks for a keyword, or spot new competitors. Getting results in code is harder than it looks, because the official API rations search more tightly than anything else. Here are the options and a method that keeps your costs down.

The official option: search.list

The Data API's search.list costs 1 unit, but it sits in its own bucket of 100 calls a day. Each page returns up to 50 results. It supports useful filters: order (date, rating, relevance, title, viewCount), publishedAfter, regionCode, relevanceLanguage, and videoDuration, where "short" means under four minutes. Google

Search results come back as IDs and snippets, so for view counts you make a second call to videos.list. That is cheap (1 unit) but adds a round trip.

The math: 100 searches a day at 50 results each is at most 5,000 results a day, before pagination eats into it.

The options compared

ToolLimit or priceStats in resultsGood for
Data API search.list100 calls a day, freeSecond call neededDaily keyword checks
yt-dlp ytsearch:Free, self-runWithout flat modeAd hoc research
SerpApi YouTube engine250 free a month; $25 for 1,000Views and lengthRank tracking
Bright Data search scraper$1.50 per 1,000 recordsYesBulk keyword lists
ScrapeIO search2 credits a callYesApps and agents

yt-dlp

yt-dlp supports a search prefix, so yt-dlp --flat-playlist -J "ytsearch20:home espresso" prints 20 results as JSON. Flat mode is fast but some metadata may be missing. Without it, yt-dlp visits every video. source

SerpApi

The YouTube engine takes search_query and returns video, channel and Shorts results. Filters use YouTube's own sp value, which you can copy from the URL after you filter on youtube.com. source Only successful searches count, not cached or failed ones. pricing

Bright Data

It lists a YouTube search scraper for keyword or filter-based discovery among its YouTube products, billed per record. source It suits large keyword lists run on a schedule.

Common mistakes

  • Comparing results from different places. YouTube results vary by country and language. Set regionCode and relevanceLanguage on the official API, or the equivalent on your tool, and keep them fixed between runs. source
  • Trusting the total. Google says totalResults is approximate, can reach 1,000,000, and should not be used for pagination. source
  • Mixing result types. By default search returns videos, channels and playlists together. Filter to videos before you rank.
  • Looking only at page one. Small channels that are rising often sit on pages two and three.

A method for keyword research on YouTube

  1. Expand the seed. Take your keyword and collect the autocomplete suggestions YouTube shows as you type. These are phrasings real viewers use.
  2. Search each phrase twice: once by relevance, once by upload date in the last 30 days. Relevance shows who owns the topic; date shows who is moving in now.
  3. Score every result with views per day since upload: views / max(1, days_since_upload). This lets a two-week-old video compete fairly with a two-year-old one.
  4. Count channels, not videos. If one channel holds five of the top ten, the topic is hard to enter. If the top ten are spread over ten small channels, there is room.
  5. Repeat weekly and store the rank of each video per phrase. Rank changes are the signal.

Doing it with ScrapeIO

The YouTube typeahead API gives the suggestions for step 1, and the YouTube search API returns results with full stats and supports sort_by and published_after. To search inside one channel, use the channel search API; for tags, the hashtag search API.

curl "https://scrapeio.com/v1/youtube/search?query=home+espresso&sort_by=date" -H "x-api-key: YOUR_KEY"

Sources

Checked on 8 November 2026 from each vendor's own pages. Prices and limits change; follow the links before you decide.

100 free credits, no card. Credits never expire.

Get API key