YouTube Keyword Research & Topic Clusters
Pricing
$3.50 / full run
YouTube Keyword Research & Topic Clusters
One seed topic in; YouTube search queries grouped into video topics, ordered by demand, with the topics where small channels win. Dataset + Excel workbook. $3.50 per run, 5-15 min, free preview. No keys needed.
Pricing
$3.50 / full run
Rating
0.0
(0)
Developer
Tatiana Markova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Give it one topic. It collects what people type into YouTube search about that topic, groups the queries into video topics, orders them by demand and marks the topics where small channels win.
- Input: one seed query ("sewing machine", "claude code", "razas de gatos"), a language, a country.
- Output: a dataset with one row per topic, and an Excel workbook with the same data laid out for reading.
- Price: $3.50 per full run, whatever the size of the topic. The preview is free.
- Time: 5 minutes for an ordinary topic, up to 15 for a large one. The preview takes under a minute.
- No keys, no login, no proxy settings.
Also known as a semantic core for YouTube.
What you get
A full run on "claude code" returned 300 topics from 1,420 queries, 26 of them growth points. One row:
{"type": "topic","topic": "Claude Code Game Development","main_query": "claude code game dev","queries": ["claude code game design", "claude code game", "claude code game development","claude code game dev", "claude code 2d game"],"query_count": 5,"demand_level": "B","demand_rank": 37,"demand_basis": "autocomplete #1 for \"claude code g\"","single_rare_query": false,"growth_point": true,"growth_type": "small_channels_win","growth_reason": "2 of the first 5 videos are from channels under 50k with views at least 2x their subscribers; in the whole top 11 of 31; large channels (over 500k): 4","maybe_off_topic": null,"videos_in_top": 31,"small_channel_wins": 11,"median_subscribers_in_top": 7640,"median_video_age_days": 115,"example_video_title": "Claude Opus 5 Took 7 Hours to Build This Game","example_video_url": "https://www.youtube.com/watch?v=MsFYd8EdAXw","example_video_views": 333228,"example_channel_subscribers": 7160}
How to read a row
| Field | Meaning |
|---|---|
type | topic, or subtopic of a large topic (then parent_topic is set) |
topic | A short name of the topic, in the language of the market |
main_query | The query of the topic with the highest demand |
queries | Every query of the topic. YouTube answers them with the same videos, so one video covers them all |
demand_level | A seen in Google Trends for YouTube search; B offered by autocomplete on the seed itself or in the first five on a short input; C offered on a short input; D found only by expanding another query |
demand_rank | The place of the topic by demand, 1 is the strongest |
single_rare_query | true for a topic of one level-D query: an idea, its demand is not shown |
growth_point | true when demand is shown and the supply is weak |
growth_type | small_channels_win: at least two of the first five videos are from channels under 50k subscribers, with 10k+ views and at least twice as many views as subscribers. stale_top: most of the first results are old and nothing fresh is there |
growth_reason | The same in words, with the numbers of this topic |
maybe_off_topic | Set when a language model found the topic to be another meaning of the seed word or nonsense. Such a topic is never a growth point |
example_video_* | The strongest small-channel win of the topic: the video to look at first |
The workbook
out-core.xlsx in the key-value store of the run, in English, Spanish or Russian:
| Sheet | What is on it |
|---|---|
| How to read | The method and the thresholds of this run, in words |
| Growth points | Where a small channel can enter: the reason, the queries, the example video |
| Topics | Every topic with shown demand, strongest first |
| Tail | Topics of one rare query |
| Phrases | Every query autocomplete returned and why it is in the core or not |
| Evidence | The videos behind every topic |
| Results pages | For every query, the first ten videos as YouTube showed them, with channel, subscribers and views |
| Holes | Queries that no video answers exactly |
| Topics, all columns | Every number behind the topics |
Rows in light grey are what a language model found to have nothing to do with the subject. Nothing is deleted: every excluded query has its reason next to it.
The same data is in out-core.json, out-topics.csv, out-phrases.csv and out-evidence.csv.
Preview first, it is free
The default mode is preview. It asks YouTube autocomplete about your seed and tells you, in the status
of the run, whether the seed is a live query. Its dataset has the queries found so far.
A seed that people rarely type gives a small core, half of it padding that autocomplete glues on. For such a seed the preview shows other wordings that people type more often, each with the same measurement. Whether they are your topic is for you to say.
A full run checks the seed the same way and stops, free of charge, when it is weak. Tick "collect anyway" to collect it as it is.
Input
| Field | |
|---|---|
mode | preview (free, default) or full |
seed | One topic the way people search for it, 1-3 words. Required |
language | en, es or ru. Required |
country | Two-letter code, US by default |
exclude | Words of another meaning of the seed, separated by commas |
workbookLanguage | Language of the workbook: en, es, ru. By default the language of the market |
collectAnyway | Collect a seed that turned out to be rarely typed |
Price and when you are not charged
A full run is one charge of $3.50, made when the core is collected and before the workbook is finished. You are not charged when:
- the mode is
preview; - the seed turned out weak and "collect anyway" is not ticked;
- autocomplete found nothing for the seed;
- YouTube stopped answering before the collection was complete. You still get a workbook built on what was collected, without topic names from the model.
The full mode runs on paid Apify plans. If you set a maximum cost for the run, set it to $4 or more: the platform stops a run the moment its charges reach the limit. You are charged $3.50 once, never the limit.
A long run: how to wait for it
A full run takes 5 to 15 minutes. If you start it from code or from an AI agent, do not wait for the result in one call: start the run, then poll its status. The status message says which stage is going. When the run has succeeded, read the dataset. A run that the platform moved to another server, or that you resurrected after a stop, continues from where it was and is charged once.
What it does not do
- No search volumes. YouTube does not publish them. Demand here is an order (A-D and a rank), not a number of searches.
- Three languages: English, Spanish, Russian. The rules that clean the queries are written for these.
- One seed per run. For several wordings of a topic, run them one by one.
- Requests are made from servers in the United States. The language and the topic are kept; the local layer of the results (videos about your own country) is weaker than from inside the country.
- 800 results pages at most. In a very large topic the rarest queries are left without a results page and go into no topic; the run says how many.
- Google Trends answers most runs, not all. When it does not, there is no level A in that run, and the workbook says so.
- It does not download videos, comments or transcripts, and does not log in anywhere.
How it works, briefly
- Autocomplete: the seed and the seed with every letter, digit and question word, then one level deeper.
- Queries with no seed words, in another language, glued on by autocomplete, or typed after one author are marked and left out, each with its reason.
- The first results page for every remaining query (800 at most).
- Official data about the videos and channels of the first ten results.
- Two queries are one topic when their first results share at least 40% of the videos.
- Demand from autocomplete positions and Google Trends; growth points from who wins in the first results.
- A language model names the topics and marks what has nothing to do with the subject. It never removes anything, and the numbers do not depend on it.