YouTube API for channel data without quota units

Read any public YouTube channel by handle or ID: subscribers, total views, video count, and a description-code check that proves ownership. Priced per request like the rest of this API, so there is no separate quota budget to model and no midnight reset to plan around.

Endpoints for YouTube
45
Free to start
500 requests
Paid from
$69/ 30 days

One request, no application

Send a key, get an answer. Every endpoint on this page uses the same header, the same envelope and the same error codes as the other six platforms.

Request
curl "https://api.playersells.com/v2/accounts/youtube/MrBeast" \
  -H "Authorization: Bearer $PLAYERSELLS_API_KEY"

What the YouTube API returns

  • channel title, handle and description
  • subscriber count, as YouTube publishes it
  • total view count and video count
  • channel creation date
  • thumbnail and banner URLs
  • subscriber history for channels in the catalog

Where the data comes from

The YouTube Data API where a key is configured, and the public channel page where it is not. Both paths are used automatically and the response says which one answered, because the two differ in one respect that matters (see the limits below).

What this API cannot do

  • A channel that hides its subscriber count cannot be read at all: the count and the description arrive in the same response, and without the count the read fails with the source's own message rather than returning a partial answer.
  • Without a configured Data API key, descriptions come from the page's social preview tag, which YouTube collapses to one line and truncates. Ownership codes should therefore be placed near the start of a description.
  • Per-video analytics, watch time and revenue are owner-only data and are not available through any public route.

YouTube endpoints

17 built specifically for YouTube, plus 28 that cover every platform.

Specific to YouTube

EndpointWhat it doesScope
GET/accounts/{platform}/{handle}
Check one account against our catalogdirectory:read
GET/accounts/{platform}/{handle}/livelive
Check one account live, at the sourcescrape:live
GET/accounts/resolve
Find one handle on every platform at oncedirectory:read
GET/directory/{platform}
List and filter a catalogdirectory:read
GET/directory/{platform}/{id}
One account or channeldirectory:read
GET/directory/{platform}/{id}/growth
Daily audience historydirectory:read
GET/directory/{platform}/{id}/followers
Inbound graph edgesdirectory:read
GET/directory/{platform}/{id}/following
Outbound graph edgesdirectory:read
POST/directory/{platform}/bulk
Resolve up to 100 records at oncedirectory:read
GET/directory/{platform}/facets
Distribution of the catalogdirectory:read
GET/directory/search
Search every platform at oncedirectory:read
GET/people/lookup
Find one handle across every catalogdirectory:read
GET/people/search
Find accounts matching audience and engagement criteriadirectory:read
GET/scrape/youtube/verifylive
Prove ownership of a YouTube accountscrape:live
GET/marketplace/listings
Browse active marketplace listingsmarketplace:read
POST/tools/youtube/moneylive
Estimate YouTube ad earningstools:use
POST/tools/youtube/channel-valuelive
Estimate what a YouTube channel is worthtools:use

Across all platforms

EndpointWhat it doesScope
GET/accounts/platforms
What a check can answer, per platformdirectory:read
POST/accounts/check
Check up to 50 accounts at oncedirectory:read
GET/directory
Catalog capability mapdirectory:read
GET/scrape/status
Live backend health and capacityscrape:live
GET/insights/audience
Who follows an account, and what they have in commoninsights:read
GET/research/findings
Findings the research engine is willing to stateresearch:read
GET/research/findings/{id}
One finding with its full test historyresearch:read
GET/research/runs
Research pass historyresearch:read
GET/research/events
The research changelogresearch:read
GET/engines
Operational health of every insight engineengines:read
GET/engines/{key}
One engine in detailengines:read
GET/marketplace/listings/{id}
Get one public listingmarketplace:read
GET/marketplace/stats
Platform totalsmarketplace:read
GET/marketplace/leaderboard
Best-selling sellersmarketplace:read
GET/marketplace/pricing
Live fee schedule and boost packagesmarketplace:read
GET/tools
List every analysis tooltools:use
POST/tools/valuationlive
Value an X accounttools:use
POST/tools/shadowban-checklive
Check an X account for visibility filteringtools:use
POST/tools/follower-auditlive
Audit an X account's followers for fakestools:use
POST/tools/engagement-calculatorlive
Measure an X account's engagement ratetools:use
POST/tools/best-posting-timelive
Find when an X account should posttools:use
POST/tools/algorithm-scorelive
Score an X account against the ranking signalstools:use
POST/tools/bio-optimizerlive
Score and rewrite an X bio (AI)tools:use
POST/tools/profile-roastlive
Roast and fix an X profile (AI)tools:use
POST/tools/tweet-analyzerlive
Analyze a single X posttools:use
POST/tools/mention-checkerlive
See who is mentioning an X accounttools:use
POST/tools/growth-simulator
Project how long a follower target takestools:use
GET/tools/profile-piclive
Fetch an X profile picture URLtools:use
Read the full reference, with every parameter and response

YouTube API questions

How is this different from the YouTube Data API?

The Data API prices in quota units, where different calls cost different amounts and everything stops when the daily allowance runs out. This API prices in requests against a monthly plan, so a channel lookup costs the same as any other read and there is no daily cliff. Under the hood we use the Data API when a key is configured, because it is the more complete source.

Can I verify who owns a YouTube channel?

Yes. The owner places a short code in the channel description and you call the verification endpoint with the handle and the code. One caveat worth knowing before you build on it: without a Data API key the description we can read is truncated, so tell owners to put the code at the start.

Why did a lookup fail on a channel that clearly exists?

Almost always because the channel hides its subscriber count. The count and the rest of the channel data come from the same read, so when the source withholds the count there is nothing partial to return. The error quotes YouTube's own explanation rather than inventing one.

The same API, on six other platforms

One key, one envelope, one bill. Reading a second platform is a different path, not a different integration.