YouTube Search Scraper avatar

YouTube Search Scraper

Pricing

from $1.50 / 1,000 video results

Go to Apify Store
YouTube Search Scraper

YouTube Search Scraper

Search YouTube by keyword and extract video IDs, titles, channels, view counts, durations, upload labels, and thumbnails. Apply source filters and pre-write keyword/view filters with no API key or browser required.

Pricing

from $1.50 / 1,000 video results

Rating

0.0

(0)

Developer

Nate Schnell

Nate Schnell

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

What does YouTube Search Scraper do?

YouTube Search Scraper searches public YouTube videos by keyword and returns flat discovery rows for content research, SEO audits, creator discovery, competitor monitoring, and lead-generation workflows. Each row keeps the original query, video URL, title, channel identity, views, upload label, duration, thumbnail, visible badges, and rank within the fetched results.

The actor is video-only by design. It reads the same signed-out search results a visitor sees, uses YouTube's own public source filters, and applies your keyword and minimum-view filters before writing records. No YouTube Data API key, Google login, browser session, or video download is required.

  • Video identity — videoId, canonical url, title, thumbnailUrl, and resultRank.
  • Performance signals — parsed viewCount plus the original viewCountText label.
  • Publishing and format — publishedText, durationSeconds, durationText, and visible badges.
  • Channel context — channelId, channelName, channelHandle, and channelUrl when YouTube exposes them.
  • Query context — searchQuery, matchedKeywords, sourceUrl, and scrapedAt for traceability.

Search snippets and compact view labels are source fields, not estimates from a separate analytics system. Like counts, comment counts, full descriptions, tags, transcripts, private channel analytics, and channel or playlist rows are outside this video-discovery contract.

How to use YouTube Search Scraper

  1. Open YouTube Search Scraper and click Try for free.
  2. Enter one or more keyword phrases in Search queries, such as AI tools for small business or competitor analysis.
  3. Choose a YouTube source filter, set the result and page caps, and optionally add include, exclude, or minimum-view filters.
  4. Click Run. Each query is fetched independently, so one failed query does not discard successful queries.
  5. Open the Dataset tab to download JSON, CSV, or Excel, or read the dataset through the Apify API.

How much does it cost?

YouTube Search Scraper uses pay-per-event pricing. The planned FREE-tier price is $0.0015 per emitted video result ($1.50 per 1,000 videos) plus a $0.003 actor-start event per run. The start event covers the fixed source-request cost even when filters emit zero videos. Filtered-out, duplicate, and invalid rows do not create result events. Keep maxPagesPerQuery at 1 for recurring checks and raise it only when you need deeper search coverage.

Input

searchQueries is required and accepts one or more keyword phrases. maxResultsPerQuery, maxPagesPerQuery, and maxItems bound the run. sourceFilter selects relevance, popularity, an upload window, or a duration band. Include and exclude phrases are case-insensitive and run before dataset writes.

{
"searchQueries": ["AI tools for small business", "creator analytics"],
"maxResultsPerQuery": 20,
"maxPagesPerQuery": 1,
"sourceFilter": "week",
"includeKeywords": ["AI"],
"excludeKeywords": ["shorts", "livestream replay"],
"minViews": 1000,
"maxItems": 50,
"dryRun": false
}

Output

Each output row represents one unique video that survived the configured filters. Nullable source fields remain null when a search result does not expose them.

{
"searchQuery": "apify",
"videoId": "KQIo1gNFAeM",
"url": "https://www.youtube.com/watch?v=KQIo1gNFAeM",
"title": "Apify FULL GUIDE 2025 (Scrape Literally Anything)",
"viewCount": 55422,
"viewCountText": "55,422 views",
"publishedText": "1 year ago",
"durationSeconds": 6652,
"durationText": "1:50:52",
"thumbnailUrl": "https://i.ytimg.com/vi/KQIo1gNFAeM/hq720.jpg",
"channelId": "UCbo-KbSjJDG6JWQ_MTZ_rNA",
"channelName": "Nick Saraev",
"channelHandle": "@nicksaraev",
"channelUrl": "https://www.youtube.com/@nicksaraev",
"descriptionSnippet": "A complete guide to Apify actors and datasets.",
"badges": ["4K"],
"matchedKeywords": [],
"sourceUrl": "https://www.youtube.com/results?search_query=apify&sp=EgIQAQ%3D%3D",
"resultRank": 2,
"scrapedAt": "2026-08-24T15:00:00.000Z"
}

Integrations

Trigger runs with the Apify API, schedules, or webhooks, then send the dataset to Make, n8n, Zapier, Google Sheets, Slack, or your own Python and Node.js workflow. JSON, CSV, and Excel exports are available from the Dataset tab.

FAQ

How does YouTube Search Scraper work?

It requests the public YouTube search page for each query, reads the video cards and continuation token returned in that page, and walks only the bounded number of pages you request. Source filters are sent to YouTube before pagination; local include, exclude, and minimum-view filters run before records are written.

Can I use YouTube Search Scraper as an API?

Yes. Start the Actor through the Apify API, wait for the run to finish, and read the default dataset at the URL returned in the run object.

Can I use YouTube Search Scraper in Python or Node.js?

Yes. Use apify-client to start a run and iterate over its dataset:

const run = await client.actor("YOUR_USERNAME/youtube-search-scraper").call({
searchQueries: ["AI tools for small business"],
maxResultsPerQuery: 20
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Does it need a YouTube login or API key?

No. The default input uses public signed-out search pages and page continuation requests. It does not ask for a Google account, OAuth token, YouTube Data API key, cookies, or a proxy configuration.

Does it return channels, playlists, comments, or transcripts?

No. It returns video discovery rows only. Use the channel, Shorts, or transcript actor when your workflow needs those separate data shapes.

The actor reads public search results and does not make a legal determination. You are responsible for how you use the output and for following the rules that apply to your workflow, location, and account.

Your feedback

If a search field changes, a useful filter is missing, or a query returns an unexpected row, open an issue from the Actor page with the input and a short reproduction. Feature requests for content research and creator-marketing workflows are welcome.