YouTube
GET /v1/youtube/channel-details

YouTube Channel Details API

YouTube channel stats — ISO country, createdAt date-only, real banner or null, quote-aware SEO tags, absolute links. Flat 1 credit.

1 credit per request
TL;DR
YouTube channel stats — ISO country, createdAt date-only, real banner or null, quote-aware SEO tags, absolute links. Flat 1 credit. The YouTube Channel Details API (YouTube) is a single authenticated GET request to /v1/youtube/channel-details that responds with clean JSON and costs 1 credit. Pass cache=true for a free 24h cache hit; default is always fresh. Start with 100 free credits — no credit card.

What is the YouTube Channel Details API?

Pass a channel URL, @handle, or UC… id and get clean JSON. Canonical profile core: platform, id, username, url, displayName, bio, avatar, banner, followers, postCount, verified, createdAt. Identical-value aliases (handle/name/description/thumbnailUrl/bannerUrl/subscriberCount/videoCount/joinedAt/joinedDate) are not emitted. Also: canonicalUrl (@handle when known), followersIsApproximate (true when followers came from a K/M/B shelf label — 2.15M → 2150000), viewCount (exact when About exposes it; YouTube rounds subscribers, not views), country (ISO-3166 alpha-2) + countryName, links[{text,url}] with absolute https URLs, email when published in About/description (not the CAPTCHA reveal), and tags[] from channel SEO keywords (quote-aware — multi-word tags stay one entry). Identity-card convention: banner, country, countryName, and email stay on the key set and are null when unknown — we never substitute the avatar for a missing banner. Resolver/search rows (instagram/profile-search) omit-when-absent; that is a different class. following is omitted — YouTube does not publish a following count on the channel About card. createdAt is date-only (YYYY-MM-DD); YouTube only exposes the join day. Flat 1 credit. Cache is off by default.

Coming from Social Blade? Here is how these counts and stored history compare. Social Blade alternative

Moving this call from ScrapeCreators? Here is the endpoint-by-endpoint map. ScrapeCreators alternative

What you get

  • Display name, handle or URL, bio, and avatar when available
  • Follower / subscriber and content counts
  • Verification status and external links when exposed
  • Structured JSON ready for enrichment and dashboards

Try it

Open in Playground

Fill in the parameters below and copy a ready-to-run request, or open the live Playground to run it against your account (no API key paste).

Parameters

Sign in to run live
curl "https://api.captapi.com/v1/youtube/channel-details?url=https%3A%2F%2Fwww.youtube.com%2Fchannel%2FUCLA_DiR1FfKNvjuUpBHmylQ" \
  -H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."

Edit the parameters and the code updates instantly. Switch languages and hit copy.

Example response

{
  "success": true,
  "data": {
    "platform": "youtube",
    "id": "UCLA_DiR1FfKNvjuUpBHmylQ",
    "username": "NASA",
    "url": "https://www.youtube.com/channel/UCLA_DiR1FfKNvjuUpBHmylQ",
    "canonicalUrl": "https://www.youtube.com/@NASA",
    "displayName": "NASA",
    "bio": "NASA's mission is to pioneer the future in space exploration, scientific discovery, and aeronautics research.\r\n\r\nTo do that, we have worked around the world—and off it—for more than 60 years, searching for answers to fundamental questions about our place in the universe. We're exploring space and discovering Earth. Join us on this exciting and important journey.",
    "avatar": "https://yt3.googleusercontent.com/eIf5fNPcIcj9ig-wZBeq4stFy1lgjWTW1nLT5dYlFkHZprZ03QBiMcbpwNMB6XSBjrSFGtAGQg=s900-c-k-c0x00ffffff-no-rj",
    "banner": "https://yt3.googleusercontent.com/y8Srh-oCcilLvBO8jAPI546m1bn0puA5DIvQiBZ1cSxc_rZfKxKSFlTCtoCQCtB6viUf1NGsaQ=w2560-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj",
    "followers": 15100000,
    "followersIsApproximate": true,
    "postCount": 6100,
    "viewCount": 1130025466,
    "country": null,
    "countryName": null,
    "createdAt": "2008-06-03",
    "verified": true,
    "links": [
      {
        "text": "nasa.gov",
        "url": "https://nasa.gov"
      },
      {
        "text": "X",
        "url": "https://x.com/nasa"
      }
    ],
    "email": null,
    "tags": [
      "nasa",
      "space"
    ]
  }
}

Billing metadata is returned in response headers: X-Captapi-Credits (credits charged), X-Captapi-Cache (hit or miss), and X-Captapi-Request-Id (include it when contacting support). Where the response has a source field, it names the path that served the data: native, extended, cache or asr. Failed requests (4xx/5xx) are never charged. See the full list of error codes in the error reference.

Response structure

A successful call returns success and a data object with the following fields:

Top-level fields

  • platformPlatform identifier for this response (matches the endpoint's platform).
  • idStable platform ID for the item.
  • usernameBare channel handle without @. Canonical account identifier (no handle twin).
  • urlCanonical URL of the item.
  • canonicalUrlPreferred public URL — https://www.youtube.com/@handle when known, else /channel/UC….
  • displayNameChannel title. Canonical human-readable name (no name twin).
  • bioChannel description. Canonical profile text (no description twin).
  • avatarChannel avatar URL. Canonical profile picture (no thumbnailUrl twin).
  • bannerChannel banner when YouTube exposes one. null when none — never a downsized avatar.
  • followersSubscriber count from YouTube's rounded display text (292K → 292000). Not always exact — see followersIsApproximate.
  • followersIsApproximateTrue when followers came from a K/M/B compact shelf label (2.15M → 2150000). False when YouTube published an exact integer. Named for the field it qualifies — subscriberCount is not emitted.
  • postCountPublic video count.
  • viewCountLifetime channel view count when the About panel exposes it (exact integer).
  • countryISO-3166 alpha-2 channel country (e.g. US, IN). Prefer this over countryName for joins.
  • countryNameEnglish display name for country (e.g. United States). Locale-stable English from our ISO map.
  • createdAtChannel join day as YYYY-MM-DD. YouTube only exposes day granularity — this is not a fetchedAt-style timestamp. Display-formatted About labels (joinedDate) are not emitted.
  • verifiedWhether the account is verified on this platform.
  • emailContact email only when the creator published it in description/About text or a mailto link — not from YouTube's CAPTCHA email reveal.
  • tagsSEO keywords from channelMetadata. Multi-word tags stay one entry (quote-aware parse).

Links

Each item in links contains:

  • textText content.
  • urlCanonical URL of the item.

Parameters

NameTypeRequiredDescription
urlstringYesYouTube channel URL, @handle, bare handle, or UC... channel ID, e.g. https://youtube.com/@handle or @mkbhd. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.
cachebooleanNoSet true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.

Authentication: send your key as Authorization: Bearer capt_live_.... A typical call costs 1 credit. Pass cache=true for a free 24h cache hit; default is always fresh.

Using an AI agent? This endpoint is the MCP tool youtube_channel_details via @captapi/mcp. Set it up →

How it works

  1. 1. Sign up — get 100 free credits, no card required.
  2. 2. Create a key from your dashboard.
  3. 3. Send one request to /v1/youtube/channel-details and parse the JSON response.

Use cases

Profile Enrichment

Add live stats, bio, and account flags to a contact you already have.

Creator Verification

Confirm a known handle, audience size, and business/verified status before outreach.

Competitive Analysis

Track follower growth and posting cadence for accounts you already follow.

Partnership Qualification

Vet known partnership and sponsorship targets with fresh profile data.

Frequently asked questions

What does the YouTube Channel Details API do?+

The YouTube Channel Details API lets you fetch profile or page details and audience stats from a public YouTube profile or page using one GET request to /v1/youtube/channel-details. It returns clean JSON — no OAuth or infrastructure setup required.

How many credits does the YouTube Channel Details API cost?+

Each successful call costs 1 credit. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.

Do I need a YouTube API key or OAuth?+

No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle access, rate limits, retries, and authentication for you.

Why is banner null instead of omitted?+

Channel-details identity cards keep a stable key set. banner, country, countryName, and email are present and null when unknown. banner: null is deliberate — we never substitute the avatar. Resolver/search rows (instagram/profile-search) omit-when-absent; that is a different class of endpoint.

Is cache on by default?+

No. Default is always fresh (1 credit). Pass cache=true for the 24h shared cache.

Is the YouTube Channel Details API suitable for production use?+

Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.

More YouTube APIs

Ready to use the YouTube Channel Details API?

Sign up, grab your key, and make your first call in 60 seconds.

YouTube Channel Details API — Captapi