Skip to content
Schedule Social Media

Press Esc to close.

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.

MethodWhat a scheduler uses it forCostBucket
videos.insertUpload the video, set privacy and publish time1 unit per call, 100 calls a dayVideo Uploads
videos.updateChange title, description, privacy or publish time50 unitsShared 10,000
videos.listCheck processing status, read stats1 unitShared 10,000
videos.deleteRemove a video50 unitsShared 10,000
thumbnails.setCustom thumbnail (Shorts too, after processing)50 units (the method page says "approximately 50")Shared 10,000
playlistItems.insertAdd the video to a playlist50 unitsShared 10,000
playlistItems.listRead a channel's uploads playlist1 unitShared 10,000
playlists.insertCreate a playlist50 unitsShared 10,000
captions.insertUpload a subtitle file400 unitsShared 10,000
captions.updateReplace a subtitle file450 unitsShared 10,000
captions.listList a video's caption tracks50 unitsShared 10,000
captions.downloadDownload a caption track200 units (from the method page; not in the calculator)Shared 10,000
search.listSearch YouTube1 unit per call, 100 calls a daySearch Queries
channels.listRead the connected channel1 unitShared 10,000
commentThreads.insertPost a top-level comment50 unitsShared 10,000
videos.batchGetStatsRead stats for several videos1 unitIts 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

DateWhat changedOur entry
July 28, 2020Uploads from new unverified projects locked to private until an auditReversed on November 2, 2026
July 1, 2021An audit becomes required for more than the default 10,000 unitsNot covered by an entry
April 12, 2024captions.insert and captions.update stop auto syncing timingCaption sync dropped
December 4, 2025Upload estimate cut from about 1,600 to about 100 unitsUpload cost lowered
June 1, 2026videos.insert and search.list move to their own bucketsGranular quota buckets
June 3, 2026videos.batchGetStats added with its own 10,000 unit bucketGranular quota buckets
September 14, 2026thumbnails.set accepts files up to 50MBThumbnail limit raised
November 2, 2026Unverified uploads no longer private only; default privacy is publicPrivate-only rule lifted
November 3, 2026thumbnails.set works on Shorts after processingShorts 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.privacyStatus on 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

Related

Get an email when a platform changes its API

One email per new entry: what changed, who is affected, and the deadline.

Follow with RSS, or per platform, for example X or Meta.