fetchproof.

/v1/youtube/channel

GET

Channel Details

Get YouTube channel details and stats by channelId, handle, or URL.

Credit cost

Default: 1 credit

How charges are determined

Cost is decided per call, not per endpoint: the same operation can cost different amounts depending on what it returns.

A call that fails costs 0 credits. A result served from cache costs 0 credits.

`default` is the cost when no rule matches. Rules are evaluated in order and the first whose conditions all hold wins.

A `when` condition is one of: `param` (the request parameter is true), `outcome` (the classifier's outcome), `empty` / `nonEmpty` (a response field is empty and absent, or a non-empty array or string), `flag` (a response field is exactly true).

A cost of `{ perStartedMinute: n, of: [fields] }` is n x max(1, ceil(seconds / 60)), so even a short result bills at least one minute.

Cache supportUse a cached response this old or newer for 0 credits. If none is available, fetch live at the endpoint’s normal price.
PaginationNo explicit pagination metadata in the published contract. Consult the parameters and response fields below.

Parameters

NameLocation / requiredSchema
channelId

YouTube channel ID. Provide channelId, handle, or url.

query / optional

string

handle

YouTube channel handle. Provide channelId, handle, or url.

query / optional

string

url

YouTube channel URL. Provide channelId, handle, or url.

query / optional

string

cache_max_age

Use a cached response this old or newer for 0 credits. If none is available, fetch live at the endpoint’s normal price.

query / optional

string

Allowed values ["1d","3d","7d","14d","30d"]

Request examples

Replace placeholder values and supply your own API key. For operations with a request body, populate the body using the schema above.

cURL
curl --request GET 'https://api.fetchproof.com/v1/youtube/channel' \
  --header 'x-api-key: YOUR_API_KEY'
JavaScript
const response = await fetch("https://api.fetchproof.com/v1/youtube/channel", {
  method: 'GET',
  headers: { 'x-api-key': process.env.FETCHPROOF_API_KEY }
});
console.log(await response.text());
Python
import os
import requests

response = requests.get("https://api.fetchproof.com/v1/youtube/channel",
    headers={"x-api-key": os.environ["FETCHPROOF_API_KEY"]})
print(response.text)

Responses

200Success. Envelope: success / credits_remaining / credits_charged.

application/json

object

successrequired

boolean

credits_remainingrequired

integer

credits_chargedrequired

integer

channelIdrequired

string

channelrequired

string

namerequired

string

avatarrequired

object

imagerequired

object

sourcesrequired

array

Array items

object

urlrequired

string

widthrequired

integer

heightrequired

integer

processoroptional

object

borderImageProcessorrequired

object

circularrequired

boolean

avatarImageSizerequired

string

loggingDirectivesoptional

object

trackingParamsrequired

string

visibilityrequired

object

typesrequired

string

descriptionrequired

string

subscriberCountrequired

integer

subscriberCountTextrequired

string

videoCountTextrequired

string

viewCountTextrequired

string

joinedDateTextrequired

string

tagsrequired

string

emailrequired

null

storeoptional

string

twitterrequired

string

instagramoptional

string

linksrequired

array

Array items

string

countryrequired

string

cachedoptional

boolean

cached_atoptional

string

{
  "format": "date-time"
}
handleoptional

string

isVerifiedoptional

boolean

videoCountoptional

integer

viewCountoptional

integer

followoptional

string

facebookoptional

string

keywordsoptional

array

Array items

string

isFamilySafeoptional

boolean

banneroptional

array

Array items

object

urlrequired

string

widthrequired

integer

heightrequired

integer

401Invalid or missing x-api-key
402No credits remaining
403Upstream denied (age gate, audience controls)
404Resource or endpoint not found
429Rate limited