A public Rumble channel hands a plain HTTP client 205 words, the h1, the follower count, the canonical URL and two JSON-LD blocks in 416,546 bytes, and it does so identically from the United States, Germany and Canada. Rendering the same URL costs 1,115,659 bytes and returns 272 words from a US exit and 43 to 44 words from the other two. On Rumble the setting is a residential exit, plain HTTP, no browser.
Search this keyword and Google returns card-game proxies, proxy-voting portals for Rumble Inc. shareholders and one Etsy listing. Not one page measures what rumble.com actually serves a proxied client. So we did, on 28 September 2026, with the same discipline as the rest of this series: one public URL, three exit countries, with and without JavaScript, then the bytes.
Plain HTTP returns the whole channel header from three countries
We audited the channel page rumble.com/c/RumbleEvents through residential exits in the United States, Germany and Canada. The no-JavaScript pass is the one that matters, because it is the one that works everywhere.
| Exit country | Plain HTTP | Rendered in a browser |
|---|---|---|
| United States | 205 words, title, description, canonical, h1, JSON-LD | 272 words, same title and canonical |
| Germany | 203 words, title, description, canonical, h1, JSON-LD | 44 words, no canonical, no description |
| Canada | 203 words, title, description, canonical, h1, JSON-LD | 43 words, no canonical, no description |
The plain response carries everything a channel record needs: the h1 Rumble Events, the verified badge, the follower count as 13.9K Followers, the canonical link, the meta description, an Open Graph title and image, a Twitter card, and two JSON-LD objects (a WebSite with a SearchAction and an Organization). The two-word difference between the US and the other exits is a nav label, not data. Nothing in the header changes by country.
The rendered pass is where the countries diverge. From the US exit the browser produced 272 words: 67 more than plain HTTP, all of them thumbnail titles and menu text that the no-JavaScript response already listed as links. From Germany and Canada the rendered pass returned a 43 to 44 word page with no canonical and no description, and the audit's rendered pass from Canada took 44.7 seconds to say so. Same URL, same account state, same residential network. The only variable was whether a browser was driving.
This is the Instagram pattern from the first post in this series with the geography inverted: there the render added nothing anywhere; here it adds nothing in the US and costs you the page elsewhere. Either way the instruction is the same. Do not render Rumble.
The video page is 800 KB of plain HTML with the description inside
A single video page over plain HTTP from the US exit returned 800,703 bytes and 279 extractable words: the title, the channel name, the full description text and the canonical URL, with no JavaScript executed. That is nearly twice the channel page, because the video page ships the player configuration and the related-video rail inline. It is also the complete record for a video: nothing in the text we care about was missing from the plain response.
The cheaper route to the same record is oEmbed. Rumble answers rumble.com/api/Media/oembed.json?url=<video URL> with no authentication, no cookie and no key. For a video from the Lofi Girl channel it returned 648 bytes of JSON: type, title, author_name, author_url, the provider, the embed iframe, width and height, and a thumbnail URL. That is 1,235 times smaller than the video page for the fields most catalogues actually store.
curl -s -x http://PROXY_HOST:PORT -U 'USER:PASS' \
'https://rumble.com/api/Media/oembed.json?url=https%3A%2F%2Frumble.com%2Fv7fns6m-lofi-house-radio-lounge-music-to-vibechill-to.html'
# 648 bytes: title, author_name, author_url, thumbnail_url, html
Two limits, both measured. The endpoint is per video: pointed at a channel URL it returns 29 bytes, Media not found with that url, so you resolve channels through the channel page and videos through oEmbed. And the duration field came back as 0 for a live radio stream, so treat it as unknown rather than zero when the video is a livestream. There is no view count in the oEmbed object either; for views you read the video page.
What it costs, counting a gigabyte as one billion bytes
The cost driver on Rumble is bytes, not refusals, so the arithmetic is short. All prices are our residential Basic rate of $0.80/GB, with 1 GB counted as 10^9 bytes.
| How you fetch it | On-wire bytes | What you get | Per GB | Cost per fetch |
|---|---|---|---|---|
| Channel page, plain HTTP | 416,546 | 205 words: h1, followers, canonical, JSON-LD, video links | ~2,400 pages | $0.00033 |
| Channel page, rendered | 1,115,659 | 272 words, US only; 43 to 44 words from DE and CA | ~896 pages | $0.00089 |
| Video page, plain HTTP | 800,703 | 279 words: title, channel, full description | ~1,249 pages | $0.00064 |
| oEmbed, one video | 648 | title, author, author_url, thumbnail, embed HTML | ~1,543,000 videos | $0.0000005 |
Read the first two rows together. The browser costs 2.7 times the traffic and, from two of three countries, returns a fifth of the words. A crawl that refreshes 10,000 channels a day through plain HTTP moves about 4.2 GB and costs about $3.33; the same crawl rendered moves about 11.2 GB, costs about $8.93, and outside the US returns the wrong page. The plain fetch is both the cheap option and the correct one, which does not happen on every platform in this series.
If you would rather not run the fetch layer yourself, our web scraping API returns the same channel page as clean Markdown for $0.0002 per page with no browser, which on Rumble is the only mode you should ask for. The 991-word Markdown it produced from the channel included the featured-channel rail and the footer; the 205-word figure above is the audit's stricter count of body text.
Which proxy type Rumble needs, and which country
Nothing in our measurements scored the network. Three residential exits, six passes, and every plain HTTP request was answered on the first attempt with the full header. We did not see a difference between countries on the plain fetch, so you do not need a specific country to read a channel. Pin one anyway, because the rendered pass proved the edge in front of rumble.com treats a US browser session and a European one differently, and a pinned exit keeps your results comparable day to day.
That makes residential exits from $0.80/GB the right default: cheap enough that the 416 KB channel page costs a third of a cent, and household-grade so the edge has no reason to escalate. Mobile at $2.30/GB buys nothing here that residential does not. If you are only calling oEmbed, the payload is so small that the network price is irrelevant and a rotating endpoint at $0.50/GB with a fresh IP per request is the simplest thing to point at it.
Rate limits: we found no documented figure for anonymous page reads, and nothing in six passes throttled us. Hold yourself to one request per second per exit and add exits to add concurrency. The creator-side Live Stream API is a different product, documented on Rumble's help site as v1.1, keyed to your own channel, and meant for overlays and notifications during your own streams; it is not a read API for other people's channels.
What Rumble's own files permit
The robots.txt is 170 bytes. For every client it disallows /l/, /api/ and /premium/ and permits everything else; facebookexternalhit gets the same three exclusions with an explicit Allow for the root. There is no named AI-crawler section, which is unusual for a platform of this size in 2026: on TikTok we counted 25 crawlers excluded by name, on Facebook 36 with per-path rules. Note that the oEmbed endpoint lives under /api/, which the file disallows for crawlers; it is published for embedders, not for indexing, and that is how to use it.
The terms are stricter than the robots file. Rumble's Terms and Conditions prohibit employing any form of automated software to interact with or access the site without Rumble's prior written permission, and separately prohibit systematic retrieval of content to build a collection, database or directory. That is the one line that matters, so here it is plainly: reading Rumble at volume without written permission breaches its terms, and no proxy setting changes that.
What this measurement is properly for is the narrow, defensible set: checking that your own channel and videos render correctly from the countries your audience lives in, checking that an embed you placed resolves through oEmbed, monitoring mentions of your brand on public channels you already know, and creator research at the scale of a spreadsheet rather than a database. Do not run engagement bots, do not mass-register accounts, do not scrape comments or live chat, which the terms single out.
The setting that works on Rumble
- Network: residential, Basic at $0.80/GB. Nothing in six passes scored the IP; residential is the cheapest network that matched what a household sees.
- Fetch mode: engine: tls, plain HTTP. 205 words with h1, follower count, canonical and JSON-LD in 416,546 bytes. Rendered costs 1,115,659 bytes for 272 words in the US and 43 to 44 words from Germany and Canada.
- Country to pin: any, and keep it fixed. The plain fetch returned 205, 203 and 203 words from the US, Germany and Canada; the rendered fetch is the one that swings from 272 to 43.
- Per-video records: oEmbed at /api/Media/oembed.json, 648 bytes, no key. Channel URLs return 29 bytes there; resolve channels through the channel page.
- When the proxy is not enough: for cross-platform creator research, the YouTube channel collector returns structured channel rows without any fetch layer on your side, and the web scraping API returns the Rumble channel page as Markdown for $0.0002 per page with no browser.
- Free tier: every account gets $2 of free API usage per month, which covers about 6,000 channel pages at the plain-HTTP rate.