YouTube 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.
Setup (one-time)
- Get a free Crawlora API key (2,000 credits/mo, no card) at https://crawlora.net.
- Set
CRAWLORA_API_KEY in the environment before running the helper.
- The helper reads
CRAWLORA_API_KEY from the environment and sends requests to https://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>
(or https://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}/languages first 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.
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_KEY only — never hardcode, query-param, or commit it.
- Not every video has captions; check
/youtube/transcript/{id}/languages when a
transcript request returns empty.
1---2name: youtube-research3description: Pulls structured YouTube data — video and channel details, transcripts/captions, comments, playlists, and search — via the Crawlora API as clean JSON, with no yt-dlp or HTML scraping. Use when the user provides a YouTube URL or asks for a transcript, comments, channel/video metadata, or video search results.4---56# YouTube research78Resolve YouTube videos and channels, and pull transcripts, comments, playlists,9and search results as normalized JSON from the Crawlora API — no `yt-dlp`, no10browser, no scraping.1112## When to use this skill1314- The user pastes a YouTube URL and wants its transcript, summary, or stats.15- "Get the comments on this video" / "what are people saying?"16- "List this channel's recent videos / shorts / playlists."17- "Search YouTube for …" or "what videos exist about …".18- Building a transcript-based summary, sentiment, or research pipeline.1920## Setup (one-time)2122- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).23- Set `CRAWLORA_API_KEY` in the environment before running the helper.24- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.2526## How it works27281. **Resolve the id.** A YouTube watch URL `https://www.youtube.com/watch?v=<ID>`29 (or `https://youtu.be/<ID>`) gives the **video id**; channel URLs give a30 **channel id**. Extract the id before calling.312. **Transcript:** `/youtube/transcript/{id}` (use32 `/youtube/transcript/{id}/languages` first if you need a specific language).333. **Metadata / comments:** `/youtube/video/{id}`, `/youtube/comments/{id}`.344. **Channel:** `/youtube/channel/{id}/videos`, `/channel/{id}/shorts`,35 `/channel/{id}/playlists`, `/youtube/profile/{id}`.365. **Discovery:** `/youtube/search?q=...` to find videos by keyword.3738Full endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).3940## Calling the API4142```sh43# Transcript for a video id (GET):44scripts/crawlora.sh /youtube/transcript/dQw4w9WgXcQ | jq '.'4546# Video metadata + comments:47scripts/crawlora.sh /youtube/video/dQw4w9WgXcQ | jq '.data'48scripts/crawlora.sh /youtube/comments/dQw4w9WgXcQ | jq '.data'4950# Search:51scripts/crawlora.sh /youtube/search q="web scraping tutorial" | jq '.'52```5354Use `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.555657## Endpoint reference5859See [`reference/endpoints.md`](reference/endpoints.md) for every YouTube endpoint60this skill uses (method, path, params, description).6162## Examples6364- **Summarize a video:** extract the id from the URL → `/youtube/transcript/{id}`65 → concatenate transcript segments → summarize.66- **Comment sentiment:** `/youtube/comments/{id}` → bucket comments by sentiment67 and surface common themes.68- **Channel digest:** `/youtube/channel/{id}/videos` → list recent uploads with69 view counts and publish dates.7071## Notes & limits7273- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.74 Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).75- **Public data only** — public YouTube pages; respect YouTube's terms.76- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.77- Not every video has captions; check `/youtube/transcript/{id}/languages` when a78 transcript request returns empty.