Submit a download

For AI agents: docs index at /docs/llms.txt; any page as Markdown by adding .md to its URL.

Queue a YouTube video for download. Returns a jobId that you poll on GET /download/{jobId} until status is COMPLETED (or FAILED).

Prefer push over polling? Pass a webhookUrl and we POST the final status to it instead — the body is byte-for-byte the GET /download/{jobId} response. See the download.finished webhook below for headers, signature verification and retries.

The actually-delivered format is reported as actualFormat on the completed status response.

Cost: bandwidth at the actual file size delivered (20 MB minimum), charged when the background job completes — submitting the job is free. There is no per-download fee. Failures are not charged.

POST
/download

Authorization

Bearer token. API key issued from the dashboard, sent as Authorization: Bearer YOUR_API_KEY. Get a key at https://vidkraken.com/login.

Parameters

  • Idempotency-Key (header, string)

    Optional. A unique string (e.g. a UUID), up to 255 visible ASCII characters. Retrying with the same key and body within 24 hours returns the original response instead of creating a second job.

    Example: 4f1c9a2e-8d3b-4c7a-9f0e-2b6d5a1c3e7f.

Request Body

application/json

Download parameters.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://vidkraken.com/api/v2/download" \  -H "Authorization: Bearer YOUR_API_KEY" \  -H "Content-Type: application/json" \  -d '{"url":"https://youtu.be/dQw4w9WgXcQ","format":"audio"}'
{
  "jobId": "69cfc45e8a3b4d2f9c1e0a7b",
  "title": "Rick Astley - Never Gonna Give You Up",
  "duration": 213,
  "status": "IN_QUEUE",
  "message": "Download job enqueued. Poll GET /api/v2/download/{jobId} for status."
}

{
  "error": "Missing required field: url",
  "code": "INVALID_REQUEST"
}

{
  "error": "Missing API key. Provide it as 'Bearer YOUR_API_KEY'",
  "code": "UNAUTHORIZED"
}

{
  "error": "Credit limit reached",
  "code": "LIMIT_REACHED"
}
{
  "error": "Video not found. Check the URL — the video may be private, deleted, or the id may be wrong.",
  "code": "VIDEO_NOT_FOUND"
}
{
  "error": "A request with this Idempotency-Key is still being processed. Retry shortly.",
  "code": "IDEMPOTENCY_CONFLICT"
}
{
  "error": "This Idempotency-Key was already used with a different request body. Use a new key.",
  "code": "IDEMPOTENCY_KEY_REUSED"
}
{
  "error": "Too many pending downloads (100). Wait for some of your jobs to finish before submitting more (limit: 100 queued or in progress).",
  "code": "TOO_MANY_PENDING"
}
{
  "error": "Failed to enqueue download job",
  "code": "INTERNAL_ERROR"
}
{
  "error": "The download could not be queued. Please try again in a minute.",
  "code": "UNAVAILABLE"
}
Vid Kraken Docs