YouTube Search Scraper: Videos, Shorts and Channels
YouTube Search Scraper is an Apify actor (API) by CheapAPI Labs. Videos, Shorts and channels for any search with views, duration, publish date and rank. It costs $0.35 per 1,000 results on every Apify plan, billed through your Apify account with no API key.
Compared with the most used all in one YouTube actor (about 128,000 users): 1,000 search results costs $0.35 on every plan here and $1.00 to $4.00 depending on the plan there (Apify Store listing prices, checked September 2026). Apify platform usage is billed on top here.
Our prices updated 30 October 2026; competitor prices as checked in the comparison. 6 Apify users have run this actor (Apify Store count, 30 October 2026).
What does YouTube Search Scraper return?
Get YouTube search results for any keyword, country and language: every video, Short, channel, playlist, movie and sponsored video, with title, URL, channel, views, duration, publish date, thumbnail, badges and position. One clean row per result.
Why this Actor
- $0.35 per 1,000 results on every Apify plan, including Free. No start fee and no speed surcharge. Apify platform usage is billed separately by Apify (usually $0.001 to $0.005 for a small run). A small page minimum applies only when a page yields fewer than 8 results (see Pricing).
- Many keywords in one run: 1 or 1,000 search terms, each with up to 700 results, all at the same per result price.
- 40 fields per result (44 with rank tracking on), including a stable
id, the exact position, view count, duration in seconds, the channel's ID and URL, and whether the result is a Short, live stream, movie or sponsored video. - Every YouTube filter: sort order, upload date, type, duration, and features such as 4K, live, subtitles and Creative Commons. You can also paste YouTube search URLs.
- Localized results: 240+ countries, a single city or region, 90+ interface languages, and desktop or mobile.
- Rank and new video tracking: turn on Compare with last run and every row says whether it is new and how many places it moved since the previous run, at no extra cost.
- Not included: like counts, comment counts and subscriber counts. They are not on the search page, so you need a separate YouTube video or channel details Actor for them; we do not offer one. Transcripts and comments are available from our separate Actors (see Not included).
One example row from a real run, shortened:
{
"id": "89533ce039f0ef20e094",
"position": 1,
"positionInType": 1,
"type": "video",
"title": "The Complete SEO & AI SEO Course for 2026 (Full Beginner’s Guide)",
"url": "https://www.youtube.com/watch?v=7DRO4rEIHDk",
"videoId": "7DRO4rEIHDk",
"channelId": "UCmW0I6tx3Co4B6T2euHj6iw",
"channelName": "Surfer Academy and Matt Kenyon",
"channelUrl": "https://www.youtube.com/channel/UCmW0I6tx3Co4B6T2euHj6iw",
"channelLogo": "https://yt3.ggpht.com/Bv-ZILjuT_wYllBIiy21S4bHSQqd3twvauDKxTr-AjP7TWSP29FZ2QUErta4PEAVg3hXqyYuxA=s68-c-k-c0x00ffffff-no-rj",
"description": "Learn SEO in 2026 and rank on Google + AI search (ChatGPT, AI Overviews, and more). Full step-by-step tutorial + 30-day action ...",
"highlightedWords": [
"SEO"
],
"badges": [
"CC"
],
"viewCount": 241622,
"publishedText": "5 months ago",
"publishedAt": "2026-04-24T23:08:13.000Z",
"duration": "50:46",
"durationSeconds": 3046,
"thumbnailUrl": "https://i.ytimg.com/vi/7DRO4rEIHDk/hq720.jpg",
"isLive": false,
"isShort": false,
"isMovie": false,
"isSponsored": false,
"searchTerm": "seo",
"searchUrl": "https://www.youtube.com/results?search_query=seo",
"country": "US",
"language": "en",
"device": "desktop",
"totalResultsEstimate": 8796486,
"scrapedAt": "2026-09-28T15:52:03.307Z"
}Which fields do you get?
| Field | Type | Example |
|---|---|---|
id |
string | 89533ce039f0ef20e094 (stable: same result for the same search = same id in every run) |
position |
integer | 1 (rank on the results page, all types counted) |
positionInType |
integer | 1 (rank among results of the same type) |
type |
string | video, short, movie, sponsored, channel, playlist, other |
title |
string | The Complete SEO & AI SEO Course for 2026 |
url |
string | https://www.youtube.com/watch?v=7DRO4rEIHDk |
videoId / playlistId |
string | 7DRO4rEIHDk / PLxyz… |
channelId, channelName, channelUrl, channelLogo |
string | UCmW0I6tx3Co4B6T2euHj6iw, Surfer Academy and Matt Kenyon |
channelVerified |
boolean | true (channel results) |
description |
string | snippet shown under the result |
highlightedWords |
array | ["SEO"], the words YouTube highlighted |
badges |
array | ["CC", "4K", "New"] |
viewCount |
integer | 241622 |
publishedText / publishedAt |
string | 5 months ago / 2026-04-24T23:08:13.000Z (estimated) |
duration / durationSeconds |
string / integer | 50:46 / 3046 |
videoCount |
integer | number of videos (channels and playlists) |
thumbnailUrl |
string | https://i.ytimg.com/vi/…/hq720.jpg |
isLive, isShort, isMovie, isSponsored |
boolean | false |
previewVideos |
array | the first videos of a playlist (id, title, url, duration) |
section, sectionPosition |
string / integer | the shelf a result belongs to, if any |
searchTerm, searchUrl, country, location, language, device |
string | context of the search |
totalResultsEstimate |
integer | 8796486 |
spellingCorrection |
object | YouTube's "Showing results for …" correction, if any |
scrapedAt |
string | ISO timestamp |
extra |
object | fields YouTube added that are not mapped yet (only when present) |
isNew, firstSeenAt, previousPosition, positionChange |
boolean / string / integer | only with Compare with last run: false, 2026-09-01T…, 8, 5 (moved up 5 places) |
How much does YouTube Search Scraper cost?
You pay per event, through your Apify account. Main price: $0.35 per 1,000 results on every Apify plan. Every event and plan:
| Event | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
| Search resultOne YouTube search result delivered to the dataset (video, Short, channel, playlist, movie or sponsored video) with title, URL, channel, views, duration, publish date, thumbnail, badges and position. Same price at every processing speed. | $0.00035 | $0.00035 | $0.00035 | $0.00035 |
| Page checked (minimum per page)Charged only when a fetched page of up to 20 search results delivers too few results to pay for itself: "Result types to keep" dropped most of them, YouTube returned few or no results, or the search returned no data. Every 8 delivered results cover one page, so normal searches never trigger it. | $0.0028 | $0.0028 | $0.0028 | $0.0028 |
How do I call YouTube Search Scraper API from code?
Every run is one HTTP request to the Apify API with your Apify token; the input below is the actor's own example. The synchronous endpoint returns the rows in the response for runs up to 300 seconds; for longer runs start a run and fetch its dataset.
curl -X POST "https://api.apify.com/v2/acts/cheapapi~youtube-search-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"searchTerms":["lofi hip hop","how to make sourdough bread"],"maxResultsPerSearch":20,"country":"US","language":"en"}'With the JavaScript client:
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('cheapapi/youtube-search-scraper').call({
"searchTerms": [
"lofi hip hop",
"how to make sourdough bread"
],
"maxResultsPerSearch": 20,
"country": "US",
"language": "en"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();How does YouTube Search Scraper compare with alternatives?
Typical job: 10 keywords × 100 results = 1,000 results.
| Price per 1,000 results | Typical job on a paid plan | Same job on the Free plan | Like / subscriber counts | Country + language targeting | Many keywords in one run | |
|---|---|---|---|---|---|---|
| Most used all in one YouTube Actor (~128,000 users) | $1.00 to $4.00 by plan ($2.40 to $3.00 on Starter to Business, $1.50 Platinum, $1.00 Diamond), plus $0.17 to $1.30 per 1,000 for its channel date filter | $1.00 to $3.00 | $4.00 | ✓ | ✗ | ✓ |
| Flat price YouTube Actor (~30,000 users) | $0.50 on every paid plan | $0.50 | Demo mode only (its listing: 5 runs a month, up to 10 results each) | ✓ (likes) | ✓ | Up to 5 per run (its listing's terms) |
| Cheapest per result YouTube search Actor (~3,000 users) | $0.25 on paid plans, $2.50 on Free, plus $0.01 start fee per run | $0.35 (10 runs: $0.25 + 10 × $0.01) | $2.60 (10 runs: 1,000 × $0.0025 + 10 × $0.01) | Partly (deeper detail levels) | ✓ | ✗ (one search term per run) |
| This Actor | $0.35 on every plan, no start fee, plus platform usage | $0.35 + usage | $0.35 + usage | ✗ (search page fields only) | ✓ (plus city, device) | ✓ |
Prices are the event fees from public Apify Store listings, checked September 2026. The Store data does not show whether the alternatives bill Apify platform usage on top, so the table compares event fees only. For this Actor, Apify platform usage is billed separately by Apify (at the default 256 MB a small run typically uses about $0.001 to $0.005), shown as "+ usage".
Where others are cheaper or do more:
- The cheapest per result Actor is cheaper on paid plans when each run has one keyword with more than 100 results. For example, 1 keyword × 700 results costs $0.185 there and $0.245 here. With 100 results per keyword the event fees are the same ($0.35 for the typical job); with fewer (for example 10 keywords × 20 results: $0.15 there, $0.07 here) this Actor is cheaper. On the Free plan the typical job costs $0.35 plus platform usage here, against $4.00 and $2.60.
- The all in one and flat price Actors return like counts and more video details in the same row. This Actor does not open video pages, so it returns only the search page fields and costs less than those two for the typical job ($0.35 plus platform usage, against $0.50 to $4.00).
What is it used for?
- YouTube SEO and rank tracking: see where your videos and competitors' videos rank for your keywords in each country, and schedule the Actor to track changes over time.
- Content research: find which topics, formats (Shorts or long videos) and lengths win for a keyword, and how many views they get.
- Influencer and channel discovery: collect channels and creators that show up for niche searches.
- Ad intelligence: see which sponsored videos appear for your keywords.
- Market and trend monitoring: track new uploads for a topic with the "Upload date" filter.
- Datasets for analytics and AI: build clean, structured datasets of YouTube search results.
What is not included?
| Not included | Why | Use instead |
|---|---|---|
| Like counts, comment counts, subscriber counts, tags, full descriptions | They are on the video or channel page, not on the search page | You need a separate YouTube video or channel details Actor; we do not offer one |
| Comments and replies | Separate page per video | YouTube Comments Scraper |
| Subtitles and transcripts | Separate data per video | YouTube Transcript Scraper |
| Google web results for the same keyword | Different search engine | Google SERP Scraper |
| Google search volume of a keyword | Not shown on YouTube search pages | Keyword Research Tool |
| Video downloads, a channel's full upload list | Outside search results | Not covered |
What are the limits?
- At most 700 results per search (200 with Instant processing), in YouTube's order. At least 10 results are requested per search.
publishedAtis an estimate based on YouTube's relative date text.- Some sort options, such as rating, are sometimes ignored or reinterpreted by YouTube.
- The fields depend on what YouTube shows. For example, channels have no view count, and live streams have no duration.
- Like counts, comments, subscriber counts and transcripts are not included (see Not included).
- Compare with last run compares runs with the same search settings; changing the search term, filters, country or city, language or device starts a new history for that search.
Questions about YouTube Search Scraper
Is there a limit on the Apify Free plan?
Yes: up to $0.25 of this Actor's results per calendar month, enough to try it. Apify pays developers nothing for Free plan usage while our data costs are real, so this keeps the Actor sustainable. Runs that reach the allowance stop cleanly and keep everything collected so far; the allowance resets on the 1st of the month. Any paid Apify plan has no limit.
Is it legal to scrape YouTube search results?
This Actor collects only publicly visible search results. It does not collect private data or log into any account, and you don't need a YouTube API key, a login or a proxy. You are responsible for using the data in line with applicable laws, such as GDPR, and YouTube's terms. If you are unsure, ask a lawyer.
Is Apify platform usage included?
No. Apify platform usage (compute) is billed separately by Apify, on top of the event fees. At the default 256 MB memory a small run typically uses about $0.001 to $0.005; long runs with many keywords use more. Each run's usage is shown in Apify Console.
How fresh is the data?
Every search is run live when you start the Actor, so you get the results YouTube shows at that moment.
Why did I get fewer results than I asked for?
YouTube sometimes shows fewer results for niche searches or narrow filters. Results you exclude with "Result types to keep" also count towards the limit. You are charged for the rows delivered, plus the page minimum for pages that delivered fewer than 8 results. The run summary (RUN_SUMMARY in the key value store) lists every search with a problem.
Why was I charged page-checked?
A page of 20 results was fetched for one of your searches but delivered fewer than 8 results, YouTube had few or no results, the search returned no data, or "Result types to keep" dropped the rest. Each such page costs $0.0028; every 8 delivered results of the search cover one page. RUN_SUMMARY shows pagesChecked. To get many results of one type without the fee, use the Result type search filter instead of "Result types to keep".
How do I get only Shorts or only channels?
For channels or playlists, set "Result type" to that type, and YouTube fills every page with it. For Shorts, keep only short in "Result types to keep". Shorts are mixed into normal results, so you may get fewer of them.
Can I get full video details, comments or transcripts?
This Actor returns what the YouTube search page shows. It does not collect like counts, comments or transcripts. For those, feed the url or videoId fields into our YouTube Comments Scraper or YouTube Transcript Scraper.
How do I control my spending?
Set Maximum cost per run in the run options. The Actor works out how many results that limit pays for before it starts, requests only those, and stops delivering once the limit is reached. You are never charged beyond it.
Can I schedule it to monitor rankings or get only new videos?
Yes. Turn on Compare with last run and schedule the Actor (for example daily). Every row gets positionChange, previousPosition and isNew; keep rows with isNew = true to get only the videos that are new since the last run. See Monitoring. The stable id also lets you join runs in your own database.
Does it collect personal data?
It collects only what anyone can see on a public YouTube search page: video titles, public channel names, channel IDs and channel links. It does not collect viewer data, email addresses, comments or anything behind a login. If you store or process channel names, make sure your use complies with GDPR and similar laws.
How do I get help or request a feature?
Open an issue on the Actor's Issues tab in the Apify Console. We read every issue and fix reported problems quickly.
Run YouTube Search Scraper on Apify
The form opens with a working example. Free Apify accounts get a small monthly allowance.