YouTube's public API is generous but quota-limited and increasingly restrictive about what data points you can pull (no transcripts at scale, no historical view counts). For agencies tracking creators, brands monitoring competitors, or research teams building training datasets, the API caps out fast.
Kavex's YouTube scraper works against public HTML pages — no API key, no quota. Per video: 2 credits. Per channel: 5 credits including the most recent 10 videos.
What you get per video
Each video URL returns 17 structured fields pulled from ytInitialPlayerResponse — the same JSON YouTube's own player reads.
- Title, channel name, channel ID, channel URL
- View count (live), length in seconds, publish date (ISO + relative)
- Description (up to 4,000 chars), keywords, category
- Like count when visible
- Thumbnail URL
- Live broadcast flag, family-safe flag
Channel scrape — channel info + recent uploads
Channel URLs or @handles return one row of channel metadata plus the most recent N video rows (default 10, max 50). Useful for tracking when a creator last posted, what their average upload cadence is, and which uploads went viral.
Influencer-marketing workflow
Combine YouTube + Email Finder for outbound to creators:
- Scrape a topic (e.g. "AI SaaS reviews") on YouTube search
- For each channel: pull subscriber count, recent video performance
- Filter for channels with 10k-200k subs (sweet spot for sponsorship ROI)
- Extract email from "About" section description or the channel's linked website
- Cold-email with a sponsorship pitch
Every number on this page comes from that run, not from a price list.
Questions people ask
Does this break YouTube's ToS?
YouTube's ToS prohibits using automated means to access "the service" — but the public HTML pages we scrape are the same surface a manual visitor sees. For non-personal data extraction (creator metadata, public video stats) the legal situation is grey but well-established in case law (hiQ v LinkedIn precedent).
Can I get video transcripts?
Yes for videos with auto-captions or creator-uploaded captions. We use the timedtext endpoint that powers the player's subtitle track. Per transcript: 5 credits.
How fast is it?
About 2-3 seconds per video, 3-5 seconds per channel. No rate limits we've hit.