YouTube Search Scraper
Pricing
$0.20 / 1,000 videos
YouTube Search Scraper
Scrape YouTube search results by keyword: video titles, channels, views, publish time, duration. Fast pure-fetch engine, no proxy needed.
Pricing
$0.20 / 1,000 videos
Rating
0.0
(0)
Developer
Z Michael
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
Scrape YouTube search results for any keyword and get a clean dataset of videos — title, channel, views, publish date, duration, thumbnail and URL.
Use it for keyword research, trend monitoring, content gap analysis, competitor tracking, or building video datasets for AI and RAG pipelines.
What you get
- Real search results, not estimates — reads the same result list a person sees on youtube.com
- Automatic pagination — keeps loading more until it hits your limit or YouTube runs out of results
- One row per video — 10 fields, ready for Sheets, Airtable, Postgres or pandas
- No API key, no proxy setup, no quota — nothing to configure except your keywords
Example output
{"query": "ai coding tools","videoId": "QucgvbO5gsM","title": "Free AI Tools So Good They're Making Paid Versions Obsolete","channel": "Vaibhav Sisinty","channelId": "UClXAalunTPaX1YV185DWUeg","views": "538,716 views","publishedTime": "3 months ago","duration": "18:34","thumbnail": "https://i.ytimg.com/vi/QucgvbO5gsM/hqdefault.jpg","url": "https://www.youtube.com/watch?v=QucgvbO5gsM"}
Use cases
- Keyword research — see what actually ranks for a term, with view counts as a proxy for demand
- Content gap analysis — compare your niche against what already performs
- Trend monitoring — run the same queries on a schedule and diff the results
- Competitor tracking — follow a rival's new uploads by searching their topic space
- Dataset building — collect video metadata at scale for models, dashboards or research
Input
| Field | Type | Description |
|---|---|---|
| Search queries | array | One or more keywords. Each produces its own set of results. |
| Max videos per query | integer | 1–1,000. Default 50. |
| Content language | string | Interface language, e.g. en, es, ja. Default en. |
Output fields
| Field | Example |
|---|---|
| query | ai coding tools |
| videoId | QucgvbO5gsM |
| title | Free AI Tools So Good They're Making Paid Versions Obsolete |
| channel | Vaibhav Sisinty |
| channelId | UClXAalunTPaX1YV185DWUeg |
| views | 538,716 views |
| publishedTime | 3 months ago |
| duration | 18:34 |
| thumbnail | https://i.ytimg.com/... |
| url | https://www.youtube.com/watch?v=... |
Pricing
Pay per video found: $0.0002 per video.
- 100 videos ≈ $0.02
- 1,000 videos ≈ $0.20
You are only charged for videos actually delivered. If a query returns nothing, you pay nothing.
FAQ
Do I need a YouTube Data API key? No. There is nothing to register and no quota to request. Provide keywords and run.
How many videos can I get per query? You can set a limit up to 1,000. The Actor paginates automatically and stops when it reaches your limit or YouTube stops returning results. For most keywords, that is 100–300 videos.
Can I search multiple keywords in one run?
Yes. Pass an array of queries; results are tagged with the query field so you can split them later.
Does it include Shorts? Shorts appear in search results when YouTube returns them, and are included with their normal video fields.
Can I filter by upload date or view count?
The Actor returns YouTube's default relevance ordering with publishedTime and views as text fields. Filter or sort after the run using those fields; date-range filtering inside the request is not supported.
Why do views and dates look like "538,716 views" and "3 months ago"? That is exactly how YouTube renders them. Parse to numbers if you need arithmetic.
Does it work for non-English keywords?
Yes. Set the content language field to match, e.g. de, pt, ko.
Related Actors
- YouTube Comments Scraper — pull comments and engagement for the videos you find here
- YouTube Channel Videos Scraper — list every upload from a specific channel
- YouTube Transcript Scraper — get full transcripts with timestamps
Monitor Mode (daily incremental runs)
Set Only new items = true to turn this scraper into a monitor. It remembers what was already delivered for each query/video/channel and returns only new items since the last run.
How it works:
- First run = baseline, returns everything
- Every run after = returns only the delta (new comments / newly listed videos)
- No new data = empty dataset, you are not charged (pay-per-result billing only fires on delivered items)
- Combine with Apify Schedules to run it daily or hourly
Optional Webhook URL: whenever new items are found, the actor POSTs a JSON payload — {event, source, newCount, scannedCount, sample, at} — to your endpoint (Slack webhook, n8n, Make, your own API). Nothing is sent when there is no new data; failed deliveries never fail the run.
Typical use cases: track brand mentions in new YouTube comments, alert on newly published videos matching a keyword, watch a competitor channel for fresh uploads — without re-paying for data you already have.