Extracts all videos from a YouTube playlist using apidojo's YouTube Playlist Scraper on Apify. Triggers when the user asks to: get all videos from a YouTube playlist, scrape a YouTube playlist for video data, export playlist video metadata, fetch video stats from a YouTube playlist URL, collect all videos in a YouTube channel playlist, download YouTube playlist contents, or analyze a curated list of YouTube videos. Returns video title, URL, view count, like count, duration, channel info, and description per video. Ideal for content curators, educators, and YouTube channel analysts.
Browser
scraping-youtube-videos-by-keyword
Try itScrapes YouTube videos matching any keyword or search query using apidojo's YouTube scraper on Apify. Triggers when the user asks to: get YouTube videos for a keyword, scrape YouTube search results for a topic, export YouTube video data for a query, fetch video metadata for a YouTube search term, collect YouTube videos about a subject, or download YouTube video stats by keyword. Returns video title, channel name, view count, like count, comment count, duration, and publish date per video. Ideal for content researchers, SEO analysts, and market intelligence teams.
What it does
Scrapes YouTube videos matching any keyword or search query using apidojo's YouTube scraper on Apify. Triggers when the user asks to: get YouTube videos for a keyword, scrape YouTube search results for a topic, export YouTube video data for a query, fetch video metadata for a YouTube search term, collect YouTube videos about a subject, or download YouTube video stats by keyword. Returns video title, channel name, view count, like count, comment count, duration, and publish date per video. Ideal for content researchers, SEO analysts, and market intelligence teams.
The skill document
Scraping YouTube Videos by Keyword
Raw YouTube video dataset for any search query. Returns video-level metadata including engagement metrics and channel info.
Prerequisites
APIFY_TOKENenvironment variable set- Optional: Apify MCP server installed
Inputs
| Parameter | Type | Required | Default | Notes |
|---|---|---|---|---|
startUrls | array | Optional | [] | YouTube URLs — channels, playlists, Shorts, search results |
youtubeHandles | array | Optional | [] | YouTube channel handles (e.g. @kurzgesagt) |
getTrending | boolean | Optional | false | Retrieve trending videos |
keywords | array | Optional | [] | Search keywords |
gl | string | Optional | us | Country code for results (e.g. US, GB) |
hl | string | Optional | en | Language code (e.g. en, de) |
uploadDate | string | Optional | all | Upload date filter: any, hour, today, week, month, year |
duration | string | Optional | all | Duration filter: any, short, long |
features | string | Optional | all | Feature filter: 4k, hd, live, cc, 3d, hdr, etc. |
sort | string | Optional | r | Sort order for search results |
maxItems | number | Optional | Unlimited | Maximum videos to return |
customMapFunction | string | Optional | — | JavaScript function to transform each output object |
Workflow
Progress:
- [ ] Step 1: Build search query
- [ ] Step 2: Run youtube-scraper
- [ ] Step 3: Poll for SUCCEEDED
- [ ] Step 4: Deliver video dataset
Step 2: Run the Actor
Recommended — run_actor.js (handles waiting, output, and file saving automatically):
# Quick answer (prints table to chat)
node scripts/run_actor.js \
--actor "apidojo~youtube-scraper" \
--input '{"param": "value"}'
# Save as CSV
node scripts/run_actor.js \
--actor "apidojo~youtube-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# Save as JSON
node scripts/run_actor.js \
--actor "apidojo~youtube-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
APIFY_TOKENmust be set in environment or.envfile.
If Apify MCP is available:
Tool: apify:run-actor
Actor: "apidojo~youtube-scraper"
Input:
{
"searchKeywords": "",
"maxResults": 50,
"sortBy": "relevance"
}
REST API fallback:
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~youtube-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchKeywords": "", "maxResults": 50}'
Save id as RUN_ID. Poll until status = SUCCEEDED:
curl "https://api.apify.com/v2/actor-runs/$RUN_ID?token=$APIFY_TOKEN" | grep '"status"'
Fetch results:
curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN&format=json"
Step 3: Handle Edge Cases
- < 20 results: Query may be too narrow; broaden search term.
- Age-restricted content in results: These may have limited metadata — flag rows with missing
viewCount. - Duplicate video IDs: Deduplicate by
videoId.
Output Format
# YouTube Video Dataset: ""
Videos collected: N | Sort:
| Video ID | Title | Channel | Views | Likes | Comments | Duration | Published |
|----------|-------|---------|-------|-------|----------|----------|-----------|
| ... | ... | ... | ... | ... | ... | ... | ... |
Available fields: videoId, title, channelName, channelId, viewCount, likeCount,
commentCount, duration, publishedAt, videoUrl, thumbnailUrl, description
Troubleshooting
Fewer results than requested: YouTube search may have limited results for niche queries. Missing like counts: YouTube hides dislikes but likes are still available; some videos hide all counts.
Related skills
Scrapes YouTube channel statistics and video catalog for any list of channels using apidojo's YouTube scraper on Apify. Triggers when the user asks to: get YouTube channel stats, fetch subscriber count and video count for YouTube channels, scrape channel metadata in bulk, export YouTube channel information by URL or handle, get all videos from a YouTube channel, or check channel growth data for a list of creators. Returns channel name, subscriber count, total views, video count, and recent video data. Ideal for competitor analysis, creator research, and audience benchmarking.
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.
Scrapes comments from any YouTube video using apidojo's YouTube scraper on Apify. Triggers when the user asks to: get all comments on a YouTube video, export YouTube comment data, scrape what viewers say about a YouTube video, fetch comment text and likes from a YouTube URL, collect comment threads from a YouTube video, or download audience feedback from a YouTube video. Returns commenter username, comment text, like count, reply count, and timestamp per comment. Ideal for sentiment researchers, product teams, and content analysts.
Extracts and analyzes YouTube comments for audience research using apidojo's YouTube scraper on Apify. Triggers when the user asks to: extract YouTube comments for research, analyze what viewers say in YouTube comments, scrape comments from a YouTube video for sentiment analysis, find common questions in YouTube comments, research audience feedback from YouTube video comments, extract top comments from a YouTube channel for audience insights, or analyze viewer reactions from YouTube comment sections. Returns comment text, likes on comment, reply count, commenter username, and timestamp. Ideal for content creators, brand researchers, product teams, and audience insight analysts.
Collect YouTube Video Post data and return results