YouTube Search Scraper avatar

YouTube Search Scraper

Pricing

Pay per usage

Go to Apify Store
YouTube Search Scraper

YouTube Search Scraper

Fast YouTube search scraper. Pass any query (or list) and extract every matching video with full metadata. Filters: upload date, duration, sort, type, features (HD/4K/CC/Live). Optional channel scoping. Direct InnerTube API, no browser. PPE pricing.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Crikit

Crikit

Maintained by Community

Actor stats

0

Bookmarked

12

Total users

5

Monthly active users

10 days ago

Last modified

Categories

Share

Scrape YouTube search results for any query or list of queries. This YouTube search scraper returns every matching video with title, description, channel name and handle, view count, duration, publish date, thumbnails, and badges — with filters for upload date, duration, result type, and features like HD, 4K, subtitles, and live.

No YouTube API key, no login, and no headless browser. Results land in a structured dataset you can export to JSON, CSV, Excel, or XML, or pull straight from the Apify API.

What is YouTube Search Scraper?

YouTube Search Scraper is an Apify Actor that extracts search results with full video metadata from YouTube and returns them as clean, structured records. It calls YouTube's InnerTube API directly, the same interface the site itself uses, so there is no browser to run, no API quota to exhaust, and no Google Cloud project to configure.

What data can this YouTube search scraper extract?

Every run writes one row per video. The full schema carries 33 fields; the most-used ones are below.

FieldTypeDescription
typestringvideo, channel, playlist, or warning (emitted when a query legitimately returned zero results).
querystringFree-text query that produced this row.
resultRankinteger1-based rank within the search results for this query (post-filter).
videoIdstring11-character YouTube video ID. Present for type=video.
urlstringCanonical https://www.youtube.com/watch?v=... URL.
titlestringTitle of the video, channel, or playlist.
titleAccessibilitystringAccessibility label, often combining title and duration.
descriptionstringShort description preview as shown on the search results page (about 150 characters). Full description requires a...
channelTitlestringDisplay name of the uploader's channel.
channelIdstringCanonical UC... channel ID of the uploader (or the channel itself for type=channel).
channelHandlestringCanonical @handle of the uploader's channel.
channelUrlstringFull URL of the uploader's channel.
channelIsVerifiedbooleanTrue if the uploader's channel carries a verified badge.
collaboratorChannelIdsarrayFor collab videos with two or more uploaders, the full list of collaborator UC... channel IDs. channelId points at...
channelBadgesarrayAll channel-level badges (Verified, Artist, etc.) as plain strings.
channelAvatararrayChannel avatar image at multiple sizes.
viewCountintegerExact integer view count. May be null for live streams and premieres.
viewCountTextstringRaw exact view count text as rendered, for example "6,806,504 views".
shortViewCountTextstringAbbreviated view count, for example "6.8M views".
publishedTimeTextstringRelative timestamp as YouTube renders it, for example "2 years ago".
publishedDateApproxstringBest-effort absolute date computed from the relative timestamp and the run time. Day-level precision at best.
lengthTextstringDuration as shown, for example "13:51". Absent for live streams.

See the Output tab in Apify Console for all 33 fields.

How to scrape YouTube search results

  1. Open YouTube Search Scraper and click Try for free.
  2. Add one or more queries to searchQueries.
  3. Filter with uploadDate, duration, type, and features.
  4. Set sortBy to control ranking, and channelId to scope results to one channel.
  5. Set maxResultsPerQuery to bound the run.
  6. Click Start and watch rows appear live in the Output tab.
  7. Export the dataset as JSON, CSV, Excel, or XML — or fetch it from the Apify API once the run finishes.

YouTube Search Scraper input options

InputTypeWhat it doesDefault
searchQueriesarrayOne or more free-text search queries. YouTube search operators work in the query itself, for example "iphone 15"...yes
maxResultsPerQueryintegerHard cap on results returned per query. YouTube itself tops out around 600 to 1000 results per query, so values...100
sortBystringResult order. "relevance" is YouTube's default ranking. "date" returns newest first, "views" returns most viewed..."relevance"
uploadDatestringRestrict to videos uploaded within this window. Ignored unless type is "video" or "any"."any"
durationstringshort = under 4 minutes, medium = 4 to 20 minutes, long = over 20 minutes. Ignored unless type is "video" or "any"."any"
typestringRestrict results to a single type. "any" lets YouTube return a mix of videos, channels, and playlists. Note:..."any"
featuresarrayRestrict to videos with one or more of these flags. Selecting any flag forces type to "video".
channelIdstringRestrict results to a single channel's uploads. Accepts a channel ID (UC...), a /channel/UC... URL, a /@handle URL,...

Proxy is configured through the standard proxyConfiguration object; the defaults shipped with this Actor are already tuned for the target site.

Example output

{
"type": "...",
"query": "...",
"resultRank": 42,
"videoId": "a1b2c3d4",
"url": "https://example.com/item/12345",
"title": "Example title",
"titleAccessibility": "Example title",
"description": "Example text ...",
"channelTitle": "Example title",
"channelId": "a1b2c3d4",
"channelHandle": "...",
"channelUrl": "https://example.com/item/12345",
"channelIsVerified": true,
"collaboratorChannelIds": [
"..."
],
"channelBadges": [
"..."
],
"channelAvatar": [
"..."
],
"viewCount": 1483,
"viewCountText": "Example text ..."
}

How much does it cost to scrape YouTube?

This Actor bills through Apify platform usage (compute units and proxy traffic) rather than a per-result fee. Runs are HTTP-based and lightweight, which keeps compute low. Every Apify account includes free monthly usage credit to trial it.

What can you build with YouTube data?

Research what ranks for a keyword

Result rank alongside view count and publish date shows what YouTube's algorithm currently rewards for a term — the foundation of any video SEO strategy.

Track competitor video performance

Run the queries your audience searches and watch which channels own those results over time.

Find creators for influencer outreach

Channel handles, subscriber counts, and verification badges let you build a shortlist filtered by real reach.

Monitor brand mentions on YouTube

Schedule searches for your brand and get alerted to new videos as they are published.

Build video datasets for research or ML

Titles, descriptions, durations, and view counts across thousands of videos form a clean corpus, with no API quota ceiling to work around.

YouTube scraping tips and limits

  • The official YouTube Data API charges quota units per call and cuts you off daily. This Actor has no such quota, which is the main reason to use it for volume work.
  • uploadDate is the cheapest filter for recurring runs — restrict to the last day and you only pay for new videos.
  • View counts on recently published videos move fast. Timestamp your rows if you are building a time series.
  • channelId scoping turns a keyword search into a within-channel search, which is useful for auditing a competitor's coverage of a topic.

Integrations and automation

Run YouTube Search Scraper on a schedule to keep a YouTube dataset fresh, or trigger it from your own stack through the Apify API and the official JavaScript and Python clients. Native integrations push results into Google Sheets, Slack, Airtable, Zapier, Make, GitHub, or any webhook endpoint. The Actor also works as an MCP tool, so an AI agent can call it directly.

ActorWhat it does
YouTube Channel ScraperChannel profile plus the complete video list.
YouTube Comments ScraperEvery comment and reply thread on any video.
Google Trends ScraperSearch demand behind the topics you are targeting.
Twitch Search & Streams ScraperThe same audience research on Twitch.

Frequently asked questions

Do I need a YouTube API key?

No. This Actor uses YouTube's internal InnerTube interface, so there is no API key, no Google Cloud project, and no daily quota to manage.

How many results can I get per query?

Set maxResultsPerQuery to whatever you need. YouTube's own search pagination eventually stops returning new results, so very deep pulls are better split across several related queries.

Do I need a YouTube API key?

No. YouTube Search Scraper reads publicly available YouTube pages and endpoints directly, so there is no key to obtain, no OAuth app to register, and no account to connect.

Can I export YouTube data to CSV, Excel, or Google Sheets?

Yes. Every run stores results in an Apify dataset that exports to JSON, JSONL, CSV, Excel, XML, or HTML with one click, and the Google Sheets integration writes rows straight into a spreadsheet.

Can I run YouTube Search Scraper on a schedule?

Yes. Apify schedules run the Actor hourly, daily, weekly, or on any cron expression, and webhooks can notify your systems the moment a run finishes.

Scraping publicly available data is broadly lawful in the US and EU, but the answer depends on what you collect and how you use it. This Actor is built to gather public video metadata YouTube publishes publicly, including channel names. Personal data carries extra obligations under GDPR and CCPA. Read Apify's guide on whether web scraping is legal and take your own legal advice for your use case.

Support and feedback

Found a bug, a missing field, or a YouTube page shape this Actor does not handle yet? Open an issue from the Issues tab on the Actor page. Feature requests and custom-scraper enquiries are welcome there too.