Back to WebDownloaderAPI v1
PUBLIC API · NO API KEY

Download API

Fetch media metadata and start video or audio downloads from your own app. The API is free to use and requires no registration or API key.

Queue-based processing Automatic file cleanup
Base URLhttps://save.brianrianrehan.comRequests are rate-limited and only supported media platforms are accepted.
POST/api/v1/info

Fetch media information

Resolve a public URL before presenting format choices to your user.

curl -X POST https://save.brianrianrehan.com/api/v1/info \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://www.youtube.com/watch?v=VIDEO_ID"}'
POST/api/v1/download?wait=true

Start a download

Create a queued video or audio job and wait for the file link. The request waits up to 80 seconds, then returns statusUrl if processing continues.

curl \
  -X POST 'https://save.brianrianrehan.com/api/v1/download?wait=true' \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://www.youtube.com/watch?v=VIDEO_ID","format":"video","quality":"best","outputFormat":"mp4"}'
GET/api/v1/download/:downloadId

Check download status

Use statusUrl after a 202 response. Poll until status is completed or failed; the downloadUrl becomes available when complete.

curl \
  'https://save.brianrianrehan.com/api/v1/download/DOWNLOAD_ID'

Download the file

Use the downloadUrl and downloadToken returned by the start request to stream the file. The token is valid for one hour.

curl -L -OJ \
  'https://save.brianrianrehan.com/api/download/DOWNLOAD_ID/file?token=DOWNLOAD_TOKEN'

Files are automatically removed after the configured retention period (24 hours on this deployment).

Built-in safeguards

  • No API key or account required
  • Domain allowlist and request validation
  • Per-client rate limits and queue limits
  • Short-lived signed token protects file access

Request body

Both /info and /download accept JSON. The download fields below are optional unless marked required.

FieldTypeDescription
urlstring · requiredPublic URL from a supported platform.
formatvideo | audioMedia type. Defaults to video.
qualitystringQuality preference, for example best or 1080p.
outputFormatstringOutput extension such as mp4 or mp3.

Response and errors

A completed request returns success: true, status: completed, and a ready downloadUrl. Status values are pending, processing, downloading, converting, completed, or failed.

202 Still processing; follow statusUrl
400 Invalid URL or unsupported website
404 Download id not found
409 Download is not ready
413 File exceeds server limit
429 Rate or queue limit reached
500 Temporary server error