Error codes
See the canonical Scority error table.
Open →Troubleshoot common YouTube API and transcript API errors, including invalid_video_id, unauthorized, rate_limited and upstream failures.
For Scority transcript requests, the useful field is error.code. It tells you whether to fix input, authenticate, slow down, check quota, try another video or retry later.
YouTube-related APIs sit between your app, credential rules, video availability, caption availability and upstream network behavior. A visible YouTube page does not guarantee that transcript text is available through an API.
| Status | What to do | Relevant codes |
|---|---|---|
| 400 | Fix request input before retrying. | invalid_video_id, invalid_video_url, ambiguous_request, invalid_language, ambiguous_language |
| 401 | Send a valid x-api-key header from server-side code. | unauthorized |
| 403 | For Scority's public web proxy, /api/transcript returns 403 transcript_demo_disabled. Use https://api.scority.ai instead. | transcript_demo_disabled on the web app |
| 429 | Slow down or check monthly quota, depending on the error code. | rate_limited, quota_exceeded |
| 404 | The requested transcript was not available for that video or language. | transcript_not_available |
| 502 | Upstream transcript access failed and may be worth retrying later. | upstream_transcript_failed |
400-level validation errors usually mean the request should be corrected before retrying.
unauthorized means the API key is missing, invalid or revoked.
The public web app route /api/transcript is intentionally disabled and returns transcript_demo_disabled. Production transcript requests should call https://api.scority.ai/v1/youtube/transcript with x-api-key.
A 429 can mean rate_limited or quota_exceeded. They have different fixes.
These errors describe transcript availability and upstream fetch behavior, not necessarily a bug in your code.
Retry only when the failure can plausibly change. Input validation errors will not fix themselves.
See the canonical Scority error table.
Open →Fix unauthorized requests and server-side key handling.
Open →Separate rate_limited from quota_exceeded.
Open →Understand forbidden responses and why Scority's public web proxy is disabled.
Open →Handle rate_limited, quota_exceeded, Retry-After and backoff.
Open →Debug monthly quota exhaustion separately from burst rate limits.
Open →Review request fields, response shape and OpenAPI.
Open →