Scrape any public video, channel or comment thread as clean JSON
Advanced YouTube API
The Advanced YouTube API turns any public YouTube video or channel into structured JSON with a single GET request. Video views, likes, description and publish date, channel subscribers and video counts, plus full comment threads, scraped live with no login, quota units or proxies on your side.
Unlike the official YouTube Data API, there are no daily quota units to budget, no OAuth consent screens and no project setup. Pass a video or channel URL (or a @handle) with your key and get JSON back. Most requests complete synchronously in 5-45 seconds.
Free tier included, no credit card required. One key works across all 49 APIs.
- Endpoints
- 4
- Response Time
- 5-45s
- Data Freshness
- Live
Key features
- Any public video or channel, no quota units or OAuth
- Live scraping on every request, no stale cached databases
- Video data: views, likes, description, publish date, duration
- Channel data by URL or @handle: subscribers, total videos, description
- Comment threads with limit control (1-50 per call)
- fields= selection to trim responses to just what you need
- No YouTube account, cookies or proxies required
Built for
- Creator discovery and vetting tools
- Competitor channel monitoring dashboards
- Comment analysis and social listening
- Video performance analytics for agencies
- Trend research and content ideation pipelines
Try it
Build the request for your data
Edit the parameters below and see the exact curl command and JSON response you will get. No key required to preview.
Parameters
GET /youtube/v1/video?url=https%3A%2F%2Fwww.youtube.com%2Fwatch HTTP/1.1
Host: api.apicodex.io
Host: api.apicodex.io
X-Api-Key: YOUR_API_KEY
{
"type": "video",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"data": {
"title": "Rick Astley - Never Gonna Give You Up (Official Video)",
"channel": "Rick Astley",
"channel_url": "https://www.youtube.com/@RickAstleyYT",
"views": 1647832910,
"likes": 18324551,
"comments_count": 2384419,
"duration": "3:33",
"published_at": "2009-10-25",
"description": "The official video for Never Gonna Give You Up"
}
}Documentation
Advanced YouTube API Documentation
Pass a YouTube video or channel URL (or a @handle as username) and get a complete, structured JSON record back in a single request. All endpoints are GET. On /v1/comments, limit accepts 1-50 (default 10), and fields= lets you keep only the top-level fields you need. If a scrape exceeds the sync window you get HTTP 202 with a snapshot_id to resolve via /v1/result.
Base URL
https://api.apicodex.io/youtubeAuthentication
Create a key at dash.apicodex.io and send it as an X-Api-Key header (or an ?apikey= query parameter) on every request. No YouTube account, Google Cloud project or OAuth flow is ever involved.
GET /v1/video?url=https://www.youtube.com/watch?v=dQw4w9WgXcQ
X-Api-Key: YOUR_API_KEYRequest and response
Illustrative values. Confirm current endpoint behavior, quotas, and data freshness in the API documentation before production use.
GET /v1/video?url=https://www.youtube.com/watch?v=dQw4w9WgXcQ HTTP/1.1
Host: api.apicodex.io
X-Api-Key: YOUR_API_KEY{
"type": "video",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"data": {
"title": "Rick Astley - Never Gonna Give You Up (Official Video)",
"channel": "Rick Astley",
"channel_url": "https://www.youtube.com/@RickAstleyYT",
"views": 1647832910,
"likes": 18324551,
"comments_count": 2384419,
"duration": "3:33",
"published_at": "2009-10-25",
"description": "The official video for Never Gonna Give You Up"
}
}Code examples
curl --request GET \
--url 'https://api.apicodex.io/youtube/v1/video?url=https://www.youtube.com/watch?v=dQw4w9WgXcQ' \
--header 'X-Api-Key: YOUR_API_KEY'Available Endpoints
GET /v1/video
Scrape a video by URL: title, views, likes, comments count, duration, description.
/v1/video?url=https://www.youtube.com/watch?v=dQw4w9WgXcQGET /v1/channel
Scrape a channel by url or username (@handle): subscribers, total videos, description.
/v1/channel?username=@mkbhdGET /v1/comments
List the comments of a video as an array (author, text, likes, replies).
/v1/comments?url=https://www.youtube.com/watch?v=dQw4w9WgXcQ&limit=25GET /v1/result
Fetch a pending result using the snapshot_id from a 202 response.
/v1/result?snapshot_id=s_abc123Request Parameters
Required parameters
urlYouTube URL to scrape. Required on /v1/video and /v1/comments; on /v1/channel you can pass username instead.
Optional parameters
usernameChannel @handle instead of a URL on /v1/channel (with or without the leading @).fieldsComma-separated top-level fields to keep, e.g. fields=title,views,likes. Applies to every item on list endpoints.limitMax items on /v1/comments (1-50, default 10).snapshot_id/v1/result only: the id returned by a 202 response.
Pricing
Advanced YouTube API Pricing
One key, one subscription, all 49 APIs. Start free and upgrade when you grow. No minimums, no lock-in.
This API costs 25 credits per request. Credits are shared across every API on your plan.
Estimate your monthly cost
Drag the slider to match your expected request volume. We will recommend the cheapest plan that covers it.
Recommended plan
Pro
$99.99 /month
Free
- All 49 APIs included
- No credit card required
- Full documentation and examples
Starter
Popular- All 49 APIs included
- Email support
- Usage dashboard and analytics
Pro
- All 49 APIs included
- Priority support
- Up to 5 API keys
Need a different plan?
Tell us about your API, volume, or support requirements.
Coming soon · MCP
Use the Advanced YouTube API from your AI agent
The API Codex MCP server will expose this API, and the other 39, to Claude, Cursor and any MCP client as tools. Same key, same credits, one config entry.
FAQ
Frequently asked questions
The official Data API meters everything in daily quota units (a search costs 100 units against a 10,000-unit default), requires a Google Cloud project and can involve OAuth for anything personal. The Advanced YouTube API is a flat scraper: pass any public video or channel URL with your API Codex key and get JSON back. No quota units, no project setup, no OAuth.
No. The API only scrapes publicly visible pages and never asks for Google credentials, cookies or proxies. You authenticate to the API itself with your API Codex key. Private, unlisted or members-only content is not accessible.
Every request triggers a live scrape of the page at that moment, so views, likes and subscriber counts reflect the current state rather than a cached database. That is also why responses take 5-45 seconds instead of milliseconds: you are trading a little latency for data that is never stale.
If a scrape exceeds the synchronous window, the API returns 202 with a snapshot_id instead of making you wait on an open connection. Poll GET /v1/result?snapshot_id=... until it returns 200 with status "ready" and your data. This mostly happens on /v1/comments, where results are typically ready within 1-2 minutes.
Yes. On /v1/channel, passing username=@mkbhd (with or without the leading @) is equivalent to url=https://www.youtube.com/@mkbhd and saves you the URL encoding. Video and comment endpoints always take the full video URL since a handle cannot identify a specific video.