YouTube SEO Keyword Research Pro — Search, Tags, Trends avatar

YouTube SEO Keyword Research Pro — Search, Tags, Trends

Pricing

from $15.00 / 1,000 keyword snapshots

Go to Apify Store
YouTube SEO Keyword Research Pro — Search, Tags, Trends

YouTube SEO Keyword Research Pro — Search, Tags, Trends

Complete YouTube SEO keyword research toolkit. From one keyword get top search results, autocomplete suggestions, related videos, and trending hashtags. Built for creators, SEO agencies, and content strategists planning videos that win YouTube search.

Pricing

from $15.00 / 1,000 keyword snapshots

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

YouTube SEO Keyword Research Pro 🔎

Store-SIÁN Agency Store-YouTube Autocomplete Store-Cheapest YouTube Comments Store-YouTube AI Comments + Questions

The complete YouTube SEO keyword research toolkit. From one seed keyword, get top search results, autocomplete suggestions, related videos, and trending hashtags — all in one workflow. Built for creators, SEO agencies, and content strategists who need to win YouTube search.

💡 Only need autocomplete suggestions? Save with our cheaper single-purpose sibling: YouTube Autocomplete & Query Suggestion — pure autocomplete at $0.0005 / suggestion. Use this Pro bundle when you need the FULL keyword research package (search + suggest + related + hashtag).


Why this actor

Most YouTube research actors on Apify ship one endpoint. To build a complete keyword brief you'd have to glue together a search scraper, an autocomplete scraper, a related-videos scraper, and a hashtag scraper — and then JOIN the results in your warehouse.

This actor delivers four YouTube discovery endpoints per keyword in one workflow, one bill, one dataset:

This actor (Pro bundle)Our autocomplete-only siblingTop per-endpoint commodity scrapers
Search results (videos, channels, playlists)✅ (separate actor)
Autocomplete suggestionspartial
Related-video graph (algorithm signal)rare
Trending hashtag adjacencyrare
Parallel fetch (one wall-clock latency)n/asequential
Unified tidy-long row schema with rowTypeflat blob — flatten yourself
Bulk + seed-video discovery modespartial
Predictable per-keyword headline price

Drop the result into Pandas, DuckDB, or BigQuery and filter by rowType to slice the bundle.

Want only autocomplete? Use our autocomplete-only sibling — it's cheaper and built for that single task. This Pro bundle is for when you need the full SEO research package.


What you get back

A single dataset where every row carries a rowType discriminator:

rowTypeWhat it isCharged event
keyword_snapshotThe per-keyword anchor row — counts of each signal kind, top search videoId, matched hashtag + YouTube's hashtag volume signal. Exactly 1 per keyword.keyword-snapshot-result
search_resultOne row per YouTube search result. For resultType: video you get title, views, channel, length, publishedAt. For channel and playlist you get the relevant columns.search-result-row
suggestionOne row per autocomplete suggestion. suggestion + suggestionRank.suggestion-row
related_videoOne row per related/recommended video chained off the keyword's top search result. The YouTube algorithm's own adjacency signal.related-video-row
hashtag_trendOne row per trending video under the closest matching hashtag for the keyword (e.g. rust programming#rustprogramming).hashtag-trend-row
errorStatus row (`status: no_resultsendpoint_unavailable

Every row carries _sourceKeyword, _sourceMode, _sourceEndpoint, _sourceRegion, _sourceLanguage, _fetchedAt, and _page so you can group, dedupe, and trace lineage even in bulk mode.


Input

Three research modes:

1. Single keyword (keywordResearch, default)

{
"operation": "keywordResearch",
"keyword": "rust programming",
"region": "US",
"language": "en",
"includeEndpoints": ["search", "suggest", "hashtag", "related"]
}

2. Bulk keywords (bulkKeywords)

{
"operation": "bulkKeywords",
"keywords": "rust programming\ngolang vs rust\nlearn rust 2026",
"region": "US",
"language": "en",
"includeEndpoints": ["search", "suggest", "hashtag"]
}

3. Seed video discovery (seedVideoResearch)

Paste a competitor's video URL — the actor extracts its top keywords and runs keyword research around them.

{
"operation": "seedVideoResearch",
"seedVideoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
}

Input fields

FieldTypeDefaultDescription
operationstringkeywordResearchOne of keywordResearch, bulkKeywords, seedVideoResearch.
keywordstringSeed keyword for keywordResearch mode.
keywordsstringComma/newline-separated keyword list for bulkKeywords mode. Max 50 per run.
seedVideoUrlstringYouTube video URL or 11-char ID for seedVideoResearch mode.
includeEndpointsarrayAll 4Pick which endpoints to fetch: search, suggest, hashtag, related.
searchTypestringvideoOne of video, channel, playlist, all.
regionstringTwo-letter country code (US, GB, IN, DE, BR).
languagestringTwo-letter language code (en, es, pt, ja).
maxSearchPagesinteger1Pages of /search results (1–5).
maxRelatedPagesinteger1Pages of /related results (1–5).

How endpoint-level gating works

For each keyword, the actor fires search + suggest + hashtag in parallel (Promise.allSettled) for one wall-clock latency. The related endpoint is then chained off the top search result. If an endpoint returns empty/error for a specific keyword — e.g. an obscure long-tail with no hashtag matches — the actor:

  1. Detects the empty/body-level error (yt-api wraps endpoint errors at the body level, not HTTP).
  2. Does not charge you for that endpoint.
  3. Pushes one status row (status: no_results or endpoint_unavailable) for auditing.

This means you only pay for endpoints that actually returned data — and the keyword_snapshot anchor row tells you exactly which signals were available at a glance.


Pricing

Pay-per-event. Bronze tier shown — higher tiers auto-ladder via Apify's tier system. FREE-tier is deliberately higher to deter abuse (per Apify pricing model).

EventBRONZEWhat it covers
apify-actor-start (once)$0.005Actor lifecycle
keyword-snapshot-result$0.020Per keyword — the anchor snapshot row (1 per keyword)
search-result-row$0.003Per YouTube search result row
suggestion-row$0.001Per autocomplete suggestion row
related-video-row$0.003Per related-video row
hashtag-trend-row$0.003Per hashtag-trending video row

⭐ = primary / headline event (snapshot anchor; exactly 1 per successful keyword).

Estimated full-bundle cost (1 keyword, all 4 endpoints, BRONZE tier): $0.005 (start) + $0.020 (snapshot) + ~20 × $0.003 (search) + ~10 × $0.001 (suggest) + ~20 × $0.003 (related) + ~25 × $0.003 (hashtag) = ~$0.22 / keyword for the full discovery surface.

Cheap snapshot (includeEndpoints: ["suggest"] only): $0.005 (start) + $0.020 (snapshot) + ~10 × $0.001 (suggest) = ~$0.035 / keyword — but you should use the autocomplete-only sibling actor for ~10× cheaper at $0.0005 / suggestion.

Skip endpoints you don't need — never pay for data you didn't request.


Use cases

  1. YouTube Creators — Plan Videos That Win Search. Creators planning their next upload need to know what real people search for on YouTube, what the autocomplete completes, what the algorithm associates, and which hashtags are trending. One run per keyword gives a complete brief for title, description, and tag selection — far more reliable than guessing.

  2. SEO Agencies — Sell YouTube SEO Services to Clients. Agencies offering YouTube SEO need bulk keyword research workflows. Feed a list of seed keywords, get back search competitiveness, related-video graphs, autocomplete trees, and hashtag adjacency for each — packaged as one tidy-long dataset per run, ready to drop into client deliverables.

  3. Content Strategists — Topic Discovery + Gap Analysis. Content teams building YouTube editorial calendars need to know which adjacent topics the algorithm surfaces, which autocomplete tails imply unmet intent, and which hashtags carry trending volume. The bundle gives you all four signals per topic in one workflow.

  4. Brand Marketing — Organic YouTube Discovery Research. Brand teams running organic YouTube channels need to research category-defining keywords without buying agency tools. Bulk mode takes a list of brand-relevant terms and returns the full discovery surface at predictable per-keyword pricing.

  5. Educators + Course Creators — Position Content for Search. Online educators and course creators competing for educational search traffic need to identify long-tail keywords with high intent but low competition. Autocomplete + related-video signals reveal exactly what learners type, watch, and search next.


Output schema (unified rows)

Every row carries:

  • Tracing fields: _sourceKeyword, _sourceMode, _sourceEndpoint, _sourceRegion, _sourceLanguage, _fetchedAt, _page
  • Discriminator: rowType (one of keyword_snapshot | search_result | suggestion | related_video | hashtag_trend | error)
  • Status: status (success / no_results / endpoint_unavailable / error)

Plus per-rowType fields:

keyword_snapshotsnapshotKeyword, snapshotSuggestionCount, snapshotSearchResultCount, snapshotRelatedVideoCount, snapshotHashtagTrendCount, snapshotHashtag (matched), snapshotHashtagInfoText (YouTube's volume signal e.g. 3.2K videos • 803 channels), snapshotTopVideoId, snapshotTopVideoTitle. The full list of autocomplete suggestions is in extra.allSuggestions; the upstream's estimatedResults lives in extra.estimatedSearchResults.

search_resultresultType (video | channel | playlist | shorts_listing), resultRank, plus the video/channel/playlist columns relevant to the type: videoId, videoTitle, viewCount, channelId, channelUrl, channelSubscriberCountText, playlistId, playlistTitle, playlistVideoCount, etc.

suggestionsuggestion (the string), suggestionRank.

related_videovideoId, videoTitle, viewCount, lengthText, publishedAt, channelId, channelTitle, channelHandle, thumbnailUrl.

hashtag_trendhashtagName (#rustprogramming), plus the trending video's videoId, videoTitle, viewCount, channelTitle, etc.

Anything endpoint-specific that doesn't fit the unified schema is captured in extra (object) so you never lose upstream data.


FAQ

Q: I only need autocomplete. Should I use this? Probably not. Our cheaper autocomplete-only sibling actor charges ~$0.0005 / suggestion vs. this actor's $0.020 snapshot fee + $0.001 / suggestion. Use this Pro bundle when you also want search, related, or hashtag signals — that's where the parallel-bundle value lives.

Q: Can I run keyword research on a competitor's video? Yes — set operation: "seedVideoResearch" and paste the video URL. The actor calls /video/info (absorbed in the snapshot fee — no extra charge) to extract the video's tags + title, then runs full keyword research on the top extracted keyword.

Q: How are hashtags matched from keywords? We normalize the keyword to a YouTube-style tag — lowercase, alphanumerics only, no spaces. So rust programming becomes rustprogramming. If the resulting tag has no trending videos, the row is emitted as no_results and not charged.

Q: What region / language should I use? For most use cases, leave them empty (upstream defaults to US / English). Set region: "GB" for UK-focused research, region: "IN" for India-focused, region: "DE" for Germany. Pair with language: "en", "de", etc. when researching non-English content.

Q: How many search results can I get? Default is 1 page (~20 results). Set maxSearchPages up to 5 to broaden the funnel. Same for related videos via maxRelatedPages.

Q: How fast is bulk mode? 3 keywords concurrent per batch. Local smoke test: 3 keywords × 3 endpoints = 136 rows in 3.3 seconds.

Q: What if I pass a brand-new keyword YouTube has zero data on? The actor pushes per-endpoint status: no_results rows for the empty endpoints (no charges) and still emits the keyword_snapshot anchor row showing the zeroes — useful for negative-signal mining.

Q: Can I get the full video metadata for the top search result? Use our YouTube Video 360 Intelligence Bundle (when available) — it takes the videoId from this actor's output and returns full metadata + transcript + related + subtitles for the video.

Q: Why is related chained off the top search result? /related is a per-video endpoint, not a per-keyword endpoint. The algorithm's own related-video graph for the keyword's top-ranked video is the closest proxy to "what does YouTube think this keyword is about?" — and it's a far richer signal than running /related on an arbitrary seed.


⚠️ Trademark Disclaimer

YouTube® is a trademark of Google LLC. This actor is an independent data-discovery tool. It is not affiliated with, endorsed by, sponsored by, or supported by Google LLC or YouTube. All trademarks, registered trademarks, and brand names are the property of their respective owners.


This actor scrapes publicly accessible YouTube search and discovery data. Users are responsible for ensuring compliance with YouTube's Terms of Service and applicable data-protection laws (GDPR, CCPA, etc.) when using the data downstream. Don't scrape PII or use scraped data to harass / discriminate. See Apify's blog on legal scraping.


Support