YouTube Search Scraper
$1/1000
results

$1/1000
results

YouTube Search Scraper runs YouTube keyword search for one or many queries and returns structured video results: videoId, title, author, channel ID, views, length, publish time, thumbnail, and URL — tagged with the originating query. Optionally bias results with an ISO country code (US, GB, IN, …) and cap volume with maxResults (default 50 per query).
The discovery entry point of the YouTube scraper suite. Lead-gen and research teams use it to find niche videos and creators; content strategists use it to audit SERP-like YouTube rankings for target keywords; data teams use it to seed pipelines that later enrich with video details, comments, or channel profiles.
Only items with a resolvable video ID are kept, so output stays video-centric and pipeline-safe. Queries run concurrently with continuation pagination. Per-query errors are isolated. Hand off videoId or channelId to sibling scrapers for enrichment.
Whether you need “machine learning tutorials” in the US or multi-keyword competitive keyword maps, this Actor delivers clean, structured YouTube search JSON.
queriescountry (e.g. US, GB, IN)maxResults per query (1–500, default 50)YouTube Search Scraper runs YouTube keyword search for one or many queries and returns structured video results: videoId, title, author, channel ID, views, length, publish time, thumbnail, and URL — tagged with the originating query. Optionally bias results with an ISO country code (US, GB, IN, …) and cap volume with maxResults (default 50 per query).
The discovery entry point of the YouTube scraper suite. Lead-gen and research teams use it to find niche videos and creators; content strategists use it to audit SERP-like YouTube rankings for target keywords; data teams use it to seed pipelines that later enrich with video details, comments, or channel profiles.
Only items with a resolvable video ID are kept, so output stays video-centric and pipeline-safe. Queries run concurrently with continuation pagination. Per-query errors are isolated. Hand off videoId or channelId to sibling scrapers for enrichment.
Whether you need “machine learning tutorials” in the US or multi-keyword competitive keyword maps, this Actor delivers clean, structured YouTube search JSON.
queriescountry (e.g. US, GB, IN)maxResults per query (1–500, default 50)query that produced itquery that produced itraw payload and error rowsraw payload and error rows| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| queries | array of string | Yes | — | Search keywords / phrases to run on YouTube. |
| country | string | No | "US" | Optional ISO country code to bias search (e.g. US, GB, IN). Invalid values are ignored. |
| maxResults | string (numeric) | No | "50" | Maximum video results per query (1–500). |
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| queries | array of string | Yes | — | Search keywords / phrases to run on YouTube. |
| country | string | No | "US" | Optional ISO country code to bias search (e.g. US, GB, IN). Invalid values are ignored. |
| maxResults | string (numeric) | No | "50" | Maximum video results per query (1–500). |
queries — Each keyword is searched independently. Duplicates are removed. Prefer specific phrases for tighter result sets.country — When a valid 2-letter code is provided, it is sent with the search request to localize rankings. Empty or invalid codes fall back to no country filter.maxResults — Stops pagination for that query once enough video hits are collected. Lower for samples; higher for broader coverage.queries — Each keyword is searched independently. Duplicates are removed. Prefer specific phrases for tighter result sets.country — When a valid 2-letter code is provided, it is sent with the search request to localize rankings. Empty or invalid codes fall back to no country filter.maxResults — Stops pagination for that query once enough video hits are collected. Lower for samples; higher for broader coverage.type: "video")type: "video")| Field | Type | Description |
|---|---|---|
| type | string | Always "video". |
| query | string | Keyword that produced this result. |
| page | number | Search pagination page index. |
| videoId | string \| null | 11-character YouTube video ID. |
| title | string \| null | Video title. |
| author | string \| null | Channel / author name. |
| channelId | string \| null | Channel ID when available. |
| views | number \| string \| null | View count. |
| length | string \| number \| null | Duration. |
| publishedTime | string \| null | Publish time. |
| description | string \| null | Truncated snippet / description when present. |
| text | string \| null | Alternate text snippet when present. |
| likeCount | number \| string \| null | Likes when exposed on search cards. |
| replyCount | number \| string \| null | Comment count when exposed. |
| thumbnail | string \| null | Thumbnail URL. |
| url | string \| null | Watch URL. |
| raw | object | Optional raw search hit. |
| Field | Type | Description |
|---|---|---|
| type | string | Always "video". |
| query | string | Keyword that produced this result. |
| page | number | Search pagination page index. |
| videoId | string \| null | 11-character YouTube video ID. |
| title | string \| null | Video title. |
| author | string \| null | Channel / author name. |
| channelId | string \| null | Channel ID when available. |
| views | number \| string \| null | View count. |
| length | string \| number \| null | Duration. |
| publishedTime | string \| null | Publish time. |
| description | string \| null | Truncated snippet / description when present. |
| text | string \| null | Alternate text snippet when present. |
| likeCount | number \| string \| null | Likes when exposed on search cards. |
| replyCount | number \| string \| null | Comment count when exposed. |
| thumbnail | string \| null | Thumbnail URL. |
| url | string \| null | Watch URL. |
| raw | object | Optional raw search hit. |
type: "error")type: "error")| Field | Type | Description |
|---|---|---|
| type | string | "error". |
| query | string | Query that failed. |
| error | string | Failure message. |
| Field | Type | Description |
|---|---|---|
| type | string | "error". |
| query | string | Query that failed. |
| error | string | Failure message. |
Search cards may omit some engagement fields; enrich with YouTube Video Scraper when needed.
Search cards may omit some engagement fields; enrich with YouTube Video Scraper when needed.
{
"type": "video",
"query": "machine learning",
"page": 1,
"videoId": "aircAruvnKk",
"title": "But what is a neural network? | Deep learning",
"author": "3Blue1Brown",
"channelId": "UCYO_jab_esuFRV4b17AJtAw",
"views": 21400000,
"length": "19:13",
"publishedTime": "6 years ago",
"thumbnail": "https://i.ytimg.com/vi/aircAruvnKk/hqdefault.jpg",
"url": "https://www.youtube.com/watch?v=aircAruvnKk"
}
{
"type": "video",
"query": "machine learning",
"page": 1,
"videoId": "aircAruvnKk",
"title": "But what is a neural network? | Deep learning",
"author": "3Blue1Brown",
"channelId": "UCYO_jab_esuFRV4b17AJtAw",
"views": 21400000,
"length": "19:13",
"publishedTime": "6 years ago",
"thumbnail": "https://i.ytimg.com/vi/aircAruvnKk/hqdefault.jpg",
"url": "https://www.youtube.com/watch?v=aircAruvnKk"
}