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.
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.
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
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
curl "https://api.captapi.com/v1/youtube/channel-details?url=https%3A%2F%2Fwww.youtube.com%2Fchannel%2FUCX6OQ3DkcsbYNE6H8uQQuVA" \
-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": {
"url": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA",
"id": "UCX6OQ3DkcsbYNE6H8uQQuVA",
"name": "MrBeast",
"handle": "@MrBeast",
"description": "SUBSCRIBE FOR A COOKIE!\nNew MrBeast or MrBeast Gaming video every single Saturday at noon eastern time!\nAccomplishments:\n- Raised $20,000,000 To Plant 20,000,000 Trees\n- Removed 30,000,000 pounds of trash from the ocean\n- Helped 2,000 people walk again\n- Helped 1,000 blind people see\n- Helped 1,000 deaf people hear\n- Built wells in Africa\n- Built and gave away 100 houses\n- Adopted every dog in a shelter (twice)\n- Given millions to charity\n- Started my own snack company Feastables\n- Started my own software company Viewstats\n- Gave away a private island (twice)\n- Gave away 1 million meals\n- I counted to 100k\n- Ran a marathon in the world's largest shoes\n- Survived 50 hours in Antarctica\n- Recreated Squid Game in real life\n- Created the largest competition show with 1000 people (Beast Games)\n- Gave $5,000,000 to one person\n\nTerms & Conditions of Current Sweepstakes: \nhttps://mrb.gg/bow-and-arrow\nhttps://bit.ly/MrB_Birthday_YT\nhttps://bit.ly/MrB_Cash_Giveaway",
"subscriberCount": 510000000,
"videoCount": 994,
"viewCount": 135029730952,
"thumbnailUrl": "https://yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s900-c-k-c0x00ffffff-no-rj",
"bannerUrl": null,
"country": "US",
"joinedDate": "Feb 19, 2012",
"verified": true,
"links": [
{
"text": "$1,000,000 Contest",
"url": "https://themostdangerousgames.com"
},
{
"text": "Follow",
"url": "https://instagram.com/mrbeast"
}
],
"platform": "youtube",
"canonicalUrl": "https://www.youtube.com/@MrBeast",
"countryName": "United States",
"joinedAt": "2012-02-19",
"tags": [
"challenge",
"philanthropy"
]
}
}Billing metadata is returned in response headers: X-Captapi-Credits (credits charged), X-Captapi-Cache (hit or miss), and X-Captapi-Source. 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
urlCanonical URL of the item.idStable platform ID for the item.nameName of the item or account. On profile endpoints: deprecated alias of displayName (one release).handleAccount handle.descriptionDescription text.subscriberCountSubscriber count (channel, subreddit, or similar).videoCountPopulation video count when the source is authoritative (e.g. TikTok challenge/detail statsV2 on popular-hashtags, or a channel's uploaded-video total). Never a sample tally — sample sizes use sampleVideoCount / sampleSize.viewCountLifetime channel view count when the About panel exposes it (exact integer).thumbnailUrlThumbnail image URL.bannerUrlBanner image URL. Deprecated alias of banner on YouTube (one release).countryISO-3166 alpha-2 channel country (e.g. US, IN). Prefer this over countryName for joins.joinedDateWhen the account was created.verifiedWhether the account is verified on this platform.platformPlatform identifier for this response (matches the endpoint's platform).canonicalUrlPreferred public URL — https://www.youtube.com/@handle when known, else /channel/UC….countryNameEnglish display name for country (e.g. United States). Locale-stable English from our ISO map.joinedAtJoined at. Example: "2012-02-19".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
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | YouTube 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. |
| cache | boolean | No | Set 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.
youtube_channel_details via @captapi/mcp. Set it up →How it works
- 1. Sign up — get 100 free credits, no card required.
- 2. Create a key from your dashboard.
- 3. Send one request to
/v1/youtube/channel-detailsand 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 proxies, 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.