Pricing
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
Actor stats
0
Bookmarked
4
Total users
1
Monthly active users
10 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.
