About youtube-research
youtube-research is a skill for researching public YouTube videos and channels through the Crawlora API. It helps analysts and content researchers retrieve normalized transcripts, comments, metadata, channel uploads, playlists, and search results for evidence-based summaries and comparisons.
Key features
- 01Retrieve timestamped video transcripts
- 02Fetch video metadata and comments
- 03List channel videos, Shorts, and playlists
- 04Search YouTube videos by keyword
- 05Support transcript-based topic research
Use cases
- 01Summarize a video using its transcript
- 02Analyze comments for sentiment and themes
- 03Create a digest of recent channel uploads
- 04Compare videos with timestamped caption evidence
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ crawlora-org/ crawlora-skills --skill youtube-researchAfter installing, type/youtube-researchin Claude Code to confirm it loaded.
Bundled filesreference/endpoints.mdscripts/crawlora.sh
Details
From the project READMEYouTube research
Resolve YouTube videos and channels, and pull transcripts, comments, playlists,
and search results as normalized JSON from the Crawlora API — no yt-dlp, no
browser, no scraping.
When to use this skill
- The user pastes a YouTube URL and wants its transcript, summary, or stats.
- "Get the comments on this video" / "what are people saying?"
- "List this channel's recent videos / shorts / playlists."
- "Search YouTube for …" or "what videos exist about …".
- Building a transcript-based summary, sentiment, or research pipeline.
- Comparing a bounded set of videos with timestamped transcript evidence.
Setup (one-time)
- Get a free Crawlora API key (2,000 credits/mo, no card) at https://crawlora.net.
- Set
CRAWLORA_API_KEYin the environment before running the helper. - The helper reads
CRAWLORA_API_KEYfrom the environment and sends requests tohttps://api.crawlora.net/api/v1. Missing/invalid key →401.
How it works
- Resolve the id. A YouTube watch URL
https://www.youtube.com/watch?v=<ID>(orhttps://youtu.be/<ID>) gives the video id; channel URLs give a channel id. Extract the id before calling. - Transcript:
/youtube/transcript/{id}(use/youtube/transcript/{id}/languagesfirst if you need a specific language). - Metadata / comments:
/youtube/video/{id},/youtube/comments/{id}. - Channel:
/youtube/channel/{id}/videos,/channel/{id}/shorts,/channel/{id}/playlists,/youtube/profile/{id}. - Discovery:
/youtube/search?q=...to find videos by keyword.
Full endpoint list, methods, and params: reference/endpoints.md.
Transcript-backed topic research
For a topic brief, search first, deduplicate by video ID, and choose a bounded sample that reflects the requested date, language, and video types. Discover available transcript languages before fetching captions. Request JSON with timestamps for evidence extraction; tie each theme or claim to the actual caption segment and video URL. A caption or translation may mishear speech and does not independently verify factual claims. Report unavailable transcripts and keep search rank, view counts, and comment samples separate from demand.
For a wider map of topic and format coverage across videos or channels, use youtube-content-gap-analysis when installed.
scripts/crawlora.sh /youtube/search q="home energy storage" type=video sort_by=relevance
scripts/crawlora.sh /youtube/transcript/dQw4w9WgXcQ/languages
scripts/crawlora.sh /youtube/transcript/dQw4w9WgXcQ format=json timestamps=true
Calling the API
# Transcript for a video id (GET):
scripts/crawlora.sh /youtube/transcript/dQw4w9WgXcQ | jq '.'
# Video metadata + comments:
scripts/crawlora.sh /youtube/video/dQw4w9WgXcQ | jq '.data'
scripts/crawlora.sh /youtube/comments/dQw4w9WgXcQ | jq '.data'
# Search:
scripts/crawlora.sh /youtube/search q="web scraping tutorial" | jq '.'
Use scripts/crawlora.sh for all requests; it keeps the API key out of command-line arguments.
Endpoint reference
See reference/endpoints.md for every YouTube endpoint
this skill uses (method, path, params, description).
Examples
- Summarize a video: extract the id from the URL →
/youtube/transcript/{id}→ concatenate transcript segments → summarize. - Comment sentiment:
/youtube/comments/{id}→ bucket comments by sentiment and surface common themes. - Channel digest:
/youtube/channel/{id}/videos→ list recent uploads with view counts and publish dates.
Notes & limits
- Credits / pay-on-success: billed only on
2xx; free tier 2,000 credits/mo. Key at https://crawlora.net. - Public data only — public YouTube pages; respect YouTube's terms.
- Security: key lives in
CRAWLORA_API_KEYonly — never hardcode, query-param, or commit it. - Not every video has captions; check
/youtube/transcript/{id}/languageswhen a transcript request returns empty.