YouTube Search Scraper: Videos, Views & Channels by Keyword
Get YouTube search results for any keyword: video title, URL, views, upload date, duration, channel, badges and position. Filters for date, length, Shorts and live. Only-new-videos mode for scheduled alerts. No browser, no API key. Pay only per video found.
Typical uses
- Keyword and topic research for creators: see which videos rank for a keyword, how many views they have and how old they are.
- YouTube SEO and rank tracking: schedule the same queries daily or weekly and track the `position` of your videos and your competitors'.
- Monitoring new videos: turn on Only new videos and schedule the run to get (and pay for) each new upload about a brand, product or topic once.
- Influencer and channel discovery: find the channels that publish on a topic, with their channel ID and URL.
- Datasets for analysis and AI: titles, descriptions, durations and view counts as clean JSON for spreadsheets, BI tools or LLM pipelines.
Pricing
Pay per use, no subscription, no monthly fee. The price depends on your Apify plan. Apify's free plan includes $5 of usage every month.
| You pay per | Free plan | Starter | Scale | Business |
|---|---|---|---|---|
| Video One YouTube video from the search results, with title, URL, views, upload date, duration, channel and badges. Queries with no result, channels, playlists, repeated videos and videos removed by your filters are free. | $0.002 | $0.0015 | $0.0012 | $0.001 |
Run it from your code
Get an API token in the Apify Console (Settings → Integrations), then:
curl -X POST \
"https://api.apify.com/v2/acts/plainrows~youtube-search-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"searchQueries": [
"how to make sourdough bread"
],
"country": "US"
}'
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("plainrows/youtube-search-scraper").call(run_input={'searchQueries': ['how to make sourdough bread'], 'country': 'US'})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)
Use it in automations and AI agents
- n8n, Make, Zapier: use the official Apify integration and pick the Actor
plainrows/youtube-search-scraper. - MCP (Claude, Cursor, other AI agents):
https://mcp.apify.com?tools=plainrows/youtube-search-scraper
Full documentation, input options and output fields: https://apify.com/plainrows/youtube-search-scraper