YouTube Scraper

Scrape full channel data asynchronously and poll for results, or synchronously in one call.

llms.txt Full docs for LLMs

POST /api/youtube-scraper

Scrape video data from a YouTube channel or single video. Returns video metadata (title, views, likes, duration, thumbnails), with optional transcripts and comments. Async job — submit a request, then poll for results.

Request Body (JSON)
NameTypeRequiredDefaultDescription
urlstringRequiredYouTube channel URL or video URL. Auto-detects single video vs. channel mode.
video_typestringOptionalbothType of videos to scrape: shorts, videos, or both
sortstringOptionalrecentSort order: recent or popular
max_videosintegerOptional20Maximum videos to scrape (1–100)
include_transcriptsbooleanOptionalfalseInclude full video transcripts in the response
include_commentsbooleanOptionalfalseInclude top comments for each video
Example Request
# Scrape a channel's most popular videos with transcripts curl -X POST "https://api.algrow.online/api/youtube-scraper" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://www.youtube.com/@MrBeast", "video_type": "videos", "sort": "popular", "max_videos": 10, "include_transcripts": true }'
Response 200 200
{ "success": true, "job_id": 4521, "mode": "channel", "message": "Scraping job queued. Poll /api/youtube-scraper/{job_id} for results." }
200 Queued 400 Invalid URL 401 Auth failed 403 Pro/Ultimate required
GET /api/youtube-scraper/:job_id

Poll for the result of a YouTube scraping job. Returns pending or processing while running, and the full video data when completed.

Example Request
curl "https://api.algrow.online/api/youtube-scraper/4521" \ -H "Authorization: Bearer YOUR_API_KEY"
Completed Response 200 200
{ "success": true, "job_id": 4521, "status": "completed", "created_at": "2026-03-24T10:30:00", "completed_at": "2026-03-24T10:31:15", "result": { "total_videos": 10, "total_views": 1250000000, "total_likes": 42000000, "videos": [ { "video_id": "dQw4w9WgXcQ", "title": "Video Title Here", "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg", "view_count": 250000000, "like_count": 8500000, "comment_count": 2100000, "duration_seconds": 212, "duration_human": "3m 32s", "publish_date": "2025-10-15T14:00:00Z", "channel": "MrBeast", "channel_id": "UCX6OQ3DkcsbYNE6H8uQQuVA", "transcript_url": "https://audio.algrow.online/api/transcripts/a1b2c3d4e5f6_Video_Title.txt", "comments": [ { "author": "@user123", "text": "Great video!", "likes": 5200, "published_time": "2 months ago" } ] } ] } }
Response Fields (per video)
FieldTypeDescription
video_idstringYouTube video ID
titlestringVideo title
urlstringFull YouTube URL
thumbnailstringThumbnail image URL (highest resolution available)
view_countintegerTotal views
like_countintegerTotal likes
comment_countintegerTotal comments
duration_secondsintegerVideo length in seconds
duration_humanstringHuman-readable duration (e.g. “3m 32s”)
publish_datestringPublish date (ISO 8601)
channelstringChannel name
channel_idstringYouTube channel ID
transcript_urlstring|nullURL to the full transcript text file hosted on R2 (only if include_transcripts: true)
commentsarray|nullTop comments (only if include_comments: true)
200 Success 401 Auth failed 404 Job not found
POST /api/youtube-scraper-fast

Synchronous YouTube channel scrape via the Data API v3 — no job queue, no polling. Returns channel metadata + videos (and optional comments) inline in ~2–5s, the same shape as the queued /api/youtube-scraper result. Transcripts are NOT supported here (use the queued endpoint for those).

Request Body (JSON)
NameTypeRequiredDefaultDescription
urlstringRequiredA YouTube channel URL (youtube.com or youtu.be).
video_typestringOptionalbothshorts, videos, or both.
sortstringOptionalrecentrecent or popular.
max_videosintegerOptional201–100.
include_commentsbooleanOptionalfalseInclude top comments per video.
max_commentsintegerOptional1001–100, when include_comments is true.
Example Request
curl -X POST "https://api.algrow.online/api/youtube-scraper-fast" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://youtube.com/@MrBeast", "video_type": "videos", "max_videos": 20}'
Response 200 200
{ "success": true, "status": "completed", "result": { … channel + videos … } }
200 Success 400 Validation error 401 Auth failed 503 Quota exhausted
esc
×

Buy More Credits

Boost
150
credits
$4.99
Good for:
  • ~12 min caption removal
Studio
1,000
credits
$31.49
Good for:
  • ~80 min caption removal