Rumble Video Downloader
Under maintenancePricing
Pay per usage
Rumble Video Downloader
Under maintenanceDownload a video from Rumble by URL. Returns the MP4 (in the key-value store) plus a dataset record with the video's title, uploader, duration and a download link.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
scrape-by-abuzar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Rumble Video Downloader — Apify Actor
A headless Apify Actor that downloads a single
Rumble video by URL. It wraps
yt-dlp with browser impersonation (required —
Rumble returns HTTP 403 to plain requests) and merges audio/video to a single
.mp4 with ffmpeg.
This is the headless cloud version of the local Rumble Video Downloader web app. Same download engine, packaged as an input → output Actor.
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
url | string | ✅ | — | Full rumble.com video link, e.g. https://rumble.com/v6xxxx-title.html |
quality | string | — | best | best, 1080, 720, 480, 360, 240, or 180. Numeric values cap the resolution. |
Example:
{"url": "https://rumble.com/v6xxxx-some-video.html","quality": "720"}
Output
- Key-value store — the downloaded video is saved to the run's default
key-value store under the key
<videoId>.mp4(content-typevideo/mp4). - Dataset — one record with metadata and a direct download link:
{"url": "https://rumble.com/v6xxxx-some-video.html","id": "v6xxxx","title": "Some Video","uploader": "Channel Name","duration": 213,"thumbnail": "https://...","viewCount": 345,"quality": "720","ext": "mp4","fileSizeBytes": 5407040,"storageKey": "v6xxxx.mp4","videoUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/v6xxxx.mp4"}
Getting the file. The video lives in the run's default key-value store,
which is private to your account, so videoUrl needs authentication:
- Easiest: open the run in Apify Console → Storage → Key-value store and click the record to download it.
- Direct link / API: append your token —
…/records/v6xxxx.mp4?token=YOUR_APIFY_TOKEN(or openvideoUrlwhile logged into Apify in the same browser).
videoUrl is stored token-free on purpose so your API token is never written
into the dataset.
How it works
input { url, quality }│├─ validate it's a rumble.com URL├─ yt-dlp --impersonate chrome -f <height-based selector> --merge-output-format mp4├─ store the mp4 in the key-value store└─ push a dataset record (metadata + download URL)
The download logic lives in src/downloader.py (pure, no Apify dependency, so it's easy to test); src/main.py is the Actor wrapper.
Run / deploy
Requires the Apify CLI and an Apify account.
# from this folderapify login # paste your Apify API token when promptedapify push # builds the Docker image on Apify and creates the Actor
To test locally first (needs Docker running):
$apify run --input '{"url":"https://rumble.com/v6xxxx-title.html","quality":"480"}'
Notes
- curl_cffi must be
>=0.10,<0.15(pinned inrequirements.txt). yt-dlp's--impersonatedoes not support curl_cffi0.15+. - Very large videos may approach key-value store record size limits; prefer a
capped
qualityfor big files. - Only download content you own or have the rights to. Respect Rumble's Terms of Service and applicable copyright law.