Skip to content

YouTube Data API videos.insert returns hidden “Video Uploads per day” 429 despite quota headroom #2753

@k3v

Description

@k3v

Summary

Starting around May 24-25, 2026, uploads through the YouTube Data API videos.insert endpoint began failing after a small number of uploads per day with HTTP 429:

{
  "error": {
    "code": 429,
    "message": "Quota exceeded for quota metric 'Video Uploads' and limit 'Video Uploads per day' of service 'youtube.googleapis.com' for consumer 'project_number:REDACTED'.",
    "errors": [
      {
        "message": "Quota exceeded for quota metric 'Video Uploads' and limit 'Video Uploads per day' of service 'youtube.googleapis.com' for consumer 'project_number:REDACTED'.",
        "domain": "global",
        "reason": "rateLimitExceeded"
      }
    ]
  }
}

This appears to be a hidden or newly enforced quota separate from the documented YouTube Data API quota-unit system.

Expected behavior

According to the YouTube Data API quota documentation:

  • Default project quota is 10,000 units/day
  • videos.insert costs 100 units
  • Quota resets at midnight Pacific Time

A default project should therefore support roughly 100 uploads/day, assuming no other significant quota usage.

If there is a separate Video Uploads per day quota, it should be documented and visible in Cloud Console / Cloud Quotas API so developers can monitor it and request increases.

Actual behavior

Uploads fail after roughly 7 uploads/day with:

Quota exceeded for quota metric 'Video Uploads' and limit 'Video Uploads per day'

However:

  • Cloud Console shows YouTube Data API quota usage well below 100%
  • gcloud beta quotas info list --service=youtube.googleapis.com does not expose a Video Uploads per day metric
  • Cloud Quotas API also does not appear to expose this metric
  • Manual uploads through YouTube Studio to the same channel still work

Environment

  • API: YouTube Data API v3
  • Method: videos.insert
  • Library: google-api-python-client
  • Version tested: 2.196.0
  • Upload type: resumable upload
  • Auth scope: https://www.googleapis.com/auth/youtube.upload
  • Project has YouTube Data API enabled
  • OAuth app, project, and channel are unchanged from before the regression

Minimal code shape

media = MediaFileUpload(path, chunksize=-1, resumable=True)

request = youtube.videos().insert(
    part="snippet,status",
    body={
        "snippet": {
            "title": title,
            "description": description,
        },
        "status": {
            "privacyStatus": "private",
        },
    },
    media_body=media,
)

response = None
while response is None:
    status, response = request.next_chunk()

Additional evidence

Multiple developers appear to be reporting the same behavior in the same timeframe: API uploads fail after a small number of videos, while Cloud Console still shows quota headroom and manual YouTube Studio uploads still work.

Related Reddit discussion:

https://old.reddit.com/r/googlecloud/comments/1tm1scx/429_quota_exceeded/

Request

Could you please confirm:

  1. whether Video Uploads per day is a new or newly enforced quota;
  2. where this quota can be viewed, monitored, and increased;
  3. whether the current behavior is intentional;
  4. if intentional, whether the public YouTube Data API quota docs and Cloud Console / Cloud Quotas API can be updated to expose this metric?

I understand this may be a service-side quota issue rather than a google-api-python-client bug, but the client is currently surfacing an undocumented quota error that developers cannot inspect or manage through the usual quota tools.

Sources checked

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions