Youtube Metadata Scraper
Pricing
$19.99/month + usage
Youtube Metadata Scraper
π₯ YouTube Metadata Scraper (youtube-metadata-scraper) pulls video & channel data: titles, descriptions, tags, thumbnails, duration, views, likes, upload dates, and channel stats. π Ideal for SEO, content research, and competitor analysis. β‘ Fast, reliable, API-friendly.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScrapAPI
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Share
Youtube Metadata Scraper
The Youtube Metadata Scraper is a fast, reliable YouTube data scraper that collects rich, structured metadata from public video pages β including titles, descriptions, tags, thumbnails, durations, views, likes, comment counts, and channel stats β plus optional transcripts and comments. It solves the challenge of extracting analysis-ready video intelligence at scale, making it ideal for marketers, developers, data analysts, and researchers who want to scrape YouTube metadata without API quotas. Use it as a youtube metadata extractor and youtube search results scraper to power SEO audits, content research, and competitor tracking β all in bulk and automation-friendly. π
What data / output can you get?
Below are examples of the structured fields the actor saves to the Apify dataset when processing each video. All field names come directly from the actorβs output.
| Data type | Description | Example value |
|---|---|---|
| id | YouTube video ID | dQw4w9WgXcQ |
| url | Canonical video URL | https://www.youtube.com/watch?v=dQw4w9WgXcQ |
| title | Video title | Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster) |
| description | Short description from the player data | The official video for βNever Gonna Give You Upβ by Rick Astley... |
| lengthInSeconds | Video length in seconds | 213 |
| uploadDatetime | Publish or upload date/time (ISO-like) | 2009-10-24T23:57:33-07:00 |
| publish_date_since | Relative publish date extracted from the page | 16 years ago |
| category | YouTube category | Music |
| tags | Array of video keywords | ["rick astley", "Never Gonna Give You Up", "rick roll"] |
| thumbnail | Default thumbnail URL | https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg |
| thumbnails_urls | All available thumbnail URLs | ["https://i.ytimg.com/vi/.../hqdefault.jpg", "..."] |
| channelID | Channel ID of the uploader | UCuAXFkgsw1L7xaCfnd5JJOw |
| channelURL | Channel URL | https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw |
| channelUsername | Channel handle (derived) | rickastley |
| channelDisplayName | Channel display name | Rick Astley |
| channelSubscribers | Parsed subscriber count text | 4.44M |
| author_avatar_url | Channel avatar URL (best available) | https://yt3.ggpht.com/...=s176-... |
| is_verified | Channel badge verification flag | true |
| viewCount | View count (integer) | 1726805028 |
| likeCount | Like count (parsed from UI) | 18702878 |
| commentCount | Comment count (parsed from UI) | 2400000 |
| is_live_now | Whether the video is currently live | false |
| description_links | Unwrapped links found in description | ["https://linktr.ee/rickastleynever", "..."] |
| is_comments_off | Whether comments are disabled | false |
| is_members_only | Whether the video is members-only | false |
| is_paid_content | Whether the video is marked as paid content | false |
| transcripts | Transcript objects (language + content) | [{"language":"EN","content":"We're no strangers to love..."}] |
| comments | Top-level comments with basic metadata | [{"id":"Ugz...","text":"can confirm: he never gave us up","likeCount":153000,...}] |
Notes:
- Bonus arrays include thumbnails_urls, transcripts, description_links, and comments for deeper analysis (great for a youtube thumbnails extractor or youtube tags extractor use case).
- On Apify, you can download results in JSON, CSV, or Excel to integrate with your pipeline or BI tools.
Key features
-
β‘ Resilient proxy fallback & retries
The actor automatically escalates from no proxy to datacenter and then RESIDENTIAL proxy groups when needed, handling HTTP 403/429/503 and timeouts with structured retries for reliable scraping at scale. -
π Keyword search + sorting
Works as a lightweight youtube search results scraper: provide keywords and choose sort_order (relevance, upload_date, view_count, rating) to discover and expand target video lists automatically. -
π Transcripts in text or timestamps
Optional transcripts via yt-dlp with support for transcript_format ("text" or "timestamps"), include_english_auto, and include_non_english β perfect for a youtube SEO metadata analyzer or content mining. -
π¬ Comment collection with limits
Collect top-level comments with max_comments control. The actor parses comment text, like counts, reply counts, authors, and published times from the YouTube response. -
π Rich video & channel stats
Extracts viewCount, likeCount, commentCount, channelSubscribers, is_verified, and more β ideal for a youtube video metadata scraper or youtube channel metadata scraper workflow. -
π§° Developer-friendly, scalable design
Built on Apifyβs Python SDK with concurrency, batched processing, and dataset outputs. Easy to automate, integrate, and run as a bulk youtube metadata downloader. -
π Export-ready on Apify
Results are saved to the Apify dataset so you can download youtube metadata JSON, CSV, or Excel for reporting, enrichment, or downstream ML tasks.
How to use Youtube Metadata Scraper - step by step
-
π Sign up or log in to Apify
Access the actor from your Apify account. -
π Add inputs
- Paste video URLs or IDs into urls (e.g., https://www.youtube.com/watch?v=dQw4w9WgXcQ).
- Or enter keywords in keywords to discover videos by search.
-
βοΈ Configure search behavior (optional)
- Set sort_order to relevance, upload_date, view_count, or rating.
- Control max_results_per_keyword (1β100) to expand discovery.
-
π£οΈ Configure transcripts and comments (optional)
- Toggle include_transcripts (true/false) and choose transcript_format ("text" or "timestamps").
- Enable include_english_auto and/or include_non_english captions.
- Set max_comments to collect only as many top-level comments as you need.
-
π Set proxy options (optional)
- Leave proxyConfiguration default to start without a proxy; the actor manages fallback escalation automatically if needed.
-
βΆοΈ Run the actor
The scraper resolves video IDs from URLs and/or keyword searches, processes videos concurrently, and pushes each result to the dataset as it completes. -
πΎ Download your data
Export dataset results in JSON, CSV, or Excel from the Apify platform for analysis, dashboards, or ingestion into your systems.
Pro Tip: Combine keyword discovery with transcript extraction to build a content research corpus, then programmatically download youtube metadata JSON for NLP and trend analysis β a clean path to a youtube metadata scraper Python workflow.
Use cases
| Use case name | Description |
|---|---|
| SEO teams β video audits | Extract titles, tags, categories, and engagement metrics to benchmark against competitors and optimize metadata. |
| Content research β transcripts & comments | Pull transcripts in text/timestamps and sample comment threads to inform tone, themes, and audience sentiment. |
| Competitive analysis | Monitor channelDisplayName, channelSubscribers, viewCount, likeCount, and commentCount over time for peer sets. |
| Keyword discovery via search | Use keywords + sort_order to assemble target lists with max_results_per_keyword and analyze what ranks. |
| Reporting & dashboards | Export data for BI tools to track performance KPIs and run a youtube data scraper tool for ongoing monitoring. |
| Data science & ML | Build labeled datasets from tags, transcripts, and engagement for modeling and trend analysis. |
| Research & academia | Gather structured public metadata and text for studies without relying on official APIs. |
Why choose Youtube Metadata Scraper?
This actor delivers production-grade reliability and structured outputs for teams who need a true youtube video details scraper without brittle browser automation.
- π― Accurate, structured fields: Extracts well-defined keys like id, title, tags, viewCount, likeCount, commentCount, channelSubscribers, and more.
- π Multilingual transcripts: Optional captions with support for transcript_format, include_english_auto, and include_non_english.
- π¦ Built for scale: Concurrency, retries, and proxy escalation make it dependable for large batches and recurring runs.
- π¨βπ» Developer-ready: Dataset outputs and Python-based architecture enable easy integration into APIs and pipelines (great for a youtube metadata scraper python setup).
- π Responsible by design: Accesses only public video pages and metadata; no private or authenticated data.
- πΈ Cost-effective automation: Run bulk youtube metadata downloader workflows and export to CSV/JSON/Excel without heavy setup.
Compared to browser extensions and unstable scrapers, this YouTube data scraper focuses on consistency, resilience, and clean JSON suitable for analytics and automation.
Is it legal / ethical to use Youtube Metadata Scraper?
Yes β when done responsibly. This actor scrapes publicly available YouTube video pages and does not collect private or authenticated data.
Guidelines:
- Only use public URLs and metadata that any user can access without login.
- Follow YouTubeβs Terms of Service and your local regulations (e.g., GDPR/CCPA where applicable).
- Use the data for research, analytics, and compliant automation; avoid misuse or spam.
- For edge cases, verify policies with your legal team.
Input parameters & output format
Example JSON input:
{"urls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"keywords": ["80s music"],"sort_order": "relevance","max_results_per_keyword": 10,"max_comments": 20,"include_transcripts": true,"transcript_format": "text","include_english_auto": false,"include_non_english": false,"proxyConfiguration": {"useApifyProxy": false}}
All input fields:
-
urls (array of string)
Description: Provide YouTube video URLs or IDs. You can mix URLs and plain keywords; each entry is one target. Default: none. Required: No. -
keywords (array of string)
Description: Search YouTube by keyword(s). Results can be sorted and paged. Default: none. Required: No. -
sort_order (string; one of: "relevance", "upload_date", "view_count", "rating")
Description: Sort keyword search results: relevance, upload date, view count, or rating. Default: "relevance". Required: No. -
max_results_per_keyword (integer; 1β100)
Description: Maximum number of videos to fetch per keyword (with paging). Default: 20. Required: No. -
max_comments (integer; 0β5000)
Description: Maximum number of top-level comments to retrieve per video. Default: 20. Required: No. -
include_transcripts (boolean)
Description: Toggle to download closed captions and transcripts when available. Default: true. Required: No. -
transcript_format (string; one of: "text", "timestamps")
Description: Choose whether transcripts are returned as plain text or with timestamps. Default: "text". Required: No. -
include_english_auto (boolean)
Description: Enable to include YouTube's auto-generated English captions. Default: false. Required: No. -
include_non_english (boolean)
Description: Enable to include transcripts in non-English languages. Default: false. Required: No. -
proxyConfiguration (object)
Description: Configure Apify proxies. Leave as default to start without a proxy and allow automatic fallback management. Default: {"useApifyProxy": false}. Required: No.
Notes:
- Provide at least one URL or keyword. If both are empty, the run will error with βProvide at least one URL or keyword.β
- transcript_format must be "text" or "timestamps". max_results_per_keyword must be a positive integer.
Example JSON output:
{"id": "dQw4w9WgXcQ","url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)","description": "The official video for βNever Gonna Give You Upβ by Rick Astley...","lengthInSeconds": 213,"uploadDatetime": "2009-10-24T23:57:33-07:00","publish_date_since": "16 years ago","category": "Music","tags": ["rick astley","Never Gonna Give You Up","rick roll"],"thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg","thumbnails_urls": ["https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg"],"channelID": "UCuAXFkgsw1L7xaCfnd5JJOw","channelURL": "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw","channelUsername": "rickastley","channelDisplayName": "Rick Astley","channelSubscribers": "4.44M","author_avatar_url": "https://yt3.ggpht.com/....=s176-...","is_verified": true,"viewCount": 1726805028,"likeCount": 18702878,"commentCount": 2400000,"is_live_now": false,"description_links": ["https://linktr.ee/rickastleynever"],"is_comments_off": false,"is_members_only": false,"is_paid_content": false,"transcripts": [{"language": "EN","content": "We're no strangers to love ... Never gonna give you up ..."}],"comments": [{"id": "Ugzge340dBgB75hWBm54AaABAg","text": "can confirm: he never gave us up","author": "@YouTube","authorChannelId": "UCBR8-60-B28hp2BmDPdntcQ","likeCount": 153000,"publishedTime": "8 months ago","replyCount": 960}]}
Field behavior notes:
- likeCount and commentCount are parsed from the page and may be zero if not present.
- transcripts and comments are optional arrays that may be empty depending on availability and your max_comments and transcript settings.
- channelSubscribers can be a compact string like "4.44M". Some channels may return "Unknown" when not available.
FAQ
Is there a free tier for this YouTube data scraper?
Yes. You can start on Apifyβs free plan to test the actor for small runs and then upgrade for larger workloads as you scale your youtube data scraper tool usage.
Can I scrape YouTube metadata without API credentials?
Yes. This Youtube Metadata Scraper collects public page data without requiring official API keys, which makes it an effective way to scrape YouTube metadata without API limits.
Does it support Python or API integration?
Yes. The actor runs on Apify and outputs to datasets you can fetch via HTTP API. It also fits neatly into a youtube metadata scraper python workflow or custom automation pipeline.
Can it extract video tags and thumbnails?
Yes. The output includes tags and both a primary thumbnail and thumbnails_urls, making it a capable youtube tags extractor and youtube thumbnails extractor.
How many results can I get from a keyword search?
You control max_results_per_keyword (1β100) and can use sort_order to fine-tune discovery. For each keyword, the actor resolves video IDs and processes them with concurrency.
Can I collect transcripts in different formats and languages?
Yes. Set include_transcripts to true and choose transcript_format as "text" or "timestamps". You can also include_english_auto and/or include_non_english captions if available.
Does it scrape channels or playlists directly?
This actor focuses on video-level extraction from URLs and keyword search results. It does not crawl entire playlists or channels end-to-end but returns channel fields associated with each video.
Is it legal to use this YouTube metadata extractor?
Yes β when you access public data responsibly and follow YouTubeβs Terms of Service and applicable regulations. The actor does not access private or authenticated information.
Final thoughts
The Youtube Metadata Scraper is built for teams who need structured, export-ready YouTube intelligence for SEO, research, and analytics β fast. With robust proxy fallback, keyword discovery, transcripts in multiple formats, and comment extraction, it functions as a dependable youtube video metadata scraper for marketers, developers, analysts, and researchers alike. Export youtube metadata JSON or CSV from Apify and integrate it into your API or Python pipelines to automate insights at scale. Start extracting smarter video data today and power your next strategy with clean, consistent YouTube metadata.