REST · Bearer auth · yt-dlp powered

The voiddlHTTP API.

Extract metadata, stream files, identify songs, and grab tracks — from any URL. Supports YouTube, TikTok, Instagram, X, SoundCloud, and 10+ more platforms.

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

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"}'

A few routes. That's the whole API.

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.

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"}'
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"  }
  ]
}
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.

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"
headers
Content-Type:        video/mp4
Content-Disposition: attachment; filename="video.mp4"
Accept-Ranges:       bytes
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".
POST

/api/v1/audiodetect

Identifies the song playing in any media URL. Extracts the audio, fingerprints multiple segments, and returns full metadata — title, artist, album, genre, artwork, streaming links, and a 30s preview. Use track.download_query with /api/v1/songgrab to fetch the MP3.

bash
curl -X POST https://voiddl.app/api/v1/audiodetect \
  -H "Authorization: Bearer vd_xxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'
application/json
{
  "status": "success",
  "track": {
    "title":        "Never Gonna Give You Up",
    "artist":       "Rick Astley",
    "album":        "Whenever You Need Somebody",
    "genre":        "Pop",
    "artwork":      "https://is1-ssl.mzstatic.com/.../400x400cc.jpg",
    "background":   "https://is1-ssl.mzstatic.com/.../800x800cc.png",
    "release_date": "1987",
    "label":        "BMG Rights Management (UK) Ltd.",
    "isrc":         null,
    "shazam_url":   "https://www.shazam.com/track/357027/...",
    "apple_music":  "https://music.apple.com/.../1559885421",
    "spotify":      null,
    "preview":      "https://audio-ssl.itunes.apple.com/.../preview.m4a",
    "segment_used": "30s",
    "download_query": "Rick Astley Never Gonna Give You Up"
  }
}
urlstringrequiredMedia URL containing audio (YouTube, TikTok, Instagram, X, SoundCloud, etc).
no_match200Audio extracted but no song matched. Retry a clearer segment.
error200Extraction failed (message field explains why).
401Missing or invalid API key / session.
429Rate limit exceeded (15 req/min).
POST

/api/v1/songgrab

Downloads a track as MP3 by search query (pair it with download_query from audiodetect). Returns a short shareable link plus a direct download URL. Files are served CDN-style and auto-delete after 5 minutes — fetch promptly.

bash
curl -X POST https://voiddl.app/api/v1/songgrab \
  -H "Authorization: Bearer vd_xxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"query": "Rick Astley Never Gonna Give You Up"}'
application/json
{
  "status":      "success",
  "id":          "a1b2c3d4e5",
  "url":         "https://voiddl.app/d/a1b2c3d4e5",
  "downloadUrl": "/api/dl/a1b2c3d4e5",
  "filename":    "Rick Astley Never Gonna Give You Up.mp3"
}
querystringrequiredSong search query — usually "artist title". Best match is downloaded.

Per key, rolling 60s window.

/api/extract30req / min
/api/v1/extract30req / min
/api/v1/audiodetect15req / min
/api/v1/songgrab10req / min
/api/proxy20req / min

Get a key in 30 seconds.

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