YouTube API Quota Calculator
See what a YouTube Data API workload costs before you write it. Google gives each project 10,000 quota units a day. A quota unit is the points Google charges for each API call. We use Google's published prices and do the maths in your browser, so checking spends none of your quota.
Google gives every project 10,000 quota units a day. Each call your app makes spends some of them, and the prices vary a lot. Reading a video costs 1 unit. A keyword search costs 100. Uploading a video costs 1,600. Add what your app does below, and the calculator tells you if it fits in a day.
Start from a common setup
What your app does
search.list · 100 units × 480 calls
videos.list · 1 unit × 480 calls
This does not fit in one day.
It needs 48,480 units a day, and you only get
10,000. Your app would finish only about 21% of the day's work. Then Google returns the error 403 quotaExceeded until the quota resets.
Google resets the quota at midnight Pacific Time, in about 16h 49m.
There is a cheaper way to do this
You're searching YouTube to find videos, and each search costs 100 units. If those searches only fetch one channel's uploads, read that channel's uploads playlist instead. You get the same videos for 1 unit and save 47,520 units a day.
This works only when you read one channel's own uploads. A keyword search across all of YouTube has no cheap option.
Short answer
Google gives every YouTube Data API project 10,000 quota units a day. It resets them at midnight Pacific. Reads like videos.list, channels.list and playlistItems.list cost 1 unit each. search.list costs 100, writes cost 50 and videos.insert costs 1,600. So 100 searches use up a whole day, and six uploads use up nearly all of it. List calls charge for every page of 50 results, so each extra page adds to the price. You can usually save the most on how you read a channel's uploads. Drop search.list and call playlistItems.list on the uploads playlist. You get the same videos for 1 unit per page instead of 100.
YouTube API quota costs, method by method
Google prices each method in units, from 1 unit up to 1,600. If you build a job from the wrong calls, it can cost 100 times more than the same job built from the right ones. Reads are cheap. Searches, caption downloads and uploads eat the budget.
| Method | Units | What it is for |
|---|---|---|
| videos.list | 1 | Video metadata, statistics and content details |
| channels.list | 1 | Channel metadata, statistics and branding |
| playlistItems.list | 1 | Videos inside a playlist (the uploads-playlist route) |
| commentThreads.list | 1 | Top-level comments on a video |
| search.list | 100 | Keyword and channel search: the most expensive read |
| captions.list | 50 | Lists the caption tracks on a video |
| captions.download | 200 | Downloads a caption track. You need the owner's auth |
| Writes (update, delete, insert) | 50 | Playlists, comments, thumbnails, metadata |
| videos.insert | 1,600 | Uploads a video. Each upload uses 16% of a day's quota |
Take a job that makes 200 videos.list calls and runs 20 searches a day. The reads cost 200 units and the searches cost 2,000 units. Add five uploads and you spend another 8,000 units, for 10,200 in total. That job doesn't fit in one day.
Ask for every part in one call
Where your YouTube API quota actually goes
Most projects that run out of quota hit one of four problems. Making too many requests is rarely one of them.
- Using search.list as a lookup. A search for a channel's latest video costs 100 units. Reading its uploads playlist costs 1. Check twenty channels every hour and you make 480 calls a day. With search, that costs 48,000 units. With the playlist, it costs 480.
- Pages nobody counted. List calls return 50 results per page and charge for each page. So a query that reads ten pages costs ten times your estimate.
- The scheduler. A job that runs every hour costs 24 times a single run. If you priced the workload per run, your estimate is 24 times too low.
- Retrying against an empty quota. Once you spend the quota, every retry returns 403 until the reset. Exponential backoff saves you from rate limits. It does nothing for an empty quota.
So the calculator asks for calls per day and pages per call in separate fields. It multiplies the two for you. If you fold them into one number, you undercount every call that reads more than one page. Take the comment analysis preset. It reads 50 videos a day, 10 pages each. The comment threads cost 500 units a day, not 50.
quotaExceeded vs rateLimitExceeded, and how to get a quota increase
Both errors return HTTP 403, and you handle them in opposite ways. So read the reason field in the response. The status code alone won't tell you if a retry will help or just burn the rest of the day. A client that treats every 403 the same way keeps hitting an empty quota until midnight Pacific.
| Error | What it means | What to do |
|---|---|---|
| quotaExceeded | Your project spent all 10,000 units for the day | Stop. Only the midnight Pacific reset or an approved increase clears it |
| rateLimitExceeded | You sent too many requests too fast | Slow down and retry. Your quota is still fine |
| userRateLimitExceeded | One user or IP sent too many requests | Throttle per user, then retry |
More keys do not mean more quota
If a workload still won't fit, ask Google for a quota increase. Its extension form asks what your project does and how it uses YouTube data. You also confirm that your app follows the API Services Terms. Google often takes weeks to approve, so send the form while you're still writing the code. Don't wait for the day your users start seeing 403s. The full quota guide explains what to put in that form. Our page on YouTube API pricing shows what the alternatives cost.
How to calculate YouTube API quota usage
It takes six steps. Steps two and three matter most, because each one can change the answer tenfold or more.
- 01
Pick the preset closest to what you're building
Most projects look like one of the five presets, such as competitor tracking or uploads. Start from the closest one and edit it. That is faster than building a workload from an empty list. You also see each unit price next to a realistic number of calls. - 02
Enter calls per day
Google counts quota per day, so enter how many times each call runs in a day. A job that runs every hour costs 24 times one run. This is the most common mistake. A workload that looks like 40 units per run really costs 960 units a day. - 03
Enter the pages for every list call
A list call returns up to 50 results per page, and Google charges for every page. So a search that reads five pages costs 500 units, five times the price of one. Most workloads run out of quota here without anyone noticing. So the calculator gives pages a field of their own. - 04
Check the percentage bar
Keep the bar under 75%. Above that, you have no room for a burst of retries or a backfill. A workload that uses exactly 10,000 units has nothing left over. The day something breaks and your client starts retrying, you hit the limit. - 05
Use the search.list swap when it appears
Does your workload read one channel's uploads? Then playlistItems.list returns the same videos as search.list for 1 unit instead of 100. The calculator offers this swap only when your workload uses search.list. Click it and the calculator changes the rows in place, so you see the new total right away. - 06
Still over? Request an increase before you build
Google's quota extension form asks what your project does and how you use the data. Google takes weeks to approve it. So send the form while you're still writing the code. Don't wait until one of your users sees a 403.
Read the YouTube API quota guide for the full cost table. It also explains how the reset works and how to fill in the extension form. No key yet? Start with how to get a YouTube API key. The YouTube Data API guide shows what each endpoint returns.
Building a channel monitor?
What this YouTube API quota calculator handles
Google's published prices
The documented unit cost for every method
A field for pages
Pages multiply the cost, so they get a field
Costs per day
The quota is daily and so is every total
Five presets
Competitor tracking, comment analysis, keyword research, uploads
The search.list swap
Shows up only when it applies, with the saving in units. One click applies it
Spare quota
How many times the workload fits in a day, and what's left over
Reset countdown
Time left until midnight Pacific. It stays correct when the clocks change
Runs in your browser
You need no API key or signup. Checking your quota spends none of it
Where this calculator stops
Frequently asked questions
How much quota does the YouTube Data API give you?
Google gives each project 10,000 units a day by default. Every API key in the project spends from that one daily total. Google resets it at midnight Pacific Time, whatever your own timezone is.
How much does search.list cost?
100 units. videos.list, channels.list and playlistItems.list cost 1 unit each. So one search costs as much as 100 of those reads. The default quota pays for about 100 searches a day. You get fewer if each search reads more than one page.
What is the playlistItems.list trick?
Every channel has an uploads playlist. To get its id, take the channel id and change the UC at the start to UU. Then call playlistItems.list on that playlist. It returns the channel's videos for 1 unit per page, while search.list charges 100. The swap works only when you read one channel's uploads. A keyword search across YouTube still needs search.list.
Does requesting more parts cost more quota?
No. videos.list costs 1 unit whether you ask for one part or all of them. One call for snippet, statistics and contentDetails costs the same as snippet alone. If you split that into three calls, you pay three units for the same data.
Does pagination cost extra quota?
Yes, and most quotas run out here. A list call returns at most 50 results per page. Google charges the full unit price for each page. So a search that reads five pages costs 500 units.
When exactly does the quota reset?
Google resets it at midnight Pacific Time. That is 08:00 UTC during Pacific Standard Time and 07:00 UTC during Pacific Daylight Time. Nothing else clears the daily quota. A new API key won't reset it, and a new billing account won't either. Midnight in your own timezone doesn't reset it.
What does 403 quotaExceeded mean?
It means your project has spent all 10,000 units for the day. Retries won't fix it. The error clears when the quota resets or when Google approves an increase. rateLimitExceeded is a different error. It means you sent too many requests too fast. Slow down and retry to fix that one.
Can I get more than 10,000 units a day?
Yes. Fill in Google's quota extension request form. It asks what your project does and how it uses YouTube data. Your app also has to follow the API Services Terms. Google often takes several weeks to approve a request, so send it before launch. If you wait until your users see errors, you've left it too late.
Do multiple API keys give me more quota?
Not within one project. The 10,000 units belong to the project, and every key in it shares them. Some teams spread calls across several projects to get more quota. That breaks the API Services Terms, and it's a common reason Google suspends projects.
How much does uploading a video cost?
1,600 units. videos.insert is the most expensive call in the API. Six uploads use 9,600 of your 10,000 daily units on their own. That is before you set a thumbnail or change any details. So a tool that uploads a lot needs a quota extension to work at all.
Does a failed request still cost quota?
Only if it reaches the API. Google rejects a malformed call or a bad key first, and you spend nothing. A request that reaches the API and returns a result costs its full price. You pay whether you use the response or not. So caching saves you more quota than clever retry logic does.
Is this calculator accurate?
The unit prices are exact. Each one is Google's published cost for that method, and the maths runs in your browser. Your inputs are the weak spot. If you guess too few pages or too few scheduled runs, your real usage will be higher.
Research YouTube data without a quota to budget
OutlierKit's API answers the research questions you'd otherwise piece together by hand from Data API calls. It covers outlier videos, semantic channel search, transcripts and keyword volumes. Each call costs one credit. You have no quota to budget and no pages to count.