YouTube Search Scraper & New-Video Monitor — No API Key
Pricing
from $1.00 / 1,000 video delivereds
YouTube Search Scraper & New-Video Monitor — No API Key
Search YouTube by keyword and bulk-export clean video rows — title, channel, views, duration, publish date & links — or monitor a niche for ONLY new uploads since the last run. 49 regions, no API key, no quota wall. Pay-per-use, first run free. A vidIQ/TubeBuddy alternative.
Pricing
from $1.00 / 1,000 video delivereds
Rating
0.0
(0)
Developer
SlothTechLabs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
YouTube research without the API quota wall or a $20/month tool. Search any keyword and bulk-export clean video rows, or schedule it and get only the videos newly uploaded in your niche since your last run. No API key, no quota, no browser. Your first run per query is a free baseline.
Search YouTube by keyword and export every result as a flat, spreadsheet-ready row — title, channel, views, duration, publish time, thumbnail, watch link and more — across 49 region/language editions. In monitor mode, every scheduled run returns only the new uploads since the last run, so the same video is never delivered (or billed) twice. The official YouTube Data API caps you at ~100 searches/day before it blocks you; vidIQ and TubeBuddy charge $10–80/month. This Actor needs no API key — no quota, no subscription.
✨ What does this Actor do?
| Feature | Details |
|---|---|
| 🔎 Keyword search → structured rows | Every result as a flat row: title, channel (+ URL & ID), views, duration, publish time, thumbnail, watch link, description snippet |
| 🔔 Monitor mode | Only videos new since the last run — built for schedules and "new in my niche" alerts. First run per query is a free baseline |
| 📦 Bulk mode | One-off export of the current search results, up to 600 videos per query |
| 🗂️ Watchlist of queries | Track many search terms in a single run — YouTube search operators supported |
| 🌍 49 regions & languages | 🇺🇸🇬🇧🇯🇵🇩🇪🇧🇷🇲🇽🇰🇷🇮🇩 and 41 more — see the full list below |
| 🔀 4 sort orders | Relevance · Upload date (newest) · View count · Rating |
| 🛡️ No false alerts | Monitor mode flags only genuinely new uploads, so you never get pinged about a video you've already seen |
| 🔑 No API key, no login, no browser | No quota to manage and no accounts to connect — just clean, structured results |
⚡ Zero-config start
Just click Start. The prefilled input runs a bulk search for web scraping and ai agents (US, 50 results each) so your first dataset has rows in seconds. When you're ready to track a niche, switch mode to monitor, set sortBy to Upload date, and add a schedule — see the 3 steps below.
💰 Why use this instead of…?
| Option | Cost | New-videos-only feed? | No quota wall? |
|---|---|---|---|
| YouTube Data API v3 | Free, but ~100 searches/day then blocked | ❌ | ❌ |
| vidIQ / TubeBuddy | $10–80/month subscription | Partial (dashboard) | ✅ |
| One-shot YouTube scrapers | Re-pay for the same videos every run | ❌ | ✅ |
| This Actor | Pay-per-use — first run per query free | ✅ (monitor mode, raw rows you own) | ✅ |
If what you need is the raw video rows — for Google Sheets, Slack alerts, BigQuery, or an AI pipeline — rather than another SaaS dashboard, this Actor delivers the same data stream at a fraction of the price.
🎯 Use cases
- 🎥 Creators & channel managers — wake up to a daily feed of every new video in your niche. Monitor mode +
sortBy = Upload dategives you only what's new since yesterday; quiet days cost almost nothing. - 📈 Marketers & trend watchers — track branded keywords, campaigns, and emerging topics across 49 regions; spot a trend the moment videos start appearing.
- 🕵️ Competitor & influencer research — harvest who is publishing on your keywords, with channel, views, and links — ready to sort and filter.
- 🔬 Researchers & analysts — bulk-export thousands of structured rows for a keyword set and analyze title, view, and timing patterns in a spreadsheet.
- 🤖 Data & AI teams — feed YouTube search data into your own pipeline keylessly, with no Data-API quota to manage and no per-seat SaaS.
- 🏢 Agencies — monitor a separate niche per client in one run; each extra query is just more rows, not another subscription.
📖 How to use — first run in 3 steps
- Click Start — the prefill (
web scraping,ai agents, US, bulk, 50 results each) is safe and completes in seconds. - Open the Dataset tab — one flat row per video. Export as CSV / JSON / Excel, or open in Google Sheets.
- Turn it into a monitor — set
modetomonitor,sortBytoUpload date, swap in your own queries, Save as Task, and add a daily Schedule. The first run per query is a free baseline; from the next run on, only genuinely new uploads arrive.
🧾 Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
queries | array of strings | ✅ | ["web scraping", "ai agents"] | YouTube search terms, one per line. Search operators supported |
mode | bulk | monitor | ✅ | bulk | bulk = export current results; monitor = only videos new since the last run |
sortBy | string | no | relevance | relevance, date (newest), views, or rating. Pair monitor with date |
region | string | no | US | One of 49 region/language editions (see the list below) |
maxResultsPerQuery | integer | no | 50 | Cap per query per run (1–600) |
maxVideoAgeDays | integer | no | 30 | Advanced, monitor only — only flag videos uploaded within this many days as new (filters out older videos that can resurface in search) |
proxyConfiguration | object | no | Apify datacenter | Uses Apify's datacenter proxy by default — no extra setup needed |
Advanced (API only): the free filters
titleContains,channelContains, andminViewsare still honored if you pass them in JSON input — they narrow delivery (and your bill) to just the videos you care about. They're hidden from the Console form to keep the first run simple.
Example input
{"queries": ["ai agents", "web scraping tutorial"],"mode": "monitor","sortBy": "date","region": "US","maxResultsPerQuery": 50,"proxyConfiguration": { "useApifyProxy": true }}
Schedule that daily and each run returns just the videos newly uploaded for those niches since the previous check.
📊 Output
One flat row per video — perfect for spreadsheets, pivots, and pipelines. No nested JSON.
| Field | Type | Description | Example |
|---|---|---|---|
title | string | Video title | "How to scrape ANY website" |
thumbnailUrl | string | Thumbnail image URL | "https://i.ytimg.com/vi/.../hq720.jpg" |
videoUrl | string | Watch link | "https://www.youtube.com/watch?v=5kcaHAuGxmY" |
channelTitle | string | Channel name | "Apify" |
channelUrl | string | Channel link | "https://www.youtube.com/@apify" |
viewCount | integer | null | View count as a number | 38861 |
duration | string | Human-readable runtime | "5:30" |
publishedTimeText | string | Relative publish time (as shown on YouTube) | "2 days ago" |
publishedAtApprox | string | null | Approximate absolute upload time | "2026-06-11T12:00:00.000Z" |
description | string | null | Description snippet | "Learn how to scrape…" |
videoId | string | YouTube video ID | "5kcaHAuGxmY" |
channelId | string | null | YouTube channel ID | "UCxxxxxxxx" |
query | string | The search term that produced this row | "web scraping tutorial" |
region | string | Region/language edition used | "US" |
sortBy | string | Sort order used | "date" |
isNew | boolean | New for this query this run (always meaningful in monitor mode) | true |
scrapedAt | string | UTC timestamp of the run (ISO 8601) | "2026-06-12T15:00:00.000Z" |
Example row (JSON)
{"title": "How to scrape ANY website","thumbnailUrl": "https://i.ytimg.com/vi/5kcaHAuGxmY/hq720.jpg","videoUrl": "https://www.youtube.com/watch?v=5kcaHAuGxmY","channelTitle": "Apify","channelUrl": "https://www.youtube.com/@apify","viewCount": 38861,"duration": "5:30","publishedTimeText": "2 days ago","publishedAtApprox": "2026-06-11T12:00:00.000Z","description": "Learn how to scrape…","videoId": "5kcaHAuGxmY","channelId": "UCxxxxxxxx","query": "web scraping tutorial","region": "US","sortBy": "date","isNew": true,"scrapedAt": "2026-06-12T15:00:00.000Z"}
Export the dataset as CSV, JSON, Excel or HTML from the run's Dataset tab, or connect Google Sheets / BigQuery via Apify integrations.
🔔 How monitor mode works
- First run per query = free baseline. You start monitoring a niche without a surprise bill — the initial batch is delivered free.
- Every later run = new only. From the second run on, you receive only the videos uploaded since your last run. Pair with
sortBy = Upload datefor a clean feed. - Quiet runs are cheap. A run that finds nothing new costs only a tiny check fee, so you can schedule it as often as you like.
🌍 Supported regions (49)
Each region sets both the country and the interface language, so you see the results that audience sees.
📅 Daily scheduling for a continuous feed
- Configure your input once (
mode: "monitor",sortBy: "date", your queries, your region) and Save as Task. - Add a Schedule — daily or hourly.
- Connect an integration — Google Sheets, Slack webhook, BigQuery, Make, n8n or Zapier — to act on each batch of new videos automatically.
💵 Pricing
Pay-per-event — no subscription. You're charged per run start, per page of results checked, and per video delivered — with the first run per query delivered free. Empty monitor checks (no new videos) cost only the run + page fees, so scheduling is cheap. Exact per-event rates are shown on the Actor's Pricing tab.
| Event | When it's charged |
|---|---|
| Actor start | Once per run |
| Search page checked | Per page of results checked |
| Video delivered | Per video row delivered — free on the first (baseline) run per query |
With Apify's free tier ($5 credit), a daily niche monitor runs for a long time before you pay anything.
💡 Pro tips
- Best monitor setup:
mode = monitor+sortBy = date. Upload-date sort surfaces the newest videos at the top, so new uploads are caught reliably. - Size the window to your niche: keep
maxResultsPerQueryabove your niche's daily upload volume so nothing is missed between runs. - New-video Slack alerts: schedule daily, attach a webhook integration — every row in a monitor run is new by definition.
- Watch many niches cheaply: add more lines to
queries; each is tracked independently with its own free baseline. - Reset a baseline: clear the Actor's saved monitor state to start a niche fresh — the next run re-baselines for free.
- Trim your bill for free: pass
titleContains,channelContains, orminViewsin JSON input (see Input note) to deliver only the videos you care about.
ℹ️ Good to know
- Coverage = YouTube search. Results, ranking, and which videos appear follow YouTube's own search for your query, sort, and region — this is a search tool, not a full-channel crawler.
- Publish time is relative. YouTube shows
"2 days ago";publishedAtApproxis an approximate absolute time that grows less precise with age (a "1 year ago" video is only ±months accurate). - Non-English regions:
viewCountandpublishedAtApproxare read for the major editions (Spanish, Portuguese, French, Italian, German, Dutch, Turkish, Indonesian, Malay, Vietnamese, Japanese, Korean, Chinese). For a few smaller editions those two fields can come back blank — the rawpublishedTimeTextand every other field are always provided. - Abbreviated view counts (e.g. "38K") are approximate when YouTube only exposes the short form.
- New-video detection works within the
maxResultsPerQuerywindow — keep the cap above your niche's upload volume and pair monitor mode withsortBy = date. - Resilient by design — if YouTube changes things behind the scenes, the Actor adapts automatically and isolates per-query errors, so one bad query never fails the whole run.
▶️ Ready?
Click Start with the prefilled input — your first rows arrive in seconds. Then set mode to monitor, sortBy to Upload date, schedule it, and never miss a new video in your niche again.
📬 Feedback & support
If you have any questions, feature requests, or encounter any issues, please open an issue on the Actor's page. We'd love to hear from you!