SoonOne MCP server, all 49 APIs as agent tools. See how it works

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.

At a glance
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.

GET/v1/video
Open in Playground

Parameters

Request · HTTP
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
Response · JSON
200 OK
{
  "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

url
https://api.apicodex.io/youtube

Authentication

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.

headers
GET /v1/video?url=https://www.youtube.com/watch?v=dQw4w9WgXcQ
X-Api-Key: YOUR_API_KEY

Request and response

Illustrative values. Confirm current endpoint behavior, quotas, and data freshness in the API documentation before production use.

request · http
GET /v1/video?url=https://www.youtube.com/watch?v=dQw4w9WgXcQ HTTP/1.1
Host: api.apicodex.io
X-Api-Key: YOUR_API_KEY
response · json
{
  "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
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=dQw4w9WgXcQ

GET /v1/channel

Scrape a channel by url or username (@handle): subscribers, total videos, description.

/v1/channel?username=@mkbhd

GET /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=25

GET /v1/result

Fetch a pending result using the snapshot_id from a 202 response.

/v1/result?snapshot_id=s_abc123

Request Parameters

Required parameters

  • url YouTube URL to scrape. Required on /v1/video and /v1/comments; on /v1/channel you can pass username instead.

Optional parameters

  • username Channel @handle instead of a URL on /v1/channel (with or without the leading @).
  • fields Comma-separated top-level fields to keep, e.g. fields=title,views,likes. Applies to every item on list endpoints.
  • limit Max 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.

10,000

Recommended plan

Pro

$99.99 /month

Credits used250,000
Credits included250,000
Cost per 1K requests$9.999
Choose Pro

Free

Free
1,000 credits · ~40 requests/mo · 2 rps
  • All 49 APIs included
  • No credit card required
  • Full documentation and examples
Start for free

Starter

Popular
$29.99/month
50,000 credits · ~2,000 requests/mo · 10 rps
  • All 49 APIs included
  • Email support
  • Usage dashboard and analytics
Start with Starter

Pro

$99.99/month
250,000 credits · ~10,000 requests/mo · 25 rps
  • All 49 APIs included
  • Priority support
  • Up to 5 API keys
Start with Pro

Need a different plan?

Tell us about your API, volume, or support requirements.

Contact us

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.

About the MCP server

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.