How to Scrape YouTube with Apify (No-Code)
Quick Answer
Apify's YouTube Scraper extracts video metadata, comments, channel info, and subscriber counts from YouTube. No Google API quota limits on the scraping model; you pay Apify usage instead. Export to JSON or CSV.
Start here: YouTube scrapers in the Apify Store. You need an Apify account; the free plan is enough to validate fields on small runs.
Data you can extract
| Data | Typical source Actor | Notes |
|---|---|---|
| Title, description, URL | YouTube Scraper | Core metadata for catalogs |
| Views, likes, duration, date | YouTube Scraper | Engagement and scheduling analysis |
| Channel name, URL, subscribers | YouTube Scraper / Channel Scraper | Channel Scraper when channels are the unit of work |
| Comment threads | YouTube Comments Scraper | Sentiment, support themes, moderation samples |
| Captions / transcripts | YouTube Transcript Scraper: Captions & AI Fallback (or subtitle flags on some Actors) | NLP, RAG, summarization; AI fallback when captions are unavailable |
Field names vary by Actor version, so always inspect a 10-item test dataset before building ETL.
Step-by-step: YouTube Scraper (videos + metadata)
- Open YouTube Scraper → run console.
- Provide search queries, channel URLs, playlist URLs, or video URLs (see the live input schema for the exact section names).
- Set a low max items for the first run (e.g. 10–25).
- Enable subtitles / transcripts only if this Actor build exposes them and you need text.
- Click Start, wait for SUCCEEDED, then export from Output / Storage.
Configuration options to expect
- Mode: search vs direct URLs vs channel/playlist crawl (depends on Actor).
- Max results: primary cost lever.
- Language / region: when the schema exposes filters.
- Subtitles: separate transcript Actor if the video scraper does not cover your needs.
Comments and channels
- Comments: YouTube Comments Scraper passes video URLs and exports text, authors, likes, timestamps (field set per Store listing).
- Channel-centric pulls: YouTube Channel Scraper, useful when you want channel-level exports without hand-assembling video lists.
Sample output (video metadata)
| Field | Description | Example |
|---|---|---|
| title | Video title | Build a full-stack app in 10 minutes |
| url | Watch URL | https://www.youtube.com/watch?v=abc123xyz |
| viewCount | Views | 1452830 |
| likes | Likes | 48200 |
| duration | ISO 8601 duration | PT12M34S |
| date | Upload date | 2024-02-18 |
| channelName | Channel title | Fireship |
| channelUrl | Channel URL | https://www.youtube.com/@Fireship |
| subscribers | Subscriber count (when exposed) | 3120000 |
| description | Full description text | In this video we... |
| commentsCount | Comment counter on page | 2145 |
Illustrative JSON; your Actor may add or rename fields between releases.
{
"title": "Building a Full-Stack App in 10 Minutes",
"url": "https://www.youtube.com/watch?v=abc123xyz",
"viewCount": 1452830,
"likes": 48200,
"duration": "PT12M34S",
"date": "2024-02-18",
"channelName": "Fireship",
"channelUrl": "https://www.youtube.com/@Fireship",
"subscribers": 3120000,
"description": "In this video, I build a complete full-stack application from scratch using the latest web technologies.",
"commentsCount": 2145,
"thumbnailUrl": "https://i.ytimg.com/vi/abc123xyz/maxresdefault.jpg",
"tags": ["web development", "full stack", "tutorial", "javascript"]
}
Use cases
- Content research: benchmark titles, lengths, and upload cadence in a niche.
- Competitor analysis: track public view trajectories and publishing frequency for rival channels.
- Comment sentiment: export threads for classification or manual review (public comments only).
- Transcripts for models: feed YouTube Transcript Scraper: Captions & AI Fallback output into RAG or fine-tuning pipelines. The
transcript_llmfield strips filler tokens before you ingest.
Video downloads (optional)
Some teams search for a YouTube video downloader. Apify hosts third-party download Actors such as YouTube Video Downloader (MP4 links; proxies often required). Downloading can violate YouTube’s Terms, so use it only for content you own, have licensed, or are explicitly allowed to fetch.
Scrape public data, respect robots.txt where applicable, and review YouTube’s Terms and your jurisdiction’s rules. Not legal advice; see scraping legality.
Pricing
- Open the Actor Pricing tab.
- Note per-event or rental terms.
- Multiply by expected items for a rough budget.
Pricing changes, so confirm on the Store page before scaling.
No. Apify YouTube Actors scrape public web surfaces, so you are not consuming Google’s daily API quota. You pay Apify platform and Actor usage instead.
Typically video titles, URLs, views, likes, duration, upload dates, channel names, channel URLs, subscriber counts when shown, descriptions, thumbnails, and comment counts. Exact fields depend on the Actor version, so run a small test.
Use the YouTube Comments Scraper with a list of video URLs. It returns thread text and engagement fields suitable for sentiment or support analysis.
Native captions mirror what YouTube provides: manual captions are exact; auto-generated ones can miss jargon or fast speech. When a video has no captions, use the YouTube Transcript Scraper: Captions & AI Fallback Actor with AI Fallback enabled so the built-in Whisper model transcribes the audio. Check the is_ai_generated flag on each result item and the language_probability score (0–1) to assess confidence. For quality-critical work, treat AI transcripts as a first draft.
Depends on use case, region, and whether data includes personal information. This is not legal advice; review YouTube’s Terms and our legality guide.
Each Actor lists its own pricing model (pay-per-event, rental, or hybrid). Apify’s free tier includes monthly credits for experiments; check the Pricing tab on the Actor you choose.
Some Store Actors return download links. You must have rights to the video; unauthorized downloading may violate YouTube’s Terms.
Common mistakes and fixes
Clicking Start does nothing.
Fill required inputs, ensure at least one valid URL or query, and read validation errors in the run log.
Run finishes with an empty dataset.
Use public URLs, remove overly tight filters, and test with one known-good video or channel first.
Runs are slow or flaky.
Lower concurrency and batch size; avoid mixing unrelated input types in a single huge run.





