YouTube Search Scraper π
Pricing
from $10.00 / 1,000 results
YouTube Search Scraper π
π Scrape YouTube search results at scale. Get video titles, URLs, channels, view counts, durations and thumbnails for any query. Paginated, no login, no YouTube API key or quota.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
Scriptbase
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
YouTube Search Scraper
Scrape YouTube search results at scale. Type a query, get back ranked video results with titles, URLs, channels, view counts, durations and thumbnails β no login, no YouTube Data API key, no quota.
What it does
Runs one YouTube search and writes one dataset row per result, in the order YouTube ranked them. It pages through results until it reaches your maxItems limit or the results run out.
The query is passed through exactly as you type it, so YouTube's own search operators work: quoted phrases, -exclusions, channel: filters β anything the search box accepts.
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | yes | β | What to search for |
maxItems | integer | no | 100 | Stop after this many results |
{ "query": "prisma migrate tutorial", "maxItems": 200 }
Output
One row per result.
{"id": "dQw4w9WgXcQ","url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","title": "Prisma Migrate in 10 minutes","channel": { "id": "UC38IQsAvIsxxjztdMZQtwHA", "title": "Dev Channel", "handle": "@devchannel", "url": "https://www.youtube.com/@devchannel" },"durationSec": 612,"views": 48210,"publishedAt": "2026-03-04T00:00:00.000Z","publishedAtConfidence": "parsed","thumbnailUrl": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg"}
| Field | Type | Notes |
|---|---|---|
id | string | YouTube video id |
url | string | Canonical watch URL |
title | string | Video title |
channel | object | id, title, handle, url |
durationSec | integer | Length in seconds |
views | integer | View count at scrape time |
publishedAt | string | ISO 8601 |
publishedAtConfidence | string | exact | parsed | unknown |
thumbnailUrl | string | Thumbnail image URL |
About publishedAtConfidence
YouTube renders ages as relative text β "2 weeks ago" β rather than timestamps. When that is all a source gives us, the date is computed from it and marked parsed. exact means a real timestamp arrived. unknown means neither did, and publishedAt is absent.
Most scrapers present a computed date as if it were exact. This one tells you which it is, so you can judge whether it is precise enough for your analysis.
What it does not do
- Videos only. Channels, playlists and Shorts shelves that appear inline in YouTube's results are not returned as rows.
- No result filters. Upload date, duration and type filters are not exposed; results come back as YouTube ranked them.
- No transcripts or comments. Those are separate actors β use the video
urlfrom these rows as their input. - Rankings are personal and regional. YouTube ranks differently by country and history. Treat the order as one snapshot, not a fixed truth.
Pricing
Charged per result delivered. A run returning 200 results bills 200. Failed runs charge nothing.
Errors
| Code | Meaning |
|---|---|
BAD_REQUEST | Input missing, malformed, or not a URL this actor serves |
NOT_FOUND | The target is private, removed, or does not exist |
UNSUPPORTED_OPERATION | The URL resolved to a platform this actor does not serve |
UPSTREAM_FAILED | Every upstream source failed β retry shortly |
RATE_LIMITED | Too many requests; back off and retry |
TIMEOUT | The source took longer than the actor's budget |
UNAUTHORIZED | The actor's API credentials are invalid β contact the author |
INSUFFICIENT_CREDITS | The account behind this actor is out of credits β contact the author |
INTERNAL_ERROR | Unexpected failure |
UNAUTHORIZED and INSUFFICIENT_CREDITS are on us, not you. If you see either, the actor is misconfigured on our side.
How it works
Search runs through three independent upstream sources. If one is down or returns nothing usable, the next is tried inside the same run β no double charge, no retry on your side. Three sources is the deepest failover in this catalogue.
Results are always fetched live. Search rankings move hour to hour, so caching them would hand you a stale ranking dressed up as a current one.
FAQ
Do I need a YouTube API key? No.
Do search operators work? Yes β the query string reaches YouTube untouched.
Can I search within one channel? Use YouTube's own channel: operator in the query, or the YouTube Channel Videos Scraper for a complete upload list.
Why do I get different results than my browser? YouTube personalises by account, history and region. This runs signed-out.
Why fewer results than maxItems? The query ran out of results. That is a normal successful run.