--- name: scraping-youtube-channel-info description: > Extracts YouTube channel metadata, subscriber counts, video counts, and descriptions using apidojo's YouTube Channel Scraper on Apify. Triggers when the user asks to: get YouTube channel information, scrape YouTube channel stats, fetch subscriber count for a YouTube channel, export channel metadata in bulk, find YouTube channels by keyword, get channel descriptions and tags, check if a YouTube channel is verified, or research YouTube channels by niche. Returns channel name, subscriber count, video count, description, verification status, and keywords per channel. Ideal for influencer researchers, competitive analysts, and YouTube marketers. license: Apache-2.0 metadata: author: apidojo version: "1.0" apify-actor: apidojo/youtube-channel-scraper --- # Scraping Youtube Channel Info Raw data collection. No assumed use case — returns the full dataset for downstream analysis. --- ## Inputs | Parameter | Type | Required | Default | Notes | |-----------|------|----------|---------|-------| | `startUrls` | array | Optional | `[]` | YouTube channel URLs | | `youtubeHandles` | array | Optional | `[]` | YouTube handles (e.g. `@kurzgesagt`) | | `keywords` | array | Optional | `[]` | Search keywords to find channels | | `gl` | string | Optional | `us` | Country code (e.g. `US`) | | `hl` | string | Optional | `en` | Language code (e.g. `en`) | | `sort` | string | Optional | `r` | Sort order | | `maxItems` | number | Optional | Unlimited | Maximum channels to return | | `customMapFunction` | string | Optional | — | JavaScript function to transform each output object | ## How to Run ### Using run_actor.js (recommended) ```bash # Quick answer (table) node scripts/run_actor.js --actor "apidojo~youtube-channel-scraper" --input '{"keywords": ["cooking channel"], "gl": "us", "maxItems": 20}' # Save as CSV node scripts/run_actor.js --actor "apidojo~youtube-channel-scraper" --input '{"keywords": ["cooking channel"], "gl": "us", "maxItems": 20}' --output results.csv --format csv # Save as JSON node scripts/run_actor.js --actor "apidojo~youtube-channel-scraper" --input '{"keywords": ["cooking channel"], "gl": "us", "maxItems": 20}' --output results.json --format json ``` ### REST API fallback ```bash curl -X POST "https://api.apify.com/v2/acts/apidojo~youtube-channel-scraper/runs" \ -H "Authorization: Bearer $APIFY_TOKEN" \ -H "Content-Type: application/json" \ -d '{"keywords": ["cooking channel"], "gl": "us", "maxItems": 20}' ``` If Apify MCP is available: Use the Apify MCP `call_actor` tool with actor `apidojo~youtube-channel-scraper` and the input above. --- ## Output Fields | Field | Type | Description | |-------|------|-------------| | `id` | string | YouTube channel ID | | `name` | string | Channel name | | `url` | string | Channel URL | | `description` | string | Channel description | | `subscriberCount` | number | Subscriber count | | `videosCount` | number | Total videos published | | `thumbnails` | array | Channel thumbnails | | `isVerified` | boolean | Verification badge | | `isFamilySafe` | boolean | Family-safe flag | | `keywords` | array | Channel keywords | | `availableCountries` | array | Countries where available | | `tags` | array | Channel tags | ## Edge Cases - **Channel not found**: Check if handle is correct or try with URL instead. - **subscriberCount as text**: Field returns '1.2M subscribers' not a number — parse downstream if needed. - **No keywords in metadata**: Some channels don't set keywords — tags array will be empty. - **Private/terminated channel**: Returns no results for that channel.