YouTube Search Scraper 🔎 (videos, views, rank tracking) avatar

YouTube Search Scraper 🔎 (videos, views, rank tracking)

Pricing

from $0.35 / 1,000 video results

Go to Apify Store
YouTube Search Scraper 🔎 (videos, views, rank tracking)

YouTube Search Scraper 🔎 (videos, views, rank tracking)

Every video YouTube ranks for your keywords, with rank position, exact views, upload date, length, channel and badges. Filters for upload date, length and popularity, any country. Turn on rank tracking to see each video's rank change since the last run. No API key, no login.

Pricing

from $0.35 / 1,000 video results

Rating

0.0

(0)

Developer

Tagada Data

Tagada Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

YouTube Search Scraper: every video YouTube ranks for your keywords

Give it a list of keywords and get back every video YouTube shows for each one, in the order YouTube ranks them. Each row has the rank position, the exact view count, the upload date, the length, the channel (with its @handle and verified tick), the description snippet and the badges YouTube puts on the card (4K, CC, LIVE, New).

Turn on rank tracking and schedule the same input daily or weekly: every row then also says where that video ranked last time and how many places it moved. That is the part video-SEO people usually build by hand in a spreadsheet.

$0.50 per 1,000 videos, platform usage included. No API key, no Google Cloud quota, no login.

What you get

One row per video per keyword:

FieldDescription
queryThe keyword this row ranks for
rankPosition in YouTube's results for that keyword, 1 = top
previousRankRank in the previous tracked run (only with rank tracking on; null when the video is new)
rankChangePlaces moved since the previous run, positive = moved up (only with rank tracking on; null when new)
videoId, urlThe video
titleVideo title
channelName, channelId, channelUrl, channelHandleWho published it (@handle when the channel has one)
isVerifiedChannelTrue when the channel has YouTube's verified tick
viewCountExact view count (YouTube's search card shows the full number, not "13K")
liveViewersPeople watching right now, for live streams only (their viewCount is null)
viewCountTextThe view count as YouTube printed it
publishedTimeTextUpload date as YouTube printed it, e.g. 3 months ago
publishedAtApproxAn estimated ISO date computed from that text at capture time. YouTube rounds ("1 year ago"), so treat it as an estimate
durationSeconds, durationTextLength, e.g. 930 and 15:30
descriptionSnippetThe description excerpt YouTube shows under the title
thumbnailUrlLargest thumbnail on the card
badgesCard badges such as LIVE, New, 4K, CC, 3 products
isLive, isUpcoming, scheduledStartAtLive now, or a scheduled premiere/stream and when it starts
isShortAlways false: this actor returns regular videos only (see below)
capturedAtWhen the row was collected

Example row (real, from a run on 2026-10-15)

{
"query": "home espresso machine review",
"rank": 2,
"previousRank": 4,
"rankChange": 2,
"videoId": "miNqgmVH9I0",
"url": "https://www.youtube.com/watch?v=miNqgmVH9I0",
"title": "Best Entry Level Espresso Machines 2025 – Our Top Picks for Beginners",
"channelName": "Whole Latte Love",
"channelId": "UCJwRmBtnYh_7Xs9oXUrLhZg",
"channelUrl": "https://www.youtube.com/@Wholelattelovepage",
"channelHandle": "@Wholelattelovepage",
"isVerifiedChannel": true,
"viewCount": 172059,
"liveViewers": null,
"viewCountText": "172,059 views",
"publishedTimeText": "11 months ago",
"publishedAtApprox": "2025-11-19T21:53:47.608Z",
"durationSeconds": 930,
"durationText": "15:30",
"descriptionSnippet": "Looking for the best entry level espresso machine in 2025? We tested the top affordable espresso machines to find which ones ...",
"thumbnailUrl": "https://i.ytimg.com/vi/miNqgmVH9I0/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAceLLsmMyDSqB8kHdg_VBVJa2XJg",
"badges": ["4K"],
"isLive": false,
"isUpcoming": false,
"scheduledStartAt": null,
"isShort": false,
"capturedAt": "2026-10-15T21:53:47.608Z"
}

Who uses this

  • Video-SEO agencies and YouTube creators. Check where your videos and your competitors' rank for the keywords that matter, and watch the moves week after week with rank tracking.
  • Marketers and brand teams. See which channels own a topic, how fresh the top results are, and how many views the top 20 videos pull, before you commission content or pick creators to sponsor.
  • Researchers. Build a dataset of what YouTube surfaces for a set of queries, by country and language, with exact views and dates.
  • AI and agent builders. Feed an agent the current top videos for a topic, then hand the video links to a transcript actor for the content itself.

Input

FieldWhat it does
searchQueriesKeywords, one per line (up to 200 per run). Each keyword is searched on its own
maxResultsPerQueryVideos per keyword, 1 to 500 (default 50)
uploadDateany, hour, today, week, month, year: YouTube's own upload-date filter
durationany, short (under 4 min), medium (4 to 20 min), long (over 20 min), under3 (under 3 min), between3and20 (3 to 20 min)
sortByrelevance (default) or popularity, the two orders YouTube's "Prioritize" menu offers
countryCountry YouTube ranks for, e.g. US, GB, DE, IN (default US)
languageYouTube interface language, e.g. en, fr, de (default en)
trackRankChangesRemember this run's ranks and add previousRank / rankChange to the next run with the same keywords and filters

Top 30 videos for two keywords

{
"searchQueries": ["home espresso machine review", "best crm for small business"],
"maxResultsPerQuery": 30
}

Weekly rank tracking, UK, long-form only

{
"searchQueries": ["espresso machine review", "best espresso machine under 500", "breville barista express review"],
"maxResultsPerQuery": 50,
"duration": "long",
"country": "GB",
"trackRankChanges": true
}

Schedule it once a week. The first run saves the baseline; every run after that fills previousRank and rankChange.

{
"searchQueries": ["ai agents tutorial"],
"maxResultsPerQuery": 100,
"uploadDate": "month",
"sortBy": "popularity"
}

Pricing

EventPrice
Video result$0.0005 per video row, i.e. $0.50 per 1,000 videos
Run start$0.001 per run

Store discounts apply: Bronze $0.45, Silver $0.40, Gold $0.35 per 1,000 videos.

You only pay for rows delivered. A keyword YouTube has no videos for costs nothing beyond the run start. Platform usage (compute, proxies) is included, and rank tracking costs nothing extra.

How rank tracking works

With trackRankChanges on, the actor keeps a small private store in your Apify account, named after your exact keywords and filters (country, language, upload date, length, sort). The next run with the same setup compares each video with its last position:

  • rankChange: 3 means the video moved up three places, -2 means it dropped two.
  • previousRank: null means it was not in last run's results (a newcomer, or it was beyond your maxResultsPerQuery).
  • Changing any keyword or filter starts a fresh baseline, because it is a different results page. Changing maxResultsPerQuery does not.
  • A keyword cut short (time limit, YouTube refusal) does not overwrite its saved ranking.

YouTube's results move around even between two runs a few minutes apart, especially past the first ten positions. Read rank changes as a trend over several runs rather than as a single verdict.

Limits and honest caveats

  • Regular videos only, no Shorts. This actor uses YouTube's "Videos" type filter, which leaves Shorts out. For Shorts, use the YouTube Shorts Scraper linked below.
  • YouTube decides how deep a search goes. In our tests keywords ended somewhere between 100 and 400 videos. When YouTube stops before your maxResultsPerQuery, the run status says so for that keyword.
  • No "sort by upload date" or "sort by rating". YouTube removed both orders from search; asking the API for them silently returns the relevance order, so they are not offered. Use the uploadDate filter to get recent videos.
  • Dates are relative. YouTube only says "3 months ago". publishedAtApprox turns that into a date, which is exact to the hour for recent videos and approximate for older ones. It is computed for English, French, German, Spanish, Portuguese and Italian interfaces; for other languages it is null and publishedTimeText is still there.
  • Results are what an anonymous visitor in the chosen country sees. No account, no watch history, no personalisation.

FAQ

How do I scrape YouTube search results without the YouTube Data API? Run this actor with your keywords. There is no API key and no daily quota. The Data API's search call costs 100 quota units per page and returns no view counts at all (they need a second call); this actor returns exact view counts straight from the results page.

How do I track my video's ranking on YouTube for a keyword? Turn on trackRankChanges, put in your keywords and schedule the run daily or weekly. Filter the dataset on your channelId or videoId to follow your own videos.

Can I search YouTube from another country? Yes. Pick the country (YouTube's location setting) and the interface language. Rankings differ by country, and rank tracking keeps a separate history for each.

Does it return Shorts, channels or playlists? No, only regular videos. Shorts have their own actor (below).

How many videos can I get per keyword? Up to 500, if YouTube has that many for the keyword. Broad one-word keywords often end sooner than long-tail ones.

Is the view count exact? Yes. YouTube's search card carries the full number ("172,059 views"). Live streams show people watching now instead, in liveViewers.

Can I get the transcript or comments of the videos? Pass the url column to the YouTube Transcript Scraper or the YouTube Comments Scraper below.

Keywords: YouTube search scraper, YouTube SERP scraper, YouTube rank tracker, YouTube keyword research, YouTube video scraper, YouTube search API alternative, YouTube views scraper.