REST API đơn giản để lấy liên kết tải và thông tin từ hơn 1.600 trang. Gửi JSON, nhận JSON — không cần SDK. URL gốc: https://gendownload.com
Get a clean list of download options for a video URL. Each format URL is a ready-to-use download link (direct CDN for some platforms, or a streaming link for others).
| Field | Type | Description |
|---|---|---|
url required | string | The video/post URL to extract. |
curl -X POST https://gendownload.com/api/extract \
-H "Content-Type: application/json" \
-d '{"url":"https://youtube.com/watch?v=dQw4w9WgXcQ"}'
{
"title": "Never Gonna Give You Up",
"thumbnail": "https://i.ytimg.com/vi/.../hq.jpg",
"duration": 213,
"source": "youtube",
"author": "Rick Astley",
"views": 1600000000,
"formats": [
{ "label": "1080p", "type": "video", "ext": "mp4",
"filesize": 52428800, "url": "https://.../api/stream?t=..&i=0" },
{ "label": "Audio", "type": "audio", "ext": "m4a",
"filesize": 3400000, "url": "https://.../api/stream?t=..&i=6" }
]
}Download/stream a resolved format straight to the client (the tokenized url returned by /api/extract). Streams the file as an attachment; nothing is stored on the server.
# open a format's url from /api/extract, e.g. https://gendownload.com/api/stream?t=1b0bc2ea13ee&i=0
List every video in a channel, playlist, or user profile. Returns an item list; download each one on demand by passing its url to /api/extract.
| Field | Type | Description |
|---|---|---|
url required | string | Channel / playlist / user URL. |
limit | number | Max videos to list (default 30; use a large value for all). |
curl -X POST https://gendownload.com/api/channel \
-H "Content-Type: application/json" \
-d '{"url":"https://tiktok.com/@tiktok","limit":50}'
{ "source": "...", "count": 50, "items": [
{ "url": "https://tiktok.com/@tiktok/video/123",
"title": "...", "thumbnail": "https://..." }
] }Bundle many videos into ONE streaming .zip. POST a list of video URLs (e.g. a channel’s items) and a quality; get back a download url that streams the zip (each video is extracted and piped in on the fly — nothing is stored on the server, failed items are skipped).
| Field | Type | Description |
|---|---|---|
urls required | string[] | Video URLs to bundle. |
quality | string | 'best' (default), 'audio', or a max height like '720'. |
curl -X POST https://gendownload.com/api/zip \
-H "Content-Type: application/json" \
-d '{"urls":["https://tiktok.com/@x/video/1","https://youtu.be/abc"],"quality":"720"}'
# -> { "url": "https://dl.gendownload.com/api/zip?t=..." } (GET it to download)
{ "token": "...", "url": "https://dl.gendownload.com/api/zip?t=..." }Service status — backend, queue depth, and proxy pool health.
curl https://gendownload.com/api/health
{ "ok": true, "queue": { "running": 3, "waiting": 0 } }