Hybrid Media API.
Built for production.

Resolve, stream, and download media from 1,619+ platforms. True streaming with ffmpeg muxing for split streams.

1,619
Supported sites
9
Endpoints
0
Auth required

Endpoints

GET/Home + health
GET/resolveResolve metadata and stream URLs
ParamDescription
urlrequiredMedia URL
typeoptionalvideo (default) or audio
qualityoptionalbest (default), worst, height (720), or bitrate (128)
GET /resolve?url=https://youtube.com/watch?v=...&type=video&quality=720
POST /resolve  { "url": "...", "type": "audio", "quality": "128" }
GET/streamStream media — direct proxy or ffmpeg mux
ParamDescription
urlrequiredMedia URL
typeoptionalvideo or audio
qualityoptionalHeight or bitrate
GET /stream?url=https://tiktok.com/...&type=video
GET /stream?url=https://youtube.com/...&type=audio&quality=128
GET/audioAudio-only alias for /stream?type=audio
GET /audio?url=https://youtube.com/watch?v=...&quality=128
GET/infoFull metadata without stream URLs
GET /info?url=https://youtube.com/watch?v=...
GET/formatsAll available formats and qualities
GET /formats?url=https://youtube.com/watch?v=...
GET/thumbnailProxy thumbnail image (avoids CORS)
GET /thumbnail?url=https://youtube.com/watch?v=...
POST/batchResolve up to 10 URLs concurrently
POST /batch
{ "urls": ["https://..."], "type": "video", "quality": "720" }
GET/extractorsList all 1,619 supported platforms
GET /extractors
GET /extractors?search=tiktok

Error format

{ "success": false, "error": { "code": "ERROR_CODE", "message": "Human-readable message" } }

Codes: INVALID_URL · INVALID_TYPE · INVALID_QUALITY · MEDIA_NOT_FOUND · EXTRACTION_FAILED · UPSTREAM_FAILED · STREAM_FAILED · PROCESS_TIMEOUT · RATE_LIMITED · SERVER_BUSY · AUTH_REQUIRED · PRIVATE_CONTENT · UNSUPPORTED_URL · SSRF_BLOCKED