Overview
The All Media Downloader API provides a single entry point to extract downloadable links and metadata from public video & streaming platform URLs.
auto_awesome
Smart detection
Analyzes the URL and returns title, thumbnail, duration and ready-to-download formats.
tune
Simplified request
A POST x-www-form-urlencoded with the target URL is enough.
radar
Fast integration
Ready-to-use examples, clear interface, and standardized error table.
Authentication
Use your key from RapidAPI with the x-rapidapi-key header. Manage quotas and limits in your RapidAPI dashboard.
Security: never put your key in client-side code in production. Proxy through your server.
Endpoint & Parameters
| Method | URL | Content-Type | Auth |
|---|---|---|---|
| POST | https://all-media-downloader1.p.rapidapi.com/all |
application/x-www-form-urlencoded |
x-rapidapi-key |
Parameters (body)
| Name | Type | Required | Description |
|---|---|---|---|
url |
string | Yes | Public URL to analyze (page or video). |
options |
string (JSON) | No | Advanced options (e.g. format preference). Leave empty for automatic. |
Request examples
curl --request POST \
--url https://all-media-downloader1.p.rapidapi.com/all \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'x-rapidapi-host: all-media-downloader1.p.rapidapi.com' \
--header 'x-rapidapi-key: <YOUR_RAPIDAPI_KEY>' \
--data-urlencode 'url=https://example.com/video'
const body = new URLSearchParams({ url: "https://example.com/video" });
const res = await fetch("https://all-media-downloader1.p.rapidapi.com/all", {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
"x-rapidapi-host": "all-media-downloader1.p.rapidapi.com",
"x-rapidapi-key": "<YOUR_RAPIDAPI_KEY>"
},
body
});
if (!res.ok) throw new Error("API Error " + res.status);
const data = await res.json();
console.log(data);
import requests
u = "https://all-media-downloader1.p.rapidapi.com/all"
h = {
"Content-Type": "application/x-www-form-urlencoded",
"x-rapidapi-host": "all-media-downloader1.p.rapidapi.com",
"x-rapidapi-key": "<YOUR_RAPIDAPI_KEY>"
}
d = {"url": "https://example.com/video"}
r = requests.post(u, headers=h, data=d, timeout=60)
r.raise_for_status()
print(r.json())
Response example
{
"ok": true,
"source": "https://example.com/video",
"title": "Video title",
"thumbnail": "https://example.com/thumbnail.jpg",
"duration": 123,
"formats": [
{"format_id":"720p","ext":"mp4","filesize":104857600,"url":"https://cdn.example.com/video-720p.mp4"},
{"format_id":"audio","ext":"m4a","filesize":8192000,"url":"https://cdn.example.com/audio.m4a"}
]
}
The schema may vary depending on the source platform.
Error codes
| Code | Meaning | Recommended action |
|---|---|---|
| 200 | Successful analysis | Display metadata and formats to the user |
| 400 | Missing parameter / Invalid URL | Validate the URL, try again |
| 429 | Quota/Rate limit exceeded | Backoff + retry, upgrade plan |
| 5xx | Service error / Source unavailable | Exponential retry, monitoring |
Best practices
security
Security & compliance
- Do not expose the key on the client-side in production.
- Respect platform terms of use and rights.
- Limit the lifetime of download links.
restart_alt
Robustness
- Fine-grained handling of timeouts / retries (backoff).
- Server-side logging for error tracking.
- Strict input validation (URL).
Try the API
Result
{}
This demo directly calls RapidAPI. In production, proxy through your server.