YouTube Data API quota: what each call costs
A new YouTube API project gets 100 uploads, 100 searches and 10,000 units a day. What every scheduling call costs, and how to get more quota.
A new YouTube Data API project gets a default of 100 video uploads, 100 searches and 10,000 units a day for every other call combined, and each upload costs 1 unit from its own upload bucket. That ceiling applies to anyone who builds a scheduler or a publishing script on the API, and to the business owners and agencies whose videos run through those tools.
If you only schedule your own videos, the free route uses no API quota at all: YouTube Studio schedules uploads itself, as our YouTube scheduling guide shows. Quota only matters once software posts for you.
What this means for you
Google gives every app that talks to YouTube a daily allowance, like a phone plan with minutes. Each action spends some of it. Uploading a video now spends very little, but there is a separate cap of 100 uploads a day per app project. Extras such as a custom thumbnail or adding the video to a playlist come out of a bigger shared allowance. When an allowance runs out, the app has to wait until midnight Pacific Time or ask Google for more.
The details
Three buckets, not one
YouTube's getting started page says projects that enable the API "have a default quota allocation of 100 search.list calls, 100 videos.insert calls, and 10,000 units per day combined for all other endpoints." Google adds that the default "is subject to change". The Quota Calculator confirms that search.list and videos.insert "have their own quota buckets" and that daily quotas reset at midnight Pacific Time.
Two rules from the same page are worth knowing before you count. Every request, "including invalid requests", costs at least one unit, so failed calls and retries still use quota. And "a read operation that retrieves a list of resources" usually costs 1 unit, while "a write operation that creates, updates, or deletes a resource" usually costs 50.
What each call a scheduler uses costs
Figures from Google's Quota Calculator unless the row says otherwise, read on November 6, 2026.
| Method | What a scheduler uses it for | Cost | Bucket |
|---|---|---|---|
videos.insert | Upload the video, set privacy and publish time | 1 unit per call, 100 calls a day | Video Uploads |
videos.update | Change title, description, privacy or publish time | 50 units | Shared 10,000 |
videos.list | Check processing status, read stats | 1 unit | Shared 10,000 |
videos.delete | Remove a video | 50 units | Shared 10,000 |
thumbnails.set | Custom thumbnail (Shorts too, after processing) | 50 units (the method page says "approximately 50") | Shared 10,000 |
playlistItems.insert | Add the video to a playlist | 50 units | Shared 10,000 |
playlistItems.list | Read a channel's uploads playlist | 1 unit | Shared 10,000 |
playlists.insert | Create a playlist | 50 units | Shared 10,000 |
captions.insert | Upload a subtitle file | 400 units | Shared 10,000 |
captions.update | Replace a subtitle file | 450 units | Shared 10,000 |
captions.list | List a video's caption tracks | 50 units | Shared 10,000 |
captions.download | Download a caption track | 200 units (from the method page; not in the calculator) | Shared 10,000 |
search.list | Search YouTube | 1 unit per call, 100 calls a day | Search Queries |
channels.list | Read the connected channel | 1 unit | Shared 10,000 |
commentThreads.insert | Post a top-level comment | 50 units | Shared 10,000 |
videos.batchGetStats | Read stats for several videos | 1 unit | Its own bucket, 10,000 units a day (revision history, June 3, 2026) |
videos.batchGetStats is not in the calculator, and its own method page states the 1 unit cost but no default quota, so that default comes only from the revision history.
How scheduling works through the API
There is no separate scheduling endpoint. The videos resource says status.publishAt is "the date and time when the video is scheduled to publish", in ISO 8601 format, and that it "can only be set if the video's privacy status is private and the video has never been published." A time in the past publishes the video "right away".
So a scheduled upload is one videos.insert call with status.privacyStatus set to private and status.publishAt set to the publish time. To move the time later, videos.update must send privacyStatus: private again, "even if the video is already private", and that update costs 50 units. Be careful with it: Google says omitted values in an updated part are deleted.
Since November 2, 2026, a videos.insert without a privacy status defaults to public, including from unverified projects, so a scheduler that forgets the private status publishes at once.
A worked example
Take a default project that schedules videos with a custom thumbnail and adds each one to a playlist, checking processing once with videos.list:
- Upload bucket: 1 call per video, so at most 100 videos a day.
- Shared bucket: 50 (
thumbnails.set) + 50 (playlistItems.insert) + 1 (videos.list) = 101 units per video. 10,000 divided by 101 is 99.0, so 99 videos a day. - Add a caption file with
captions.insert(400 units) and each video costs 501 units: 10,000 divided by 501 is 19.96, so 19 videos a day.
Plain uploads with nothing else stop at 100. Under the figure Google published before December 4, 2025 (about 1,600 units per upload from the 10,000 pool), the same project managed 6 uploads a day.
Quota belongs to the API project, not to each customer, so a tool that runs all its customers through one project shares those 100 uploads between them. Separately, YouTube Help says each channel has an unpublished daily upload limit "across desktop, mobile, and YouTube API", and a channel that hits it sees "Upload limit reached" and should "try again in 24 hours".
Getting more quota
Google's audit page says projects that want more than the default must first complete an audit showing they comply with the YouTube API Services Terms of Service, then submit the YouTube API Services Audit and Quota Extension Form. Google says it will reply "as soon as possible" and gives no timeframe or fee. YouTube also runs periodic audits. A project audited in the last 12 months that needs more quota uses the same extension form. The June 1, 2026 revision history entry that split out the buckets points developers to the Google Cloud Console to see their limits and to the same form for more quota.
Timeline
| Date | What changed | Our entry |
|---|---|---|
| July 28, 2020 | Uploads from new unverified projects locked to private until an audit | Reversed on November 2, 2026 |
| July 1, 2021 | An audit becomes required for more than the default 10,000 units | Not covered by an entry |
| April 12, 2024 | captions.insert and captions.update stop auto syncing timing | Caption sync dropped |
| December 4, 2025 | Upload estimate cut from about 1,600 to about 100 units | Upload cost lowered |
| June 1, 2026 | videos.insert and search.list move to their own buckets | Granular quota buckets |
| June 3, 2026 | videos.batchGetStats added with its own 10,000 unit bucket | Granular quota buckets |
| September 14, 2026 | thumbnails.set accepts files up to 50MB | Thumbnail limit raised |
| November 2, 2026 | Unverified uploads no longer private only; default privacy is public | Private-only rule lifted |
| November 3, 2026 | thumbnails.set works on Shorts after processing | Shorts custom thumbnails |
More on posting to YouTube, including thumbnail and Shorts sizes, is on the YouTube hub.
What to do next
- Business owners: Nothing, unless a tool posts for you and an upload fails near the end of the day. Then ask whether it hit its daily quota, or schedule that video in YouTube Studio.
- Marketers and agencies: If you push dozens of videos a day through one tool, ask whether its project has extended quota, and spread big batches across days.
- Developers: Count uploads and shared units separately, set
status.privacyStatuson every upload, and submit the audit form before your users reach 100 uploads a day.
Questions people ask
How much quota does a YouTube upload cost?
One unit from the Video Uploads bucket, which allows 100 videos.insert calls a day by default. That bucket is separate from the 10,000 daily units every other method shares, so a custom thumbnail (50 units) or adding the video to a playlist (50 units) comes out of the larger pool.
How do I get more YouTube API quota?
Complete YouTube's audit and submit the YouTube API Services Audit and Quota Extension Form. Google says projects need an audit showing they follow the YouTube API Services Terms of Service before they get more than the default. It gives no review time.
When does YouTube API quota reset?
Daily quotas reset at midnight Pacific Time, according to Google's Quota Calculator page.
Can you schedule a YouTube video through the API?
Yes. Upload the video with status.privacyStatus set to private and status.publishAt set to the publish time in ISO 8601 format. It only works on a private video that has never been published, and a time in the past publishes it at once.
Sources
- YouTube Data API: Quota Calculator
- YouTube Data API: Getting started (Quota usage)
- YouTube API Services: Audits and quota extensions
- YouTube Data API: Revision history
- YouTube Data API: Videos resource (status.privacyStatus, status.publishAt)
- YouTube Data API: videos.insert
- YouTube Data API: search.list
- YouTube Data API: thumbnails.set
- YouTube Data API: captions.download
- YouTube API Services: Audit and Quota Extension Form
- YouTube Help: Upload YouTube videos (daily upload limit)
Related
- API
Instagram API versions: what replaced v1 and Basic Display
Basic Display has failed since December 2024 and v1.0 was deprecated in January 2025. What replaced them, a dated timeline of every change and what to do.
- Tools
HubSpot social media tool: what it does, which plan you need, the limits
HubSpot's social tool comes with Marketing Hub Professional, from $800 a month plus $3,000 onboarding. Networks, account limits, approvals, the social agent and what it can't do.
- API
Meta Graph API versions: the newest version and every end date
Graph API v26.0, released July 29, 2026, is the newest version in our changelog, and v21.0 is next to go on January 21, 2027. Every version and end date.
- API
X API pricing in 2026: pay-per-use, credits and what is still free
The X API runs on prepaid pay-per-use credits: $0.015 to publish a post, $0.20 if it has a link. Current rates, free credits and what changed, from X's own docs.