YouTube playlistItems.insert costs 50 units: adding Shorts in bulk
YouTube's playlistItems.insert page lists 50 quota units per add. What that caps per day, the series-playlist duplicate error, and how to plan episodes.

Adding a video to a playlist through the YouTube Data API costs 50 quota units per call, per the playlistItems.insert page (read 2026-10-02). Against the default 10,000-unit pool for non-upload endpoints, that is at most 200 playlist adds per day, fewer if you also spend units elsewhere.
That matters for a Shorts series, where each episode is a playlist entry. Uploads sit in their own bucket now, so the playlist step, not the upload, can become the daily bottleneck.
What the page says
Facts below are from the playlistItems.insert page and the quota calculator, both read 2026-10-02.
| Item | What the page lists |
|---|---|
| Quota cost | 50 units |
| Scopes (any one) | youtubepartner, youtube, or youtube.force-ssl |
| Required body fields | snippet.playlistId and snippet.resourceId |
| Optional fields | snippet.position; contentDetails.note (max 280 characters); startAt; endAt |
| Position error | Setting a position fails if the playlist does not use manual sorting |
| Duplicate error | Videos already in series playlists cannot be duplicated |
The daily arithmetic
Per 10,000 units: 200 adds if adds are all you do. Add a thumbnail upload at 50 units per video and it falls to 100 videos fully dressed per day, which happens to match the 100-call videos.insert bucket. So a 30-episode season (30 uploads, 30 adds, 30 thumbnails, so 3,000 units outside the upload bucket) fits in one day with room to spare.
Order the work around the error list
- Add each episode once. The page says videos already in series playlists cannot be duplicated, so make your queue idempotent: store which episode went into which playlist.
- Add in episode order and let the playlist keep that order, unless the playlist uses manual sorting, since position can only be set there.
- Treat the playlist item note as a 280-character field and trim it before sending.
Where Sume fits
Sume produces the episodes, not the playlist. Use a bulk Format run to queue up to 100 runs with a concurrency window, then upload and add them yourself. Sume docs describe no YouTube playlist or series feature, so ordering and series membership stay in your own queue.
The takeaway for episode batches
Playlist adds are cheap in isolation but add up in a season-sized run. Count them next to thumbnails and caption uploads before you promise a release date, and spread a long season over two days if needed.
Since the page warns that duplicates in series playlists fail, keep a ledger keyed by episode number. If a run dies halfway, the ledger tells you which adds already happened, so the resume does not waste 50 units per retry on items that will only error.
Sources
Related posts
More in Developers
- YouTube publishAt in the past publishes now: a guard for batches
The Videos resource says a past publishAt publishes the video immediately, and it works only on private videos. A Python guard for scheduled Shorts batches.
- YouTube search.list: 100 calls a day, and what Sume searches
search.list now has its own 100-calls-per-day bucket. What that means for finding reference Shorts, and why Sume trending search covers TikTok only.
- YouTube selfDeclaredMadeForKids vs madeForKids: set it on upload
On videos.insert you set status.selfDeclaredMadeForKids; the API returns madeForKids. How the two differ, and one template for a batch of AI-made Shorts.
- YouTube upload failureReason: codec, tooSmall, emptyFile
A failed YouTube upload reports one of six failureReason values. What each means and how to pre-check a clip with Sume video inspect before you upload.
Written by Sume