PlainRows

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.

Try it on Apify   Actor status

Typical uses

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 perFree planStarterScaleBusiness
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

Full documentation, input options and output fields: https://apify.com/plainrows/youtube-search-scraper