YouTube channel and video research
Find out what a channel publishes, how it performs and what viewers say, for content or competitor research.
Steps
- Start from channel links or search terms.
- Collect video metadata (views, length, publish date), then comments or transcripts for the videos that matter.
Actors for this job
YouTube Scraper
Give it YouTube channels, playlists, search terms, hashtags or video links and it returns one JSON row per video or Short: title, channel, exact publish date, duration, views, likes, category, Shorts and live flags, tags, hashtags, description, thumbnail and caption languages. Shorts also get comment count and sound. $3.60 per 1,000 videos, or $1.17 in fast listing mode; you pay only for rows you get.
$3.60 per 1,000 videos on the Free plan, down to $2.16 on higher plans
- Channel tracking: every new video of your competitors' channels each day, with views and likes.
- Influencer research: recent output, average views and posting rhythm of a list of channels.
- Search monitoring: who ranks for your keywords on YouTube (
position), and how that changes.
YouTube Transcript & Subtitles Scraper
Give it YouTube video, Shorts, channel or playlist links (or plain video IDs) and it returns each transcript (subtitles, captions) as JSON: full text, timed segments, language, whether it was auto-generated, every caption language the video has, and the video's title, channel, length, publish date and views. From $2.48 per 1,000 transcripts (less on higher Apify plans); you pay only for rows you get.
$2.48 per 1,000 transcripts on the Free plan, down to $1.80 on higher plans
- RAG and knowledge bases: index a channel's or a course playlist's transcripts with timestamps for citations.
- Summaries and notes: feed
transcriptto an LLM;wordCounttells you how many tokens to expect. - Content and competitor research: what a channel talked about this month (
publishedAfter).
Quick start
Run the first actor from Python (set APIFY_TOKEN):
# pip install apify-client
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("arcadium/youtube-videos").call(run_input={
"urls": ["https://www.youtube.com/@kurzgesagt"],
"searchQueries": [],
"hashtags": [],
"contentType": "videos",
"maxResults": 10,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)
Or give an AI assistant both actors as tools:
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=arcadium/youtube-videos,arcadium/youtube-transcripts",
"headers": {
"Authorization": "Bearer <APIFY_TOKEN>"
}
}
}
}