YouTube Data API v3 logo

YouTube Data API v3

YouTube Data API v3

YouTube Data API v3 lets apps query channels, videos, playlists, and comments — the standard entry point for YouTube integrations and analytics.

Visit site ↗Health checked 9h ago
Use it when

Public-data calls need only an API key — zero auth friction

Watch for

Default quota of 10,000 units/day; Search costs 100 units/call and burns through quickly

First check

Enable YouTube Data API v3 at console.cloud.google.com and generate an API key for public read access. OAuth is required only when operating on a user's own channel (uploads, playlist edits).

Auth
oauth
CORS
No
HTTPS
Yes
Signup
Required
Latency
40 ms
Protocol
REST
Pricing
free

Uptime · 30-day window

Probes: 1Uptime: 100%Avg latency: 40ms
01

About this API

YouTube Data API v3 is the standard surface for YouTube public metadata: videos, channels, playlists, comments, captions. The bulk of read operations (channel subscribers, video views, video search) need only an API key — no OAuth — which is ideal for trend analysis and aggregator sites.

Quota is the central constraint. Each call deducts quota units: videos.list costs 1, search.list costs 100, videos.insert costs 1,600. The default daily allowance is 10,000 units, and Search is by far the most common cause of exhaustion. Scaling beyond that usually requires applying for a quota extension, which Google reviews against your stated use case. Uploading videos or operating on a user channel requires OAuth with scopes like youtube.upload.

02

What you can build

  • 1Build YouTube video aggregators or trend monitors
  • 2Query channel and video stats for analytics dashboards
  • 3Read/write a creator's own channel content
  • 4Embed YouTube videos via search lookups
  • 5Pull comments for sentiment or trend analysis
03

Strengths & limitations

Strengths

  • Public-data calls need only an API key — zero auth friction
  • Search, Videos, Channels, Comments cover most needs
  • CC BY metadata included for licensing-aware use

Limitations

  • Default quota of 10,000 units/day; Search costs 100 units/call and burns through quickly
  • Video upload requires OAuth and is quota-limited
  • Some fields (full view-history trends) require YouTube Analytics API
04

Example request

Generic template — replace <endpoint> with the real path from the docs.
curl https://google.com/<endpoint> \
  -H "Authorization: Bearer $ACCESS_TOKEN"
05

Getting started

Enable YouTube Data API v3 at console.cloud.google.com and generate an API key for public read access. OAuth is required only when operating on a user's own channel (uploads, playlist edits).

06

FAQ

Does public-data access need OAuth?+

No — an API key is enough. OAuth is only required when operating on a user-owned channel.

Why did my quota burn out so fast?+

search.list costs 100 units per call out of 10,000/day. Cache search results or use videos.list with IDs for bulk lookups.

How do I get a higher quota?+

Apply for a quota extension in Cloud Console — describe your use case, traffic estimate, and audience. Google reviews it manually.

Is it accessible from China?+

No — googleapis.com is blocked in mainland China. You'll need an overseas deployment or VPN.

07

Technical details

CORS: NoHTTPS: YesSignup: YesOpen source: No
Auth type
oauth
Pricing
free
Protocols
REST
SDKs
python, javascript, java, go, ruby
Response time
40 ms
Last health check
5/12/2026, 7:37:37 AM
08

Endpoints

Parsed from the OpenAPI spec. Showing 12 of 76 non-deprecated endpoints.

POST
/youtube/v3/abuseReportsabuseReports
part:query*
GET
/youtube/v3/activitiesactivities
part:query*channelId:queryhome:querymaxResults:querymine:query+4 more
DELETE
/youtube/v3/captionscaptions
id:query*onBehalfOf:queryonBehalfOfContentOwner:query
GET
/youtube/v3/captionscaptions
part:query*videoId:query*id:queryonBehalfOf:queryonBehalfOfContentOwner:query
POST
/youtube/v3/captionscaptions
part:query*onBehalfOf:queryonBehalfOfContentOwner:querysync:query
PUT
/youtube/v3/captionscaptions
part:query*onBehalfOf:queryonBehalfOfContentOwner:querysync:query
GET
/youtube/v3/captions/{id}captions
id:path*onBehalfOf:queryonBehalfOfContentOwner:querytfmt:querytlang:query
POST
/youtube/v3/channelBanners/insertchannelBanners
channelId:queryonBehalfOfContentOwner:queryonBehalfOfContentOwnerChannel:query
GET
/youtube/v3/channelschannels
part:query*categoryId:queryforUsername:queryhl:queryid:query+6 more
PUT
/youtube/v3/channelschannels
part:query*onBehalfOfContentOwner:query
DELETE
/youtube/v3/channelSectionschannelSections
id:query*onBehalfOfContentOwner:query
GET
/youtube/v3/channelSectionschannelSections
part:query*channelId:queryhl:queryid:querymine:query+1 more

64 more endpoints not shown. See the OpenAPI spec for the full list.

09

Tags

10

More from Google