voiddlv2.4
Sign inGet the app →
REST · Bearer auth · yt-dlp powered

The voiddl
HTTP API.

Two endpoints. Extract metadata from any URL, stream the file back. Supports YouTube, TikTok, Instagram, X, SoundCloud, and 10+ more platforms.

$ curl -X POST https://voiddl.app/api/extract
— Auth

Bearer token.

Every request needs an API key in the Authorization header.

Keys start with vd_ and are issued from your dashboard. Shown once at creation.

bash
# Pass your key on every request
curl -X POST https://voiddl.app/api/extract \
  -H "Authorization: Bearer vd_xxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://youtu.be/dQw4w9WgXcQ"}'
— Endpoints

Three routes. That's the whole API.

POST/api/extractExtract metadata and all available formats for any URL.POST/api/v1/extractLegacy alias for /api/extract. Identical response.GET/api/proxyStream or download the media file directly.
POST/api/extract

Returns title, thumbnail, duration, and every available format for a URL. No bytes downloaded — metadata only. Use best.format_id to speed up the proxy step.

Request
bash
curl -X POST https://voiddl.app/api/extract \
  -H "Authorization: Bearer vd_xxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'
Response · 200 OK
application/json
{
  "status":    "success",
  "platform":  "youtube",
  "title":     "Rick Astley - Never Gonna Give You Up",
  "thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg",
  "duration":  213,
  "author":    "RickAstleyVEVO",
  "best": {
    "format_id":      "137+140",
    "ext":            "mp4",
    "height":         1080,
    "resolution":     "1080p",
    "filesize_human": "47.2 MB"
  },
  "formats": [
    { "ext": "mp4", "height": 1080, "format_id": "137+140", "filesize_human": "47.2 MB" },
    { "ext": "mp4", "height": 720,  "format_id": "136+140", "filesize_human": "22.1 MB" },
    { "ext": "m4a", "height": 0,    "format_id": "140",     "filesize_human": "3.1 MB"  }
  ]
}
Body parameters
urlstringrequiredFull media page URL from any supported platform.
GET/api/proxy

Streams the media file directly. Supports Range headers for seeking. Pass format_id from extract to skip re-extraction and start faster.

Examples
bash
# Auto quality (picks best)
curl -L -o video.mp4 \
  -H "Authorization: Bearer vd_xxxxxxxxxxxxxxxxxxxx" \
  "https://voiddl.app/api/proxy?url=URL"

# Specific format (faster — skips re-extraction)
curl -L -o video.mp4 \
  -H "Authorization: Bearer vd_xxxxxxxxxxxxxxxxxxxx" \
  "https://voiddl.app/api/proxy?url=URL&format_id=137%2B140"

# Audio only
curl -L -o audio.m4a \
  -H "Authorization: Bearer vd_xxxxxxxxxxxxxxxxxxxx" \
  "https://voiddl.app/api/proxy?url=URL&audio=1"
Response headers
headers
Content-Type:        video/mp4
Content-Disposition: attachment; filename="video.mp4"
Accept-Ranges:       bytes
Query parameters
urlstringrequiredMedia page URL (URL-encoded).
format_idstringoptionalyt-dlp format ID from /api/extract. Skips re-extraction.
qualitynumberoptionalMax height: 360, 480, 720, 1080. Defaults to 1080.
audiostringoptionalSet to "1" for audio-only output (M4A).
filenamestringoptionalFilename for Content-Disposition. Defaults to "download.mp4".
— Rate limits

Per key, rolling 60s window.

/api/extract
30
req / min
/api/v1/extract
30
req / min
/api/proxy
20
req / min

Get a key in 30 seconds.

Free tier · 30 req/min extract · 20 req/min proxy · no card required.

Create an API key →Full docs