Request a tool
All toolsGuidesMCP serverRequest a toolPlatformsCategories
YouTube Trending Scraper icon

YouTube Trending Scraper

Scrape trending YouTube videos by topic or keyword, no login or API key. Views, titles, channels, duration, thumbnails.

59 runs on Apify $0.0004 per video ($0.4 / 1,000)
Run this in the cloudRun on Apify →

YouTube & Creator Tools

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust keywords, maxItems, notionConnector (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.0004 per video = $0.4 per 1,000

You are charged forWhenPrice
Video returnedCharged once per video returned. Failed/empty runs are not charged.$0.0004
Actor StartCharged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).$0.001

Pay-per-event pricing: you are billed per result, not per subscription — a run that returns nothing costs nothing beyond the start fee. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-04, and they are what you are actually charged.

Inputs

FieldWhat it doesType
keywordsTopics to find the most-viewed (trending) videos for.array
maxItemsMax videos to collect. Charged per video.integer
notionConnectorOptional. Deliver results to your connected Notion via Apify MCP connectors.string
notionParentIdOptional Notion database/data-source id.string

What you get

A structured dataset — each result includes fields like:

titlechannelNameviewCountTextpublishedTimeTexturl

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

Related tools in YouTube & Creator Tools

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

YouTube Channel Email Scraper iconYouTube & Creator Tools

YouTube Channel Email Scraper

Find business emails publicly listed in YouTube channel descriptions and their linked websites. Built for creator outreach and sponsorships. No login needed.

Ready to run — no setup

YouTube Scraper iconYouTube & Creator Tools

YouTube Scraper

Scrape YouTube videos by keyword or channel without the API. Get titles, views, publish dates, watch URLs and channel data. No key or cookies needed.

18 use cases

YouTube Channel Monitor — New Upload Tracker iconYouTube & Creator Tools

YouTube Channel Monitor — New Upload Tracker

Watch any YouTube channels and get only their new uploads as structured data — title, URL, views, duration, Shorts flag. Works as an upload trigger.

17 use cases

YouTube Video & Audio Downloader iconYouTube & Creator Tools

YouTube Video & Audio Downloader

Download YouTube videos as MP4 or extract MP3 audio at your chosen quality, with metadata and optional SRT subtitles. Paste a URL and run.

16 use cases

YouTube Video Uploader iconYouTube & Creator Tools

YouTube Video Uploader

Upload videos to your YouTube channel from a URL with no code: set title, tags, privacy, thumbnail, and schedule an auto-publish time via OAuth.

2 use cases

AI Viral Clip Cutter — Long Video to Shorts iconYouTube & Creator Tools

AI Viral Clip Cutter — Long Video to Shorts

Turn a long podcast, interview, or webinar into ranked short clips with AI-scored moments and word-synced captions for TikTok, Reels, and Shorts.

3 use cases

See all YouTube & Creator Tools →

⚡ YouTube Trending Scraper — Top Videos by Topic (No Login, No API Key)

Find the most-viewed (viral) YouTube videos for any topic — without a key, a login, or a cookie. Give it a list of topics or keywords and get back the top-performing videos for each: title, view count, channel, published time, duration and full-resolution thumbnail. Export to JSON, CSV or Excel, call it from the API, or have results delivered straight to Notion. Billed per video returned — an empty or failed run costs only the $0.001 start fee.

> No OAuth. No Data API quota to manage. No browser to babysit. Paste a topic and run.

Why this scraper wins

  • 💰 The cheapest YouTube trending scraper on the market — $0.40 per 1,000 videos, and you only pay for videos you actually receive.
  • 🔓 Truly keyless — it talks to YouTube's own public JSON endpoints. You never supply a Google account, API key, or cookies, and there is no daily quota to budget.
  • 📈 Sorted by views — results come back ranked by view count, so the first rows are the actual trending/viral videos for each topic (YouTube retired the old standalone Trending feed; this is the reliable keyless replacement).
  • 🎯 Any niche, not just YouTube's editorial picks — the retired Trending tab only ever showed one national list. Here you decide the topic: ai agents, padel, home espresso, sneaker unboxing.
  • 🧹 Clean, flat output — one tidy record per video, ready for spreadsheets, dashboards or LLM pipelines. No nested API soup to flatten yourself.
  • 🔁 Auto-dedupe — the same video is never returned (or charged) twice in a run, even when two of your topics overlap.
  • 📬 Built-in delivery — optionally push every run straight into Notion via Apify connectors, no extra code.
  • 🚦 Honest errors — if a topic is blocked or returns nothing, you get a clear diagnostic row (NO_RESULTS, NETWORK, RATE_LIMITED, …) instead of silent emptiness. Diagnostic rows are never charged.
  • 🪶 Light and fast — no headless browser, so runs finish in seconds and 1024 MB of memory is plenty.

What you can collect

ModeInputNotes
Top videos by topicone or more keywords✅ Fully keyless, sorted by view count
Multi-topic batchseveral keywords in one run✅ Each topic crawled independently, results merged + deduped

Typical uses:

  • Content research — see what is actually pulling views in your niche this week before you script the next video.
  • Trend monitoring — schedule a daily run on 5–10 topics and diff the results to catch a video breaking out.
  • Creator discovery — the channelName + channelId on every row give you a ranked list of who owns a topic.
  • Ad and thumbnail researchthumbnail returns the largest available image, good enough for a side-by-side board.
  • Dataset building — feed titles and view counts into an LLM or a notebook to model what a winning title looks like.

Input

FieldTypeDescription
keywordsarray of stringsTopics/keywords to find the most-viewed videos for (e.g. music, gaming, ai). Required.
maxItemsintegerCap on total videos collected across all topics (1–2000, default 50). You pay per video, so this is also your budget cap.
proxyConfigurationobjectProxy settings. Rotating datacenter addresses are the default and work fine for YouTube. You may supply your own proxy URLs instead.
notionConnectorstringOptional. Connector ID to deliver results to your connected Notion.
notionParentIdstringOptional. Notion database / data-source ID to write into.

Input field names follow the conventions used across similar Actors on the store, so switching over is usually a drop-in change — keywords and maxItems are exactly what you would expect them to be.

Example input

{
  "keywords": ["ai agents", "home espresso", "padel"],
  "maxItems": 150,
  "proxyConfiguration": { "useApifyProxy": true }
}

That run visits each of the three topics in turn, collects the highest-view videos for each, and stops as soon as 150 unique videos have been delivered across all of them.

Output (one record per video)

{
  "ok": true,
  "videoId": "dQw4w9WgXcQ",
  "title": "Top Music Video of the Week",
  "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "channelName": "Example Channel",
  "channelId": "UCabc123XYZ",
  "viewCountText": "128,452,901 views",
  "publishedTimeText": "3 weeks ago",
  "lengthText": "4:21",
  "thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg",
  "mode": "trending"
}
FieldMeaning
oktrue on a real video row, false on a diagnostic row
videoIdYouTube's 11-character video id
titleVideo title as displayed
urlCanonical watch URL, built from videoId
channelNameUploading channel's display name
channelIdChannel id (UC…) when YouTube exposes it in the result; may be empty
viewCountTextView count as text, exactly as YouTube renders it
publishedTimeTextRelative publish time as text ("3 weeks ago")
lengthTextDuration as text ("4:21"); empty for live streams
thumbnailLargest thumbnail URL available for the video
modeAlways "trending" for this Actor

If a topic fails or returns nothing, you get a diagnostic row instead:

{
  "ok": false,
  "errorCode": "NO_RESULTS",
  "error": "The request succeeded but returned no results for this input.",
  "keyword": "asdkjhasdkjh"
}

Possible errorCode values: NO_RESULTS, NETWORK, RATE_LIMITED, BLOCKED, SERVER_ERROR, NOT_FOUND, BAD_INPUT. Diagnostic rows are never charged.

Calling it from the API

Every Apify Actor is also a REST endpoint. Run it synchronously and get the dataset back in one call:

curl -X POST "https://api.apify.com/v2/acts/Dami_Studio~youtube-trending-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "keywords": ["ai agents"], "maxItems": 25 }'

Or in JavaScript:

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('Dami_Studio/youtube-trending-scraper').call({
  keywords: ['ai agents', 'padel'],
  maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.filter((i) => i.ok).length, 'videos');

Results are also downloadable as JSON, CSV, XLSX, XML or RSS straight from the run's dataset page.

Pricing

$0.40 per 1,000 videos ($0.0004 per video), plus a $0.001 fee each time a run starts. This is the cheapest YouTube trending scraper on the market.

A concrete example: a run that returns 250 videos costs 250 × $0.0004 + $0.001 = $0.101.

You are only charged for videos actually returned — a failed or empty run costs just the $0.001 start fee.

Billing

Two charges apply:

1. A $0.001 run-start fee each time a run begins. 2. $0.0004 per video actually delivered to the dataset.

Sample rows, diagnostic rows, duplicates, blocked look-ups and no-result runs never incur the per-video fee — a run that returns nothing costs only the $0.001 start fee. Because duplicates are filtered before they are pushed, overlapping topics never double-charge you for the same video.

maxItems is a hard cap on the number of billable videos, so you always know the ceiling on a run before you start it.

Limitations — read these before you buy

Stated plainly, because they are cheaper to know now than to discover later:

  • View counts and publish times are text, not numbers. "128,452,901 views" and "3 weeks ago" are exactly what YouTube's frontend returns. Converting them is one line (see the FAQ), but the Actor does not guess at an absolute timestamp it was never given.
  • There is no "official Trending tab" behind this. YouTube retired that standalone feed. What you get is the most-viewed videos for the topic you asked for. That is more useful for niche research, but it is not a mirror of any editorial chart.
  • Ranking is YouTube's, not ours. Results come back in YouTube's view-sorted order for your query; the exact set can shift between runs and can differ by proxy country.
  • channelId can be empty. Some result layouts do not carry the channel's browse id. channelName is always present when a channel is attributed.
  • lengthText is empty for live streams and for some Shorts layouts.
  • No comments, subscriber counts, descriptions, transcripts or engagement metrics. This Actor returns the fields listed in the output table and nothing else. Pair it with a dedicated video-details or comments Actor if you need those.
  • Shorts may appear in results for topics where they dominate views. There is no filter to exclude them.
  • Very large maxItems values hit diminishing returns. Deep pages of a single topic drift away from "trending" and into long-tail results. Multiple focused topics beat one topic with maxItems: 2000.
  • Rate limiting is real. Heavy, high-concurrency use can draw RATE_LIMITED rows. The Actor backs off and retries automatically; if you still see them, lower the volume or supply your own proxies.
  • Non-English topics work, but results are requested with a US/English locale, so the mix you get may differ from what you would see logged in from that country. Use a proxy in the target country for a closer match.

FAQ

Do I need a Google account or YouTube Data API key? No. The Actor is fully keyless — no account, no OAuth, no quota to manage.

Why topic search instead of a "Trending" tab? YouTube retired its standalone Trending feed. Searching a topic sorted by view count is the reliable keyless way to surface the most-viewed/viral videos, and it lets you target any niche instead of one national list.

Why are view counts text ("128,452,901 views")? That's exactly what YouTube's frontend returns. Parse it with Number(row.viewCountText.replace(/\D/g, '')) if you need an integer.

How do I get newest-first instead of most-viewed? You don't — this Actor is specifically the view-sorted surface. publishedTimeText lets you filter the results afterwards.

Can I get results in Notion? Yes — supply a notionConnector (and optionally notionParentId) and every run is delivered automatically via Apify connectors. Your Notion credentials stay in Apify's connector proxy and never enter the Actor.

A topic returned an errorCode row — why? That's the Actor telling you exactly what happened (e.g. NO_RESULTS, NETWORK) instead of failing silently. Retry, rephrase the topic, or switch proxy country. You are not charged for that row.

Can I run it on a schedule? Yes — use Apify Schedules. A daily run over a fixed keyword list is the standard way to build a trend history.

Which proxy should I use? The default (rotating datacenter addresses) is fine for YouTube. You can also pass your own proxyUrls.

How much memory does it need? 1024 MB, the default. There is no browser involved, so raising it only raises your start fee.