googleapis / googleapis/google-api-python-client

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

Abierto
#2,753 0 comentarios 5 reacciones 0 asignados Ver en GitHub
priority: p2 type: bug
Lenguaje dominante
Python
Estrellas
8.9k
Forks
2.6k
Merge medio
2 d 28 min
PR fusionados (30 d)
17

Descripción

## 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:

```json
{
"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

```python
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

* YouTube quota docs: https://developers.google.com/youtube/v3/determine_quota_cost
* `videos.insert` reference: https://developers.google.com/youtube/v3/docs/videos/insert
* YouTube upload guide: https://developers.google.com/youtube/v3/guides/uploading_a_video
* Related Reddit thread: https://old.reddit.com/r/googlecloud/comments/1tm1scx/429_quota_exceeded/

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.