YouTube Search Scraper: Videos, Shorts & Channels avatar

YouTube Search Scraper: Videos, Shorts & Channels

Pricing

from $0.35 / 1,000 results

Go to Apify Store
YouTube Search Scraper: Videos, Shorts & Channels

YouTube Search Scraper: Videos, Shorts & Channels

YouTube search results in YouTube's own order: videos, Shorts, channels, playlists, movies. $0.50 per 1,000 results. Each typed, with YouTube's search filters.

Pricing

from $0.35 / 1,000 results

Rating

0.0

(0)

Developer

Luzi

Luzi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Get YouTube search results for any words, in the order YouTube shows them: videos, Shorts, channels, playlists and movies in one list, each marked with its type and its place. Set the same filters as on YouTube's search page. No YouTube account, login or cookies needed.

Tested daily. Latest checks: three searches read to their end, 815 results in under 4 minutes; 180 results filtered to 4K videos from this month, by popularity, in German; and 40 of 40 for each type: Shorts, movies, channels and playlists.

What does this Actor do?

You give it searches (the words you would type in YouTube's search box) or links to YouTube search results. For each search it reads the results page after page, as you would by scrolling, and saves one row per result until it reaches your limit or the end of the results.

Each row comes with:

  • its type (video, short, channel, playlist or movie) and its place in the results (1 = the top result)
  • the id, link, title, description snippet and thumbnail, with every size of the thumbnail YouTube offers and the moving preview when there is one
  • for a video: views (exact, as a number), when it was posted ("3 days ago"), duration, badges such as "4K" or "New", whether it is live now (and how many are watching) or an upcoming premiere (and when it starts), its chapters, and the short summary YouTube shows under some results
  • the channel behind it: id, name, @ handle, link, picture, verified or official-artist mark, and the other channels of a collaboration
  • for a channel: its subscribers
  • for a playlist: its kind (playlist, mix or podcast), its video count and the first videos it lists
  • for a movie: the facts and credits the results show
  • the search it came from, the corrected search when YouTube fixed a typo, and YouTube's estimate of how many results the search has

Why use it?

  • Everything a search shows, in one list. Videos, Shorts, channels, playlists and movies come together in YouTube's order, each typed, so the dataset matches what a person sees on the results page.
  • YouTube's filters. Type, upload date, duration, sort order and the features (4K, HD, subtitles, live, Creative Commons, 360°, VR180, 3D, HDR, location, purchased), or paste a results link with the filters you already picked.
  • Another language and country. Search YouTube as it appears in another country and language (English works best; see Good to know).
  • More per row. Exact view counts, chapters, YouTube's summary of the video, collaborations, and the channel's verified mark, at no extra cost.
  • Use the data anywhere. Download as JSON, CSV or Excel, or send it to your own tools through Apify's API and integrations.

How to use it

  1. Type one or more searches into Searches (or paste YouTube search results links into Search links).
  2. Optionally, set Max results per search and the filters.
  3. Click Start. When the run ends, open the Output tab to view the results or download them.

Run it with no input to see a sample: up to 50 results each for "space documentary" and "lofi beats", charged as usual.

Input

FieldWhat it doesDefault
Searches (searchQueries)Words to search for, one search each—
Search links (startUrls)YouTube search results links; each keeps its own filters—
Max results per search (maxResultsPerSearch)Stop each search after this many results (1 to 1,000)100
Type (resultType)all, video, short, channel, playlist or movieall
Upload date (uploadDate)any, today, week, month or yearany
Duration (duration)any, under3, 3to20 or over20 (minutes)any
Sort by (sortBy)relevance or popularityrelevance
Features (features)Any of live, 4k, hd, subtitles, creative_commons, 360, vr180, 3d, hdr, location, purchasednone
Language (language)The language YouTube answers in ("en", "de", "pt-BR")en
Country (country)The country YouTube searches for ("US", "DE", "VN")US

Give at least one search or one link. Example input:

{
"searchQueries": ["space documentary", "lofi beats"],
"maxResultsPerSearch": 200,
"resultType": "video",
"uploadDate": "month",
"features": ["4k"]
}

Output

One row per result. An example, with made-up values:

{
"id": "AbCdEfGhIjK",
"result_type": "video",
"position": 1,
"url": "https://www.youtube.com/watch?v=AbCdEfGhIjK",
"title": "A video title",
"description_snippet": "The first words of the description …",
"view_count": 1677620,
"view_count_text": "1,677,620 views",
"concurrent_viewers": null,
"published_time_text": "3 months ago",
"is_live": false,
"scheduled_start_at": null,
"duration_text": "1:02:15",
"duration_seconds": 3735,
"badges": ["4K"],
"thumbnail_url": "https://i.ytimg.com/vi/AbCdEfGhIjK/hq720.jpg?…",
"thumbnails": [
{ "url": "https://i.ytimg.com/vi/AbCdEfGhIjK/hq720.jpg?…", "width": 720, "height": 404 }
],
"animated_thumbnail_url": "https://i.ytimg.com/an_webp/AbCdEfGhIjK/mqdefault_6s.webp?…",
"ai_summary": "A short summary of the video.",
"chapters": [
{
"title": "Intro",
"time_text": "0:00",
"start_seconds": 0,
"thumbnail_url": "https://i.ytimg.com/…"
}
],
"channel_id": "UC1111111111111111111111",
"channel_name": "A Channel",
"channel_handle": "@achannel",
"channel_url": "https://www.youtube.com/channel/UC1111111111111111111111",
"channel_avatar_url": "https://yt3.ggpht.com/…",
"channel_verified": true,
"channel_is_artist": false,
"collaborators": [],
"subscriber_count": null,
"subscribers_text": null,
"video_count": null,
"video_count_text": null,
"playlist_kind": null,
"playlist_updated_text": null,
"playlist_videos": [],
"movie_info": null,
"movie_credits": [],
"shelf_title": null,
"search_query": "space documentary",
"search_corrected_query": null,
"search_url": "https://www.youtube.com/results?search_query=space+documentary&hl=en&gl=US",
"search_total_estimate": 69222317
}
FieldWhat it holds
idThe video, channel or playlist id
result_typevideo, short, channel, playlist or movie
positionIts place in the search's results, 1 = the top result
urlA link to it (a /shorts/ link for a Short)
titleThe title, or the channel's name
description_snippetThe description's first words, as the results show them
view_countViews as a number (exact for videos; rounded as YouTube rounds it for Shorts)
view_count_textViews as YouTube shows them
concurrent_viewersFor a video live now: people watching
published_time_textWhen it was posted, as YouTube shows it ("3 months ago")
is_liveWhether it is live now
scheduled_start_atFor an upcoming premiere or stream: when it starts (ISO date and time)
duration_textThe duration as shown ("1:02:15")
duration_secondsThe same in seconds
badgesBadges shown on the result, such as "4K", "New" or "CC"
thumbnail_urlThe largest thumbnail shown
thumbnailsEvery size of the thumbnail shown, each with url, width and height
animated_thumbnail_urlThe moving preview, when YouTube has one
ai_summaryThe short summary YouTube shows under some results
chaptersThe video's chapters shown in the results (title, start time, thumbnail)
channel_idThe channel's id
channel_nameThe channel's name
channel_handleThe channel's @ handle
channel_urlA link to the channel
channel_avatar_urlThe channel's picture
channel_verifiedWhether the channel has the verified mark
channel_is_artistWhether it is an official artist channel
collaboratorsA collaboration's other channels (name, handle, id, link, subscribers, picture); empty otherwise
subscriber_countFor a channel: subscribers as a number (rounded as YouTube rounds it)
subscribers_textFor a channel: subscribers as shown
video_countFor a playlist: its number of videos
video_count_textThe same as shown
playlist_kindFor a playlist: playlist, mix or podcast
playlist_updated_textFor a playlist: when it was last updated, as shown
playlist_videosFor a playlist: the first videos it lists (id, title, duration)
movie_infoFor a movie: the line of facts shown (such as its year and genre)
movie_creditsFor a movie: the credit lines shown (actors, director)
shelf_titleWhen the result came in a titled group of results (such as a row of Shorts): that group's title
search_queryThe search it came from
search_corrected_queryThe search YouTube ran instead, when it corrected a typo
search_urlThe YouTube results link for the search
search_total_estimateYouTube's estimate of how many results the search has

Not included: an exact upload date (results show only "3 months ago"), likes, comment counts, full descriptions and tags. Shorts shown in a row of Shorts carry no channel.

How much does it cost?

No surcharges and no paid options; an item that fails is not charged.

You pay for what you get:

  • $0.50 per 1,000 results ($0.0005 a result). Videos, Shorts, channels, playlists and movies cost the same. Each is charged once per run.
  • No start fee, and nothing per search.

So 1,000 results cost $0.50. If you set a maximum cost for a run, the Actor stops when it reaches it and keeps every result saved so far.

How long does a run take?

About 10 seconds for the first 50 results of two searches, and about 3 to 4 minutes for three searches read to their end (815 results).

Good to know

  • A search ends where YouTube ends it. YouTube stops showing more results after a few hundred for most searches, so a search may end below your maximum.
  • A result found by two searches is saved and charged once, under the search that reached it first, so two searches can save fewer rows than their two maximums.
  • English gives the fullest rows. With another language, a video's views are still read when YouTube writes them in full ("1.677.620 Aufrufe"), but rounded counts ("1,2 Mio."), a channel's subscribers and a playlist's update date are left empty.
  • A pasted link keeps its own settings. Its filters, and its language and country when it names them, win over the fields below it.
  • Check your links first. A link that is not a YouTube search results link stops the run before anything is read, and the message names it.
  • One search that cannot be read does not stop the run. The others carry on, and the run's status lists the searches that could not be read.
  • A search with no results is not an error. It saves nothing.

More Actors from us

Use it from an AI agent or the API

One call starts a run and returns its items (Apify waits up to 300 seconds; for a longer run, start it with POST /v2/acts/…/runs and read its dataset):

POST https://api.apify.com/v2/acts/luzivanlt~youtube-search-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>

With the sample input as its JSON body:

{
"searchQueries": ["space documentary", "lofi beats"],
"maxResultsPerSearch": 50,
"resultType": "all",
"uploadDate": "any",
"duration": "any",
"sortBy": "relevance",
"language": "en",
"country": "US"
}

Its inputs, in the order of the input form:

InputWhat it takesDefault
searchQueries (Searches)Words to search YouTube for, one search per line, as you would type them in YouTube's search box, up to 200 characters each.—
startUrls (Search links)YouTube search results links (https://www.youtube.com/results?search_query=…), with any filters you picked on YouTube.—
maxResultsPerSearch (Max results per search)Stop each search after this many results, in YouTube's order.100
resultType (Type)Keep only results of this type."all"
uploadDate (Upload date)Keep only videos posted in this period: any time, today, this week, this month or this year."any"
duration (Duration)Keep only videos of this length: any, under 3 minutes, 3–20 minutes or over 20 minutes."any"
sortBy (Sort by)The order YouTube lists the results in: relevance or popularity."relevance"
features (Features)Keep only videos with every feature picked: Live, 4K, HD, Subtitles/CC, Creative Commons, 360°, VR180, 3D, HDR, Location or Purchased.—
language (Language)The language YouTube answers in, as a code such as "en", "de" or "pt-BR"."en"
country (Country)The country YouTube searches for, as a two-letter code such as "US", "DE" or "VN"."US"

Apify's MCP server, https://mcp.apify.com, lists it as luzivanlt/youtube-search-scraper. To give an AI agent this Actor as a tool, add the server to the agent's MCP config:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=luzivanlt/youtube-search-scraper"
}
}
}

The client signs in with OAuth, or add "headers": { "Authorization": "Bearer <APIFY_TOKEN>" }.

Charged per result delivered; the sample input above costs at most $0.05.

FAQ

Do I need a YouTube account or cookies? No. The Actor reads what anyone can see on YouTube's search page.

Can I get only videos, or only channels? Yes. Set Type. With all, every result is kept and typed, so you can filter the dataset later.

Can I run it from my own code, on a schedule, or with other apps? Yes. Like any Apify Actor, you can start it through the Apify API, run it on a schedule, and connect it to other apps with Apify's integrations and webhooks.

This Actor reads only what anyone can see on YouTube's search page without logging in. Check YouTube's terms and the laws that apply to you before you use the data, and only collect personal data when you have a legitimate reason to. If you are unsure, ask a lawyer.

Support

Found a problem or missing a feature? Open an issue on the Issues tab and include the run's link.


This Actor is not affiliated with, endorsed by or sponsored by YouTube or Google.