transcriptfetchGitHubDashboard
API reference

age_restricted · 4004 · HTTP 422

The video is age-restricted and not accessible without sign-in.

Example response

{
  "ok": false,
  "request_id": "req_…",
  "error": {
    "code": "age_restricted",
    "number": 4004,
    "message": "The video is age-restricted and not accessible without sign-in.",
    "docs": "https://transcriptfetch.com/docs/errors/age_restricted",
    "retry_with": {
      "mode": "audio"
    }
  }
}

Every failure carries error.code, error.number, error.message and error.docs, plus at most one of retry_with (the request change that would succeed), details (structured specifics) or issues (validation problems). Family: 4xxx · the media has no transcript to give.

What it means

Age-restricted. The video is age-restricted and not accessible without sign-in.

Shown to end users as: “This video is age-restricted, so its transcript can't be fetched.

Why it happens

  • Age-restricted. The video is age-restricted and not accessible without sign-in.

What to do

  • Permanent for this input: the same request will fail the same way, so do not retry unchanged. Failed requests are never charged.
  • The content likely contains speech even though no caption track can be served, so AI transcription of the audio may still produce a transcript. When it can, the response carries `error.retry_with: { "mode": "audio" }`; send that and it bills from 1 credit (2 credits per minute of audio) on delivery, never on failure.
Retryable? No, this is permanent for this input. Every error response carries a request_id; include it when contacting support.

Related errors

age_restricted (4004, HTTP 422) · TranscriptFetch API error