How to Scrape Youtube Keyword Search Results
This tutorial shows how to use Youtube Keyword Search Results API to scrape and crawl structured Youtube data in real-time.
Query YouTube's full content index by keyword through our API and retrieve ranked videos, channel results, and topic clusters to support SEO analysis and content research.
Access Youtube Data in 3 Steps
Start crawling Youtube keyword search data. Follow these steps to extract social media data in minutes.
Create Your Account
Go to our registration page and make an account. It's free, no credit card, and you get credits right away to play around with.
Verify Your Email Address
You'll get a verification email, click the link in it. Once that's done, you can grab your API token from the dashboard.
Make Your First API Call
Copy the code snippet below, swap in your API key, and run it. You'll get Youtube data back as JSON within a few seconds.
Code Sample
Here's a JavaScript example to get you going. Swap out the token and you're good, works the same way in any language that can make HTTP requests. Start collecting keyword search data via our REST API!
| 1 | const root = 'https://ensembledata.com/apis' |
| 2 | const endpoint = '/youtube/search' |
| 3 | const params = { |
| 4 | "keyword": "magic", |
| 5 | "depth": 1, |
| 6 | "start_cursor": "", |
| 7 | "period": "overall", |
| 8 | "sorting": "relevance", |
| 9 | "get_additional_info": false, |
| 10 | "token": "YOUR-TOKEN-HERE" |
| 11 | } |
| 12 | |
| 13 | const queryString = new URLSearchParams(params).toString(); |
| 14 | const url = `${root}${endpoint}?${queryString}`; |
| 15 | |
| 16 | await fetch(url) |
| 17 | .then(response => response.json()) |
| 18 | .then(data => console.log(data)) |
| 19 | .catch(error => console.error(error)); |
| 20 |
Parameters
Example Response
Explore the fields returned by this endpoint. Click a row to expand nested objects and arrays, hover a value to copy it, or use "Expand all" to see everything at once.
dataobject1 field
postsarray1 item · schema from #0 1 item
videoRendererobject21 fields
thumbnailobject1 field
thumbnailsarray2 items · schema from #0 2 items
titleobject2 fields
runsarray1 item · schema from #0 1 item
accessibilityobject1 field
accessibilityDataobject1 field
longBylineTextobject1 field
runsarray1 item · schema from #0 1 item
navigationEndpointobject3 fields
commandMetadataobject1 field
webCommandMetadataobject4 fields
browseEndpointobject2 fields
publishedTimeTextobject1 field
lengthTextobject2 fields
accessibilityobject1 field
accessibilityDataobject1 field
viewCountTextobject1 field
navigationEndpointobject3 fields
commandMetadataobject1 field
webCommandMetadataobject3 fields
watchEndpointobject3 fields
watchEndpointSupportedOnesieConfigobject1 field
html5PlaybackOnesieConfigobject1 field
commonConfigobject1 field
badgesarray1 item · schema from #0 1 item
metadataBadgeRendererobject3 fields
ownerBadgesarray1 item · schema from #0 1 item
metadataBadgeRendererobject5 fields
iconobject1 field
accessibilityDataobject1 field
ownerTextobject1 field
runsarray1 item · schema from #0 1 item
navigationEndpointobject3 fields
commandMetadataobject1 field
webCommandMetadataobject4 fields
browseEndpointobject2 fields
shortBylineTextobject1 field
runsarray1 item · schema from #0 1 item
navigationEndpointobject3 fields
commandMetadataobject1 field
webCommandMetadataobject4 fields
browseEndpointobject2 fields
shortViewCountTextobject2 fields
accessibilityobject1 field
accessibilityDataobject1 field
menuobject1 field
menuRendererobject3 fields
itemsarray1 item · schema from #0 1 item
menuServiceItemRendererobject4 fields
textobject1 field
runsarray1 item · schema from #0 1 item
iconobject1 field
serviceEndpointobject3 fields
commandMetadataobject1 field
webCommandMetadataobject1 field
signalServiceEndpointobject2 fields
actionsarray1 item · schema from #0 1 item
addToPlaylistCommandobject5 fields
onCreateListCommandobject3 fields
commandMetadataobject1 field
webCommandMetadataobject2 fields
createPlaylistServiceEndpointobject2 fields
videoIdsarray1 item · schema from #0 1 item
videoIdsarray1 item · schema from #0 1 item
accessibilityobject1 field
accessibilityDataobject1 field
channelThumbnailSupportedRenderersobject1 field
channelThumbnailWithLinkRendererobject3 fields
thumbnailobject1 field
thumbnailsarray1 item · schema from #0 1 item
navigationEndpointobject3 fields
commandMetadataobject1 field
webCommandMetadataobject4 fields
browseEndpointobject2 fields
accessibilityobject1 field
accessibilityDataobject1 field
thumbnailOverlaysarray4 items · schema from #0 4 items
thumbnailOverlayTimeStatusRendererobject2 fields
textobject2 fields
accessibilityobject1 field
accessibilityDataobject1 field
richThumbnailobject1 field
movingThumbnailRendererobject3 fields
movingThumbnailDetailsobject2 fields
thumbnailsarray1 item · schema from #0 1 item
detailedMetadataSnippetsarray1 item · schema from #0 1 item
snippetTextobject1 field
runsarray1 item · schema from #0 1 item
snippetHoverTextobject1 field
runsarray1 item · schema from #0 1 item
Response Codes
Status codes this endpoint can return, so you can handle errors before they surprise you in production.
API Pricing
Fetch Youtube Data at Scale
Scrape YouTube search results at scale and analyze which topics, formats, and creators are performing best for your target keywords.
Ranked Results
Get ranked videos and channels for any YouTube search term.
SEO Rankings
See which videos currently rank to inform your video SEO.
Topic Clusters
Surface topic clusters your target audience is searching for.