Overview
The API exposes a **single** endpoint to analyze a URL and return metadata + downloadable formats.
The call is made via POST with a x-www-form-urlencoded body.
link
Endpoint
POST https://all-media-downloader1.p.rapidapi.com/all
dns
Host
x-rapidapi-host: all-media-downloader1.p.rapidapi.com
vpn_key
API Key
x-rapidapi-key: <YOUR_KEY>
Required headers
| Header | Value | Description |
|---|---|---|
Content-Type |
application/x-www-form-urlencoded |
The body is encoded as key=value pairs. |
x-rapidapi-host |
all-media-downloader1.p.rapidapi.com |
Identifies the target API in RapidAPI. |
x-rapidapi-key |
your_key | Key obtained from your RapidAPI Dashboard. |
Parameters (body)
| Name | Type | Required | Description |
|---|---|---|---|
url |
string (URL) | Yes | Public URL to analyze (page or video player). |
options |
string (JSON) | No |
Advanced options in JSON format (e.g., format preferences).
Example: {"preferAudio":"m4a","maxHeight":720}
|
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' \
--data-urlencode 'options={"preferAudio":"m4a","maxHeight":720}'
const body = new URLSearchParams({
url: "https://example.com/video",
options: JSON.stringify({ preferAudio: "m4a", maxHeight: 720 })
});
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
});
const data = await res.json();
<?php
$ch = curl_init("https://all-media-downloader1.p.rapidapi.com/all");
$opts = ["preferAudio" => "m4a", "maxHeight" => 720];
$post = http_build_query(["url" => "https://example.com/video", "options" => json_encode($opts)]);
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Content-Type: application/x-www-form-urlencoded",
"x-rapidapi-host: all-media-downloader1.p.rapidapi.com",
"x-rapidapi-key: <YOUR_RAPIDAPI_KEY>"
],
CURLOPT_POSTFIELDS => $post
]);
$resp = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE) ?: 500;
curl_close($ch);
http_response_code($code);
header("Content-Type: application/json; charset=utf-8");
echo $resp;
Response structure
{
"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"}
],
"detected": {
"site": "example",
"type": "video"
}
}
The schema may vary depending on the analyzed source.
HTTP codes & errors
| HTTP | Meaning | Recommended action |
|---|---|---|
| 200 | Successful analysis | Display metadata & formats |
| 400 | Missing parameter / Invalid URL | Validate the URL / body |
| 401/403 | Missing key / Access denied | Check x-rapidapi-key & permissions |
| 429 | Quota/Rate limit exceeded | Backoff & upgrade plan |
| 5xx | Service error / Source unavailable | Exponential retry, monitoring |
Implementation notes
shield
Security
- Do not expose the key in the client.
- Use a server proxy to sign requests.
- Restrict origins (CORS) on the proxy side.
speed
Performance
- Exponential backoff on 429/5xx.
- Short caching of repeated results.
- Normalize input URL (e.g., remove unnecessary params).