YouTube Data API: 100 videos.insert calls a day, plan Sume uploads

Google's default quota gives a project 100 videos.insert calls per day. Batch Sume clips into a daily upload plan and render only what you can post.

5 min readSume
All posts

Google's quota page says a project that enables the YouTube Data API gets a default of 100 videos.insert calls per day, in a bucket separate from other methods. A pipeline that renders 300 Shorts a day will not fit, so plan the day: render and upload at most what the bucket allows, and queue the rest.

The same page lists 100 search.list calls and 10,000 units per day combined for all other endpoints.

What are the default buckets?

From Google's quota page.

YouTube Data API default daily quota (read 2026-10-05)
BucketDefault per day
videos.insert100 calls
search.list100 calls
All other endpoints combined10,000 units

How do I split a backlog?

Chunk the finished clips into days of at most 100 uploads. The sample plans a backlog; it only counts, it does not call YouTube.

def plan_days(clips: list, per_day: int = 100) -> list:
    return [clips[i : i + per_day] for i in range(0, len(clips), per_day)]


if __name__ == "__main__":
    days = plan_days([f"job_{n}" for n in range(250)])
    print([len(day) for day in days])

Should I render ahead?

Rendering ahead of the quota is allowed, but you pay for every render. Sume accepts valid jobs as queued while capacity remains, and queue_full appears only when the queue is also full (Generation admission). Submit a day's worth, store the job ids, and upload as slots reset. The post on YouTube quota reset covers timing.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume