YouTube Scraper - Cheapest Pay-Per-Result avatar

YouTube Scraper - Cheapest Pay-Per-Result

Pricing

from $1.70 / 1,000 videos

Go to Apify Store
YouTube Scraper - Cheapest Pay-Per-Result

YouTube Scraper - Cheapest Pay-Per-Result

Scrape YouTube search results, videos, channels, playlists, subtitles and AI transcripts. Same data as the leading YouTube scrapers, priced lower per result.

Pricing

from $1.70 / 1,000 videos

Rating

0.0

(0)

Developer

Prince Jain

Prince Jain

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

YouTube Scraper

Scrape YouTube search results, videos, channels, playlists, subtitles and AI transcripts. Pay-per-result pricing set below the big scrapers, same fields.

What it does

  • Search terms: type keywords like you would in the YouTube search bar. Get videos, shorts and streams back with view counts, dates, channels.
  • Direct URLs: paste a video, channel, playlist, or a /results?search_query= link.
  • Full video details: title, description, view count, likes, comments count, subscriber count, duration, thumbnails, upload date.
  • Channel info: description, links, subscriber count, total views, total videos, country, join date. Every video item carries the channel fields.
  • Subtitles: download YouTube's own subtitles or auto-generated ones, in SRT, WebVTT, XML or plain text.
  • AI transcript: videos without subtitles get transcribed by Whisper. The transcript lands in the key-value store, linked from each item via transcriptionUrl.
  • AI summary and description: optional add-ons that write a short summary and a time-segmented description into the item.
  • Filters: sort by relevance, rating, upload date or views. Filter by upload date (hour, day, week, month, year), type, length, and features like HD, 4K, live, subtitles/CC.
  • Channel date range: only keep videos published after a date, absolute (2025-01-01) or relative (3 days).

Input

Either paste direct URLs or type search terms.

{
"searchQueries": ["web scraping tutorials"],
"maxResults": 20,
"maxResultsShorts": 10,
"maxResultStreams": 0,
"transcriptionAndSubtitle": "ALWAYS_SUBTITLES",
"subtitlesLanguage": "en",
"subtitlesFormat": "srt",
"sortingOrder": "views",
"dateFilter": "month"
}
{
"startUrls": [
{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" },
{ "url": "https://www.youtube.com/@LofiGirl" },
{ "url": "https://www.youtube.com/playlist?list=PL6i60qoDQhQGaGbbg-4aSwXJvxOqO6o5e" }
],
"maxResults": 50
}

maxResults, maxResultsShorts, maxResultStreams cap how many of each type come back per search term or per channel/playlist. Set a type to 0 to skip it. Direct video URLs are always scraped.

Output

Each item:

{
"id": "CW7gfrTlr0Y",
"title": "Stromae - Santé (Live)",
"url": "https://www.youtube.com/watch?v=CW7gfrTlr0Y",
"thumbnailUrl": "https://i.ytimg.com/vi/CW7gfrTlr0Y/maxresdefault.jpg",
"viewCount": 35582192,
"date": "2021-12-21",
"likes": 512238,
"channelName": "StromaeVEVO",
"channelUrl": "https://www.youtube.com/channel/...",
"numberOfSubscribers": 6930000,
"duration": "00:03:17",
"commentsCount": 14,
"text": "...description...",
"subtitles": [{ "type": "auto_generated", "language": "en", "srt": "1\n00:00:00,320 --> ..." }],
"transcriptionUrl": "https://api.apify.com/v2/key-value-stores/.../records/transcription-...",
"aiVideoSummary": "...",
"aiVideoDescription": [{ "startSecond": 0, "endSecond": 81, "displayTime": "00:00:00 - 00:01:21", "description": "..." }],
"fromYTUrl": "https://www.youtube.com/results?search_query=..."
}

Failed inputs produce an error item instead of being dropped:

{ "url": "https://www.youtube.com/@badchannel", "input": "@badchannel", "error": "CHANNEL_DOES_NOT_EXIST", "note": "Channel does not exist" }

Pricing

You only pay for results stored. No monthly fee, no minimum spend. Transcription and AI add-ons are optional and charged per use.

Notes

  • No login, no cookies needed. Runs on YouTube's own internal API plus a hardened audio pipeline for transcripts.
  • Subtitles download goes through yt-dlp under the hood, so it stays working when YouTube changes their caption endpoints.