YouTube Search Scraper: Videos & Channel Discovery avatar

YouTube Search Scraper: Videos & Channel Discovery

Pricing

from $0.15 / 1,000 search results

Go to Apify Store
YouTube Search Scraper: Videos & Channel Discovery

YouTube Search Scraper: Videos & Channel Discovery

YouTube search scraper: search by keyword and get videos, Shorts, channels, playlists or movies with views, age, length, channel, badges and chapters, in any country and language, with YouTube's filters. Full likes, comments and channel stats as an add-on. No login, no API key.

Pricing

from $0.15 / 1,000 search results

Rating

0.0

(0)

Developer

DeepMine

DeepMine

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share

YouTube Search Scraper

YouTube search scraper: type search terms and get one row per result, in the order YouTube ranks them: videos, Shorts, channels, playlists or movies, with views, age, length, the channel (name, handle, avatar, verified badge), badges, chapters and the description snippet. Search from any country and in any language, with YouTube's own filters. Exact likes, comments, publish time, tags and channel stats are an optional add-on. No login, no YouTube API key, no browser.

#๐ŸŽฌ Video๐Ÿ“บ Channel๐Ÿ‘€ Views๐Ÿ“… Ageโฑ๏ธ Length๐Ÿ… Badges๐Ÿ”Ž Search term
1Python Full Course for BeginnersProgramming with Mosh โœ…49,356,3627 years ago06:14:07CCpython tutorial
2Python Full Course for free ๐ŸBro Code โœ…12,945,3542 years ago12:00:00Fundraiserpython tutorial
3Python for Beginners - Learn Coding with Python in 1 HourProgramming with Mosh โœ…25,645,1926 years ago01:00:06โ€“python tutorial
1$100 Colombian Street Food Challenge!!More Best Ever Food Review Show โœ…1,916,0196 days ago00:25:59New, 4Kstreet food
2New York Street Food Marathon!! From $1 to $1000!!More Best Ever Food Review Show โœ…2,962,2175 months ago01:24:344Kstreet food
3INDONESIAโ€™S STREET FOOD HEAVEN! ๐Ÿ‡ฎ๐Ÿ‡ฉ The Best Street Foods You Have to TryIce Tea Jay โœ…178,4492 weeks ago00:50:234Kstreet food

$0.20 per 1,000 results on Starter ($0.24 Free, $0.17 Scale, $0.15 Business). The prefilled run (100 results) costs about $0.02. Nothing per run. Full details add $0.10 per 1,000 results, only when you turn them on.

PlanPer 1,000 resultsWith full details
Free$0.24$0.34
Starter$0.20$0.30
Scale$0.17$0.27
Business$0.15$0.25

What you type

InputExampleWhat it does
๐Ÿ”Ž Search termspython tutorial, street food, or a link like https://www.youtube.com/results?search_query=lofi+hip+hop&sp=CAMSAhABOne YouTube search per term (a link keeps its own filters)
๐Ÿท๏ธ Result typeVideos, Shorts, Channels, Playlists, MoviesYouTube's Type filter: one type per run
๐Ÿ”ข Results per search term50 (100 when empty, up to 5,000)How deep each search goes
โž• Full detailson / off (off)Adds the watch page's or the channel's About panel's fields (below)
๐ŸŽ›๏ธ Sort by, upload date, duration, featuresPopularity, This week, Under 3 minutes, HD + SubtitlesYouTube's own search filters, with the same values as its filter dialog
๐ŸŒ Country, ๐Ÿ—ฃ๏ธ LanguageMX, esSearch as from that country in that language: YouTube returns different results (es-MX shared 5 to 7 of the first 20 with en-US in our tests)

A result that several of your terms find is saved and charged once. Ages and counts are read in YouTube's languages (Spanish hace 21 horas, German vor 5 Tagen, Japanese 14 ๆ™‚้–“ๅ‰, Korean ๊ตฌ๋…์ž 177๋งŒ๋ช…, Hindi 17.7 เคฒเคพเค–...), so every row has numbers as numbers and the text as YouTube wrote it.

What you get

Result typeFields
๐ŸŽฌ Videos, Shorts, moviesposition (rank in its search), title, type (video, shorts, stream, movie), id, url, thumbnailUrl, thumbnails, previewUrl (the moving preview YouTube plays on hover, a 6-second animated WebP), richThumbnail (its sizes), viewCount (exact), viewCountText, date (the day the age gives), dateText (the age as shown), dateEstimated, duration, durationSeconds, text (the description snippet), badges (New, 4K, CC, Free with ads...), isLiveNow, streamType (live, scheduled, ended), scheduledStartAt, isMembersOnly, chapters (title, start, startSeconds, thumbnailUrl), channelName, channelId, channelUrl, channelUsername, channelAvatarUrl, isChannelVerified, isChannelArtist; movies also movieMetadata (genre and year, actors, directors)
๐Ÿ“บ Channelsposition, title (the channel's name), id, url, thumbnailUrl (avatar), channelUsername (handle), numberOfSubscribers, subscribersText, text (description), isChannelVerified, isChannelArtist
๐Ÿ“š Playlistsposition, title, id, url, thumbnailUrl, playlistType (playlist, course, podcast...), videoCount, firstVideoId, firstVideos (the videos the search lists under it), text, channelName, channelUrl, channelUsername, isChannelVerified
๐Ÿงพ Every rowsearchQuery, input, fromYTUrl (the search with its filters), country, language, scrapedAt

โž• With full details, video, Short and movie rows also get likes (exact), commentsCount (exact), commentsTurnedOff, the exact publish time in date, the full description in text, descriptionLinks, hashtags, keywords (tags), category, originalLanguage and originalLanguageCode (the language spoken in the video), audioTracks (dubbed videos: each audio track's language, and whether it's the original or YouTube's automatic dub), location, isAgeRestricted, isUnlisted, isPaidContent ("Includes paid promotion"), isMonetized (YouTube serves ads on it to a logged-out viewer; null on Shorts), liveStartedAt, liveEndedAt, Shorts' soundTitle, musicTitle, musicArtist, collaborators, and the channel's numberOfSubscribers, channelDescription, channelDescriptionLinks, channelJoinedDate, channelCreatedAt (when the run read the channel's feed for a publish time), channelLocation, channelTotalVideos, channelTotalViews. Channel rows get the About panel: channelTotalViews, channelTotalVideos, channelJoinedDate, channelLocation, channelDescription, channelDescriptionLinks, and channelCreatedAt (the channel's creation time to the second, from its RSS feed; null when YouTube's feed doesn't answer). Playlists are always saved as the search shows them.

The dataset has five views: Search results, Video details, Full details (videos), Channels and Playlists.

Measured on 16 runs on Apify on 2026-10-17 (4,135 video rows, 200 channel rows in es-MX, 60 playlists, 150 Shorts, 40 movies, 140 rows with full details):

FieldFilled
title, id, url, thumbnailUrl, viewCount, channelName, channelId (videos)100%
date, dateText, duration (videos)100%
text (videos' snippet)100%
badges (videos)59%
chapters (videos)38%
channelUsername (videos)93%
numberOfSubscribers (channels)96%
videoCount, firstVideos (playlists)100%
channelId, viewCount (Shorts)100%
likes, commentsCount, category (full details, videos)100%
keywords (full details, videos)88%
channelJoinedDate, channelTotalViews (full details)97-100%

badges and chapters are filled where YouTube shows them; channelUsername is empty for channels without a handle; a channel can hide its subscriber count. Most Shorts searches answer as YouTube's Shorts grid, which shows only the title, views (rounded, 1.2M) and the channel's id: turn on full details for a Short's channel name, exact views, likes, comments, date, length and sound. Movies show no views or age in search.

Moving from another YouTube search Actor

Paste your saved input as it is: the fields below are read the way those Actors read them.

Their inputRead here as
api-ninja: query, maxResults, type, sortBy, duration, uploadDate, features, geo, lang, scrapeAllResults, videoDepthDetailsthe same search; standard / detailed / complete depth = full details
ninhothedev: queries, query, maxItems, maxResultsmaxItems per query, maxResults as the total across queries, in input order ({"queries": ["python tutorial", "javascript tutorial"], "maxItems": 10, "maxResults": 15} saves 10 + 5); a non-empty queries wins over query
grow_media: q, maxResults, order, videoDuration, regionCode, relevanceLanguage, useFiltersthe same search; with useFilters: false its filters are left out, as it does
grow_media: publishedAfter, publishedBeforeYouTube's after: / before: search operators, to the day (fromYTUrl shows them)
grow_media: eventTypelive: YouTube's Live filter; completed and upcoming: YouTube's search has no filter for them, so streams with that label are kept from its results (upcoming streams are rarely in a search)
grow_media: videoDefinition: high, videoLicense: creativeCommon, safeSearch: strictYouTube's HD and Creative Commons filters, Restricted Mode

Not available on YouTube's search, so searched without them (the run's notices say so): videoDefinition: standard, videoLicense: youtube, order: title / videoCount, channelType: show; safeSearch: moderate is YouTube's normal search. Search links in startUrls keep their own filters. One difference: a video that several of your search terms find is saved and charged once (under the first term), where ninhothedev saves it once per query.

Their fieldHere
videoId, video_idid
channelTitle, channelchannelName
descriptiontext
publishedTimeText, published_timedateText
publishDate, publishedAtdate
lengthText, duration_secondsduration, durationSeconds
thumbnailthumbnails (thumbnailUrl = the largest)
richThumbnailrichThumbnail (previewUrl = the largest)
views, views_textviewCount, viewCountText
rank, orderposition
querysearchQuery
channelCreatedAt, channelVideoCount, channelViewCountchannelCreatedAt (or the day in channelJoinedDate), channelTotalVideos, channelTotalViews (full details)
api-ninja/youtube-search-scrapergrow_media/youtube-search-apininhothedev/youtube-search-scraperThis Actor
Price per 1,000 results, paid plans$0.25 until 2026-10-26, then $0.50, plus $0.01 per run$0.60 / $0.50 / $0.40$0.50$0.20 / $0.17 / $0.15, no start fee
Result typesvideos, Shorts, channels, playlists, moviesvideos, channels, playlistsvideosvideos, Shorts, channels, playlists, movies
Country and languageyesyesnoyes
Likes, comments, channel statsdeeper modesyesnofull details (+$0.10 per 1,000)
Chapterskey moments in its deeper modesnonoyes, in search rows
Badges, live and upcoming streamsnot declaredlive/upcoming filternoyes

Prices are from the Apify Store on 2026-10-16.

Output

One row per result. A real video row, shortened:

{
"position": 5,
"title": "iPhone 17 After 1 Year: Why I Still Love It",
"type": "video",
"id": "S71ljmbtERg",
"url": "https://www.youtube.com/watch?v=S71ljmbtERg",
"thumbnailUrl": "https://i.ytimg.com/vi/S71ljmbtERg/hq720.jpg",
"viewCount": 71252,
"viewCountText": "71,252 views",
"date": "2026-10-03",
"dateText": "2 weeks ago",
"dateEstimated": true,
"duration": "00:11:36",
"durationSeconds": 696,
"text": "iPhone 17 1 year review, iPhone 17 review, Apple iPhone 17 camera test, iPhone 17 battery life, iPhone 17 vs iPhone 17 Pro, ...",
"badges": ["1 product", "Earns commission"],
"isLiveNow": false,
"isMembersOnly": false,
"chapters": [
{"title": "Design", "start": "00:00:00", "startSeconds": 0, "thumbnailUrl": "https://i.ytimg.com/vi/S71ljmbtERg/hqdefault_25233.jpg"},
{"title": "Display", "start": "00:01:41", "startSeconds": 101, "thumbnailUrl": "https://i.ytimg.com/vi/S71ljmbtERg/hqdefault_102866.jpg"}
],
"channelName": "Everyday Legends",
"channelId": "UCbM-fdGZyGd-NNRpYscDeHA",
"channelUrl": "https://www.youtube.com/@Everyday_Legends",
"channelUsername": "Everyday_Legends",
"isChannelVerified": false,
"searchQuery": "iphone 17 review",
"fromYTUrl": "https://www.youtube.com/results?search_query=iphone+17+review&sp=EgIQAQ%3D%3D",
"country": "US",
"language": "en",
"scrapedAt": "2026-10-17T02:18:37Z"
}

A channel search in Mexico, in Spanish:

#๐Ÿ“บ Channel๐Ÿ‘ค Handle๐Ÿ‘ฅ Subscribersโœ… Verified
1El Pan De Valdo@ElPanDeValdo234,000 (234 K suscriptores)yes
2COMO HACER PAN SV@comohacerpanSV59,000 (59 K suscriptores)no
3Mirecetadepan.com@Mirecetadepancom309,000 (309 K suscriptores)no

With full details:

๐ŸŽฌ Video๐Ÿ‘€ Viewsโค๏ธ Likes๐Ÿ’ฌ Comments๐Ÿ“… Published๐Ÿ—‚๏ธ Category๐Ÿ‘ฅ Subscribers๐Ÿ“ Country
Learn Python - Full Course for Beginners [Tutorial]49,468,3021,123,44546,0932018-07-11T18:00:42ZEducation11,900,000United States
Python Full Course for Beginners49,373,0831,273,47562,9282019-02-18T15:00:08ZEducation5,170,000United States

The run's summary (key-value store record OUTPUT) lists every search term with how many results it gave and its status, the result type, country, language and filters, and repeats skipped.

Did it help?

A short review helps others find it: https://apify.com/deepmine/youtube-search-scraper/reviews