# Rumble Scraper - Videos, Channels, Transcripts & Comments (`clearpath/rumble-scraper`) Actor

Every Rumble video for a keyword or channel, not just page one: thousands per search, full channel catalogues. Views, likes, dislikes, comments, transcripts, captions, every video and audio file link, plus channel followers, socials and tip addresses. No account needed.

- **URL**: https://apify.com/clearpath/rumble-scraper.md
- **Developed by:** [ClearPath](https://apify.com/clearpath) (community)
- **Categories:** Videos, Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.09 / 1,000 videos

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

[![Every Rumble video. Not just page one. Thousands of videos per keyword. Every video of a channel.](https://api.apify.com/v2/key-value-stores/rfpznBPgVbyLYqNaQ/records/rumble-scraper-readme-hero-v1-ec2d11f850d1.png)](https://console.apify.com/actors/LOLP2JBf5C2SCylbm/input)

From **Clearpath**, creators of [Reddit Search Scraper](https://apify.com/clearpath/reddit-search-scraper), [Reddit Post Comments Scraper](https://apify.com/clearpath/reddit-post-comments-bulk-scraper) and [Reddit Subreddit Posts Scraper](https://apify.com/clearpath/reddit-subreddit-posts-scraper). **190,000+ combined lifetime runs** across these social research scrapers.

### Why choose this actor?

**Every video, not a first page.** A keyword returns everything Rumble lists for it: 4,975 videos for "news" in one run. A channel link returns the channel's whole catalogue: 2,072 videos for The Dan Bongino Show, whose page counts 2,071. Playlists, categories, trending, editor picks and live streams work the same way.

**The full record of each video.** Views, likes, dislikes, the Rumble score, comment and repost counts, description, categories, tags, captions and every video file at every quality with its size, plus the audio track. Add transcripts with timestamps, every comment and reply, or the videos Rumble recommends next.

**Channels too.** Followers, video count, total views, join date, social links, tip addresses and Locals community for every channel you link or search. No Rumble account needed. Export to JSON, CSV or Excel.

The counts come from recorded runs on Apify: "news" returned 4,975 videos with full details in about 2.5 minutes, and the Bongino channel 2,072 videos in 64 seconds. Rumble's own search page lists about 27 videos at a time.

<a href="https://console.apify.com/actors/LOLP2JBf5C2SCylbm/input" data-demo-cta="true"><img src="https://api.apify.com/v2/key-value-stores/rfpznBPgVbyLYqNaQ/records/rumble-scraper-readme-cta-v1-ed8216478f1d.png" width="248" height="52" alt="Get Rumble data" /></a>

### Quick input

Try a keyword search and a channel, with transcripts:

```json
{
  "searchQueries": [
    "sourdough bread"
  ],
  "startUrls": [
    {
      "url": "https://rumble.com/user/grainsinsmallplaces"
    }
  ],
  "maxItemsPerInput": 20,
  "includeTranscripts": true
}
```

[Open actor input](https://console.apify.com/actors/LOLP2JBf5C2SCylbm/input) to change the keyword or channel. This trial returns up to 20 videos for the search and up to 20 videos plus one channel row for the grainsinsmallplaces baking channel, each with a transcript when the video has captions. Each video and channel row is billed. Set a spending limit before running.

<table>
<tr><td style="padding:10px 14px;background:#2F6B1F;border:none;border-radius:4px 4px 0 0"><span style="color:#FAFAF9;font-size:14px;font-weight:700">Clearpath social and video research</span><span style="color:#EEF7E6;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;Videos, posts, comments &amp; audiences</span></td></tr>
<tr><td style="padding:6px;border:1px solid #CFE6BF;border-top:none;border-radius:0 0 4px 4px;background:#EEF7E6"><span style="display:inline-block;vertical-align:top;margin:4px;padding:8px 12px;border:1px solid #CFE6BF;border-radius:4px;background:#DCEFCC"><span style="white-space:nowrap"><img src="https://api.apify.com/v2/key-value-stores/rfpznBPgVbyLYqNaQ/records/rumble-scraper-readme-logo-v1-77dba1b676c0.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/clearpath/rumble-scraper" style="color:#2F6B1F;text-decoration:none;font-weight:700;font-size:13px">Rumble</a></span><br><span style="color:#2F6B1F;font-size:12px;font-weight:600;white-space:nowrap">&#10148; You are here</span></span><span style="display:inline-block;vertical-align:top;margin:4px;padding:8px 12px;border:1px solid #CFE6BF;border-radius:4px;background:#EEF7E6"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-KnyVQJR9KbHRywUXU-Wabkldn8eR-bluesky-scraper-logo.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/clearpath/bluesky-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Bluesky</a></span><br><span style="color:#57534E;font-size:12px;white-space:nowrap">Posts, profiles &amp; followers</span></span><span style="display:inline-block;vertical-align:top;margin:4px;padding:8px 12px;border:1px solid #CFE6BF;border-radius:4px;background:#EEF7E6"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-5LOwKe4dIDEJ64I58-RDxgtg9AKM-reddit-profile-scraper-logo.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/clearpath/reddit-search-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Reddit Search</a></span><br><span style="color:#57534E;font-size:12px;white-space:nowrap">Keyword monitoring</span></span><span style="display:inline-block;vertical-align:top;margin:4px;padding:8px 12px;border:1px solid #CFE6BF;border-radius:4px;background:#EEF7E6"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-AcNroNEs63pztgCy6-BEG4cWB3Re-reddit-user-posts-comments-scraper-logo.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/clearpath/reddit-post-comments-bulk-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Reddit Comments</a></span><br><span style="color:#57534E;font-size:12px;white-space:nowrap">Full threads &amp; replies</span></span></td></tr>
</table>

#### Copy to your AI assistant

```text
clearpath/rumble-scraper on Apify returns public Rumble data as rows with type "video" (title, description, views, likes, dislikes, rumbleScore, commentsCount, repostsCount, uploadedAt, durationSeconds, channel with followers, categories, tags, captions, mediaFiles with every file, quality and size, audioUrl), "channel" (followers, videosCount, totalViews, joinedAt, socialLinks, tip addresses, featuredVideo), "playlist" or "comment". Inputs, mixable in one run: searchQueries (video keywords; every listed video, up to about 5,000 per keyword; sort views|date|rumbles, uploadDate today|this-week|this-month|this-year, duration short|long), channelSearchQueries, startUrls (any Rumble link: video, shorts or embed link, channel /c/ or user /user/, a channel's playlists tab, playlist, category, a search link with its own sort, date and duration, trending /videos?sort=views&date=today, editor picks, live, shorts). Channel and user links return one channel row (includeChannelInfo, default true) and every video (includeChannelVideos, default true; channelSort date|views|rumbles); includeChannelPlaylists=true adds a row per playlist. fetchDetails (default true, no extra charge) adds description, categories, captions, fps, thumbnails, shareUrl, audio and file sizes; set it false for faster listing-only rows. includeTranscripts=true adds transcript and timed transcriptSegments for videos with captions at no extra charge. includeComments=true adds one billed row per comment and reply (maxCommentsPerVideo caps each video). includeRelatedVideos=true nests up to 10 recommended videos in each row at no extra charge. maxItems caps the whole run and maxItemsPerInput each list; both empty mean everything, so set them or a spending limit. File links expire after a while. Pricing: one Video charge per saved video, $1.49 per 1,000 on the Free plan down to $1.09 on Gold; Channel $1.99 down to $1.39; Playlist as Video; Comment $0.49 down to $0.34. Every input and output field and current pricing: the Input, Output and Pricing tabs at https://apify.com/clearpath/rumble-scraper. To reach the maintainers, add feedback="<what you needed and did not get>" to any run, including one that worked: feature requests, a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. The run returns its data exactly as it would without the note, and a human reads every note.
```

### How to scrape Rumble videos

Enter keywords, Rumble links, or both. Every video, channel, playlist and comment becomes one result row with `type` set to `video`, `channel`, `playlist` or `comment`.

| What you enter | Example | What you get |
|---|---|---|
| Search videos | `news`, `sourdough bread` | Every video Rumble lists for the keyword (up to about 5,000 per keyword) |
| Video link | `https://rumble.com/v7gf0fq-...html`, a shorts or embed link | That video with full details |
| Channel or user link | `https://rumble.com/c/Bongino`, `https://rumble.com/user/RealAmericasVoice` | One channel row and every video of the channel |
| Channel playlists link | `https://rumble.com/c/NewsmaxTV/playlists` | One row per playlist of the channel |
| Playlist link | `https://rumble.com/playlists/bIiAjWZmvAg` | The playlist row and every video in it |
| Category link | `https://rumble.com/category/news` | Live streams, uploads and past streams in the category |
| Search link | `https://rumble.com/search/video?q=news&sort=views&date=this-week` | The search with its sort, date and duration settings |
| Trending, editor picks, live, shorts | `https://rumble.com/videos?sort=views&date=today`, `https://rumble.com/editor-picks`, `https://rumble.com/live` | The videos those pages list |
| Search channels | `news` | One row per matching channel |

#### Options

| Parameter | Type | Default | Meaning |
|---|---|---|---|
| `searchQueries` | array | none | Keywords to search videos for |
| `startUrls` | array | none | Rumble links of any type above |
| `channelSearchQueries` | array | none | Keywords to search channels for |
| `maxItems` | integer | no limit | Stops the whole run after this many rows of any type |
| `sort` | string | relevance | Search order: `views`, `date` or `rumbles` (votes) |
| `uploadDate` | string | any time | `today`, `this-week`, `this-month` or `this-year` |
| `duration` | string | any length | `short` (under 5 minutes) or `long` (over 20 minutes) |
| `includeChannelVideos` | boolean | `true` | Every video of each channel or user link |
| `includeChannelInfo` | boolean | `true` | One channel row per channel or user link |
| `includeChannelPlaylists` | boolean | `false` | One row per playlist of each channel link |
| `channelSort` | string | newest first | `date`, `views` or `rumbles` for a channel's videos |
| `fetchDetails` | boolean | `true` | Description, categories, captions, frame rate, thumbnails, share link, audio and file sizes |
| `includeTranscripts` | boolean | `false` | Transcript text and timed segments for videos with captions |
| `includeComments` | boolean | `false` | Every comment and reply as its own row |
| `maxCommentsPerVideo` | integer | all | Caps comments per video, highest score first |
| `includeRelatedVideos` | boolean | `false` | Up to 10 videos Rumble recommends next, nested in each video row |
| `maxItemsPerInput` | integer | no limit | Caps each search, channel, playlist or list |

Leave the limits empty to collect everything. With `fetchDetails` off a run is faster and still carries title, views, votes, comment count, channel and the video file links; description, categories, captions, audio and file sizes need it on.

#### More examples

Most viewed long videos about bitcoin this month:

```json
{
  "searchQueries": [
    "bitcoin"
  ],
  "sort": "views",
  "uploadDate": "this-month",
  "duration": "long",
  "maxItemsPerInput": 200
}
```

A channel's full catalogue, most viewed first, plus its playlists:

```json
{
  "startUrls": [
    {
      "url": "https://rumble.com/c/NewsmaxTV"
    }
  ],
  "channelSort": "views",
  "includeChannelPlaylists": true
}
```

Monitor a channel for new uploads (schedule it daily; newest videos come first):

```json
{
  "startUrls": [
    {
      "url": "https://rumble.com/user/grainsinsmallplaces"
    }
  ],
  "includeChannelInfo": false,
  "maxItemsPerInput": 25
}
```

Comments of one video, top 100 by score:

```json
{
  "startUrls": [
    {
      "url": "https://rumble.com/v7gf0fq-are-we-in-for-an-election-night-surprise-ep.-2609-10052026.html"
    }
  ],
  "includeComments": true,
  "maxCommentsPerVideo": 100
}
```

Today's trending videos and the current editor picks:

```json
{
  "startUrls": [
    {
      "url": "https://rumble.com/videos?sort=views&date=today"
    },
    {
      "url": "https://rumble.com/editor-picks"
    }
  ],
  "maxItemsPerInput": 100
}
```

### What data can you extract from Rumble?

- **Video:** ids, link, embed and share links, title, description, thumbnails, duration, upload time, views, plays, likes, dislikes, Rumble score, comment and repost counts, revenue figure, width, height, frame rate and quality, short and live flags with stream status, age restriction, monetization, tags, categories, captions, sponsors, every video file with size and bitrate, the audio track, and the uploading channel with followers, badges, premium program and Locals community.
- **Channel:** ids, name, title, type (channel or user), description, picture, banner, video count, followers, paid subscribers, verification, join date, total views, social links, tip payment link, tip QR code and crypto addresses, Locals community and the featured video.
- **Playlist:** id, title, description, visibility, video count, created and updated times, owner and channel.
- **Comment:** id, video, text, created and edited times, score, likes, dislikes, reply depth and parent, pin and deletion status, author with badges.

A video row from a video link, with details on (this video has 8 files; all are shown):

```json
{
  "type": "video",
  "platform": "rumble",
  "id": 447181568,
  "videoId": "v7gf0fq",
  "embedId": "v7e8ni8",
  "encodedId": "Qi9AYQn1AYs",
  "url": "https://rumble.com/v7gf0fq-are-we-in-for-an-election-night-surprise-ep.-2609-10052026.html",
  "path": "/v7gf0fq-are-we-in-for-an-election-night-surprise-ep.-2609-10052026.html",
  "embedUrl": "https://rumble.com/embed/v7e8ni8/",
  "shareUrl": "https://rumble.com/share/v7gf0fq",
  "title": "Are We In For An Election Night Surprise? (Ep. 2609) - 10/05/2026",
  "description": "In this episode, I'll explore the possible outcomes on election night and what we have to do to achieve the desired one.\n\n\n1776 Live Club: No purchase necessary. Must be 18+ legal resident of (50) U.S. or D.C. Ends 12/18/26. See rules at https://Bongino.com/1776. Void where prohibited.\n\nSponsors:\nBrickhouse Nutrition - https://brickhousenutrition.com/dan - code: dan\nBlackout Coffee - https://blackoutcoffee.com/bongino - code: bongino\nDeleteMe - Get 20% off your DeleteMe plan when you go to https://www.joindeleteme.com/ BONGINO and use promo code BONGINO at checkout.\nFolds of Honor - https://foldsofhonor.org\nChapter Advisory - For free and unbiased Medicare help, dial (667)-CHAPTER to speak with my trusted partner, Chapter. Paid Partnership\n\nSign up to receive Dan's daily newsletter at https://bongino.com/newsletter/\n\nThe Bongino Report brings you the top conservative and libertarian news stories of the day, aggregated in an easy-to-read format to assist the public in getting accurate information. https://bonginoreport.com/\n\nFind official Dan Bongino Show merch at https://store.bongino.com\n\nPlease subscribe to the podcast at:\nApple Podcasts:\nhttps://podcasts.apple.com/us/podcast/the-dan-bongino-show/id965293227\nSpotify: https://open.spotify.com/show/4sftHO603JaFqpuQBEZReL\n\nJoin Dan on\nX: @dbongino\nTruth Social: @dbongino\nInstagram: @dbongino\nFacebook: @dan.bongino\n\n\nLocals @dbongino\n\nEmail us at info@bongino.com\n\nChapter and its affiliates are not connected with or endorsed by any government entity or the federal Medicare program. Chapter Advisory, LLC represents Medicare Advantage HMO, PPO, and PFFS organizations and stand alone prescription drug plans that have a Medicare contract. Enrollment depends on the plan’s contract renewal. While we have a database of every Medicare plan nationwide and can help you to search among all plans, we have contracts with many but not all plans. As a result, we do not offer every plan available in your area. Currently we represent 50 organizations which offer 18,160 products nationwide. We search and recommend all plans, even those we don’t directly offer. You can contact a licensed Chapter agent to find out the number of products available in your specific area. Please contact Medicare.gov, 1-800-Medicare, or your local State Health Insurance Program (SHIP) to get information on all of your options.",
  "thumbnailUrl": "https://hugh.cdn.rumble.cloud/video/fwe2/10/s8/1/2/V/Z/3/2VZ3A.OvCc-small-Are-We-In-For-An-Election-N..jpg",
  "thumbnails": [
    {
      "url": "https://hugh.cdn.rumble.cloud/video/fwe2/10/s8/1/2/V/Z/3/2VZ3A.qR4e-small-Are-We-In-For-An-Election-N..jpg",
      "width": 1280,
      "height": 720
    },
    {
      "url": "https://hugh.cdn.rumble.cloud/video/fwe2/10/s8/1/2/V/Z/3/2VZ3A.aiEB-small-Are-We-In-For-An-Election-N..jpg",
      "width": 720,
      "height": 1280
    }
  ],
  "durationSeconds": 4150,
  "durationText": "1:09:10",
  "uploadedAt": "2026-10-05T12:12:47+00:00",
  "views": 588821,
  "rumblePlays": 96451,
  "youtubeViews": 0,
  "revenue": 0,
  "revenueUnit": "dollars",
  "likes": 10041,
  "dislikes": 154,
  "rumbleScore": 9887,
  "votesTotal": 10195,
  "commentsCount": 772,
  "repostsCount": 10,
  "width": 1920,
  "height": 1080,
  "fps": 30,
  "videoQuality": "Full HD",
  "preferredResolution": 720,
  "isShort": false,
  "isLive": false,
  "isUpcoming": false,
  "liveScheduledAt": null,
  "liveStreamedAt": "2026-10-05T14:00:13+00:00",
  "livestreamStatus": 0,
  "livestreamStatusLabel": "ended",
  "livestreamHasDvr": false,
  "watchingNow": null,
  "isAgeRestricted": false,
  "isMonetized": true,
  "isDownloadable": true,
  "isProcessing": false,
  "isChatDisabled": true,
  "visibility": "public",
  "availability": null,
  "tags": [],
  "categories": [
    "Podcasts",
    "Politics"
  ],
  "primaryCategory": {
    "slug": "podcasts",
    "title": "Podcasts"
  },
  "secondaryCategory": {
    "slug": "politics",
    "title": "Politics"
  },
  "mediaFiles": [
    {
      "kind": "video",
      "format": "mp4",
      "quality": "1080p",
      "resolution": 1080,
      "width": 1920,
      "height": 1080,
      "bitrateKbps": 7137,
      "bitrateText": "7.1 mbps",
      "sizeBytes": 3702890674,
      "url": "https://hugh.cdn.rumble.cloud/video/fwe2/10/s8/2/2/V/Z/3/2VZ3A.aaa.rec.mp4"
    },
    {
      "kind": "video",
      "format": "mp4",
      "quality": "1080p",
      "resolution": 1080,
      "width": 1920,
      "height": 1080,
      "bitrateKbps": 3996,
      "bitrateText": "4.0 mbps",
      "sizeBytes": 2073268360,
      "url": "https://hugh.cdn.rumble.cloud/video/fwe2/10/s8/2/2/V/Z/3/2VZ3A.haa.rec.mp4"
    },
    {
      "kind": "video",
      "format": "mp4",
      "quality": "720p",
      "resolution": 720,
      "width": 1280,
      "height": 720,
      "bitrateKbps": 2069,
      "bitrateText": "2.1 mbps",
      "sizeBytes": 1073822501,
      "url": "https://hugh.cdn.rumble.cloud/video/fwe2/10/s8/2/2/V/Z/3/2VZ3A.gaa.rec.mp4"
    },
    {
      "kind": "video",
      "format": "mp4",
      "quality": "480p",
      "resolution": 480,
      "width": 854,
      "height": 480,
      "bitrateKbps": 1007,
      "bitrateText": "1.0 mbps",
      "sizeBytes": 522794082,
      "url": "https://hugh.cdn.rumble.cloud/video/fwe2/10/s8/2/2/V/Z/3/2VZ3A.caa.rec.mp4"
    },
    {
      "kind": "video",
      "format": "mp4",
      "quality": "360p",
      "resolution": 360,
      "width": 640,
      "height": 360,
      "bitrateKbps": 636,
      "bitrateText": "640 kbps",
      "sizeBytes": 330111176,
      "url": "https://hugh.cdn.rumble.cloud/video/fwe2/10/s8/2/2/V/Z/3/2VZ3A.baa.rec.mp4"
    },
    {
      "kind": "video",
      "format": "mp4",
      "quality": "240p",
      "resolution": 240,
      "width": 640,
      "height": 360,
      "bitrateKbps": 203,
      "bitrateText": "200 kbps",
      "sizeBytes": 105452149,
      "url": "https://hugh.cdn.rumble.cloud/video/fwe2/10/s8/2/2/V/Z/3/2VZ3A.oaa.rec.mp4"
    },
    {
      "kind": "timeline",
      "format": "mp4",
      "quality": "180p",
      "resolution": 180,
      "width": 320,
      "height": 180,
      "bitrateKbps": 11,
      "bitrateText": null,
      "sizeBytes": 6226830,
      "url": "https://hugh.cdn.rumble.cloud/video/fwe2/10/s8/2/2/V/Z/3/2VZ3A.Faa.rec.mp4"
    },
    {
      "kind": "audio",
      "format": "aac",
      "quality": "192 kbps",
      "resolution": null,
      "width": null,
      "height": null,
      "bitrateKbps": 192,
      "bitrateText": null,
      "sizeBytes": 99611649,
      "url": "https://hugh.cdn.rumble.cloud/video/fwe2/10/s8/2/2/V/Z/3/2VZ3A.Gaa.rec.aac"
    }
  ],
  "audioUrl": "https://hugh.cdn.rumble.cloud/video/fwe2/10/s8/2/2/V/Z/3/2VZ3A.Gaa.rec.aac",
  "audioBitrateKbps": 192,
  "audioSizeBytes": 99611649,
  "captionsAvailable": true,
  "captions": [
    {
      "languageCode": "en-auto",
      "language": "English (auto)",
      "url": "https://hugh.cdn.rumble.cloud/video/fwe2/10/s8/11/2/V/Z/3/2VZ3A.fn8Si.vtt"
    }
  ],
  "momentsCount": 0,
  "sponsors": [],
  "channelId": "_c276782",
  "channelName": "bongino",
  "channelTitle": "The Dan Bongino Show",
  "channelUrl": "https://rumble.com/c/bongino",
  "channelType": "channel",
  "channelAvatarUrl": "https://hugh.cdn.rumble.cloud/video/z8/U/K/d/b/UKdba.baa.4-bongino-t8rqq7.jpeg",
  "channelFollowers": 3671160,
  "channelSubscribers": 0,
  "channelVerified": true,
  "channelBadge": "premium",
  "channelEncodedId": "8l4LxwaseqU",
  "channelStickerMuleUrl": null,
  "channelWalletId": "JP5lj6q-UXQ",
  "channelPremiumLabel": "Rumble Premium",
  "channelPremiumProgram": "premium-button-granted",
  "channelLocalsCommunity": null,
  "detailFetched": true,
  "sourceType": "video",
  "source": "https://rumble.com/v7gf0fq-are-we-in-for-an-election-night-surprise-ep.-2609-10052026.html",
  "searchQuery": null,
  "position": 1,
  "playlistId": null,
  "addedToPlaylistAt": null,
  "scrapedAt": "2026-10-10T09:54:12Z"
}
```

With `includeTranscripts` the row also carries `transcript` (the whole text; 60,403 characters for this hour-long video), `transcriptLanguage` and `transcriptSegments`, here the first three of 1,223:

```json
{
  "transcriptLanguage": "en-auto",
  "transcriptSegments": [
    {
      "start": 83.34,
      "end": 90.86,
      "text": "All America all the time sit down buckle up and get ready for the Dan Bongino show"
    },
    {
      "start": 91.38,
      "end": 97.78,
      "text": "Hey, you know what I need to do before the we got about what 29 days 30 days to the election"
    },
    {
      "start": 98.06,
      "end": 100.58,
      "text": "Right about right. We got about a month to go. All right"
    }
  ]
}
```

A channel row (a user account), from a user link:

```json
{
  "type": "channel",
  "platform": "rumble",
  "id": "_ukqd4p",
  "slug": "RealAmericasVoice",
  "name": "RealAmericasVoice",
  "title": "RealAmericasVoice",
  "url": "https://rumble.com/user/RealAmericasVoice",
  "channelType": "user",
  "description": "Real America's Voice delivers news programs and live-event coverage that captures the authentic voice and passion of real people all across America. Just Real News & Honest Views!",
  "avatarUrl": "https://hugh.cdn.rumble.cloud/video/z0/5/J/1/e/5J1ec.asF.4-kqd4p-s7lc3u.jpeg",
  "bannerUrl": null,
  "videosCount": 77120,
  "followers": 180106,
  "subscribers": 0,
  "following": 28,
  "rumbles": 2387831,
  "verified": true,
  "badge": "premium",
  "stickerMuleUrl": null,
  "monthlySubscriptionAvailable": false,
  "premiumLabel": null,
  "premiumProgram": null,
  "watchingNowCount": null,
  "tabs": [
    "all",
    "videos",
    "livestreams",
    "shorts",
    "channels",
    "reposts"
  ],
  "joinedAt": "2021-04-27",
  "totalViews": 340595896,
  "socialLinks": [
    {
      "name": "Twitter",
      "url": "https://twitter.com/RealAmVoice"
    },
    {
      "name": "Facebook",
      "url": "https://facebook.com/RealAmericasVoice/"
    },
    {
      "name": "Instagram",
      "url": "https://instagram.com/realamericasvoice/"
    },
    {
      "name": "Truthsocial",
      "url": "https://truthsocial.com/@realamericasvoice"
    }
  ],
  "twitter": "https://twitter.com/RealAmVoice",
  "facebook": "https://facebook.com/RealAmericasVoice/",
  "instagram": "https://instagram.com/realamericasvoice/",
  "truthsocial": "https://truthsocial.com/@realamericasvoice",
  "youtube": null,
  "tiktok": null,
  "telegram": null,
  "website": null,
  "email": null,
  "tipsPaymentUrl": null,
  "tipsQrCode": null,
  "tipsAddresses": [],
  "localsCommunity": {
    "ownerName": "RealAmericasVoice",
    "title": "RAV",
    "description": "Join RAV to discuss Real News & Give Honest Views on the current political climate in America and across the globe.",
    "logoUrl": "https://media3.locals.com/images/avatars/1458713/1458713_x9lgwd1utrndxmu_big.jpeg",
    "communityUrl": "https://ravsocial.locals.com/track/rumble/click/channel",
    "videoUrl": "https://ravsocial.locals.com/track/rumble/click/video",
    "likes": 5689,
    "posts": 22906,
    "members": 2973,
    "comments": 230,
    "joinButtonText": "Join",
    "showPremium": false
  },
  "featuredVideo": {
    "id": 446790276,
    "videoId": "v7g6mii",
    "embedId": "v7e09l0",
    "encodedId": "3lFLKjx_lLU",
    "url": "https://rumble.com/v7g6mii-home-of-real-news-and-honest-views.html",
    "path": "/v7g6mii-home-of-real-news-and-honest-views.html",
    "embedUrl": "https://rumble.com/embed/v7e09l0/",
    "title": "HOME OF REAL NEWS & HONEST VIEWS",
    "thumbnailUrl": "https://hugh.cdn.rumble.cloud/video/fwe2/bd/s8/1/6/n/u/2/6nu2A.OvCc-small-HOME-OF-REAL-NEWS-and-HONES..jpg",
    "durationSeconds": 0,
    "durationText": "0:00",
    "uploadedAt": "2026-09-30T09:32:36+00:00",
    "views": 644156,
    "rumblePlays": 59477,
    "youtubeViews": 0,
    "revenue": 0,
    "revenueUnit": "dollars",
    "likes": 1368,
    "dislikes": 49,
    "rumbleScore": 1319,
    "votesTotal": 1417,
    "commentsCount": 112,
    "repostsCount": 2,
    "width": 1920,
    "height": 1080,
    "videoQuality": "Full HD",
    "preferredResolution": null,
    "isShort": false,
    "isLive": true,
    "isUpcoming": false,
    "liveScheduledAt": null,
    "liveStreamedAt": "2026-09-30T09:33:28+00:00",
    "livestreamStatus": 2,
    "livestreamStatusLabel": "live now",
    "livestreamHasDvr": true,
    "watchingNow": 543,
    "isAgeRestricted": false,
    "isMonetized": true,
    "isDownloadable": false,
    "isProcessing": false,
    "isChatDisabled": null,
    "visibility": "public",
    "availability": null,
    "tags": [],
    "mediaFiles": [
      {
        "kind": "video",
        "format": "hls",
        "quality": "auto",
        "resolution": null,
        "width": null,
        "height": null,
        "bitrateKbps": null,
        "bitrateText": null,
        "sizeBytes": null,
        "url": "https://rumble.com/live-hls-dvr/3lFLKjx_lLU/playlist.m3u8"
      }
    ],
    "sponsors": [],
    "channelId": "_ukqd4p",
    "channelName": "RealAmericasVoice",
    "channelTitle": "RealAmericasVoice",
    "channelUrl": "https://rumble.com/user/RealAmericasVoice",
    "channelType": "user",
    "channelAvatarUrl": "https://hugh.cdn.rumble.cloud/video/z0/5/J/1/e/5J1ec.asF.4-kqd4p-s7lc3u.jpeg",
    "channelFollowers": 180106,
    "channelSubscribers": 0,
    "channelVerified": true,
    "channelBadge": "premium",
    "channelEncodedId": "hQ139IgV1R0",
    "channelStickerMuleUrl": null,
    "channelWalletId": null,
    "channelPremiumLabel": null,
    "channelPremiumProgram": null,
    "channelLocalsCommunity": {
      "ownerName": "RealAmericasVoice",
      "title": "RAV",
      "description": "Join RAV to discuss Real News & Give Honest Views on the current political climate in America and across the globe.",
      "logoUrl": "https://media3.locals.com/images/avatars/1458713/1458713_x9lgwd1utrndxmu_big.jpeg",
      "communityUrl": "https://ravsocial.locals.com/track/rumble/click/channel",
      "videoUrl": "https://ravsocial.locals.com/track/rumble/click/video",
      "likes": 5689,
      "posts": 22906,
      "members": 2973,
      "comments": 230,
      "joinButtonText": "Join",
      "showPremium": false
    }
  },
  "aboutFetched": true,
  "sourceType": "channel",
  "source": "https://rumble.com/user/RealAmericasVoice",
  "searchQuery": null,
  "position": null,
  "playlistId": null,
  "addedToPlaylistAt": null,
  "scrapedAt": "2026-10-10T09:55:09Z"
}
```

`tipsQrCode` holds the tip QR code as a PNG data URL (about 20 KB) for channels that take tips, with `tipsPaymentUrl` and `tipsAddresses` (blockchain, currency, address) beside it. This account takes no tips, so they are empty.

A playlist row:

```json
{
  "type": "playlist",
  "platform": "rumble",
  "id": "bIiAjWZmvAg",
  "title": "NEWSMAX Special Event Coverage",
  "description": "Special events from NEWSMAX, including town halls, debates, election night coverage and more.",
  "visibility": "public",
  "url": "https://rumble.com/playlists/bIiAjWZmvAg",
  "videosCount": 107,
  "thumbnailUrl": "https://hugh.cdn.rumble.cloud/video/fwe2/75/s8/6/M/2/m/5/M2m5A.OvCc.jpg",
  "createdAt": "2024-02-05T22:28:06+00:00",
  "updatedAt": "2026-10-09T19:52:36+00:00",
  "ownerId": 9653165,
  "ownerUsername": "NewsmaxTV",
  "ownerAvatarUrl": "https://hugh.cdn.rumble.cloud/video/z0/T/U/0/K/TU0Ka.asF.4-5qwfh-rhe9s8.jpeg",
  "ownerVerified": true,
  "ownerFollowers": 5180,
  "channelId": "_c316725",
  "channelName": "NewsmaxTV",
  "channelTitle": "NEWSMAX",
  "channelUrl": "https://rumble.com/c/NewsmaxTV",
  "channelAvatarUrl": "https://hugh.cdn.rumble.cloud/video/z8/1/u/n/b/1unba.baa.1-NewsmaxTV-qu1fdv.jpeg",
  "channelVerified": true,
  "channelFollowers": 1304157,
  "extra": null,
  "sourceType": "playlist",
  "source": "https://rumble.com/playlists/bIiAjWZmvAg",
  "searchQuery": null,
  "position": null,
  "playlistId": null,
  "addedToPlaylistAt": null,
  "scrapedAt": "2026-10-10T09:55:15Z"
}
```

A comment row (`includeComments`):

```json
{
  "type": "comment",
  "platform": "rumble",
  "id": 619313382,
  "videoId": 447181568,
  "videoUrl": "https://rumble.com/v7gf0fq-are-we-in-for-an-election-night-surprise-ep.-2609-10052026.html",
  "videoTitle": "Are We In For An Election Night Surprise? (Ep. 2609) - 10/05/2026",
  "text": "Today is October 5,2026 and Donald Trump is the Greatest President America has ever had 🇺🇸",
  "createdAt": "2026-10-05T12:54:24+00:00",
  "editedAt": null,
  "score": 107,
  "likes": 141,
  "dislikes": 34,
  "votesTotal": 175,
  "parentId": null,
  "depth": 0,
  "repliesCount": 3,
  "isPinned": false,
  "isDeleted": false,
  "deletedFlag": 0,
  "deletedFlagLabel": "visible",
  "authorId": "_uf3enz",
  "authorSlug": "Irishjim",
  "authorName": "Irishjim",
  "authorAvatarUrl": "https://hugh.cdn.rumble.cloud/video/z0/_/V/T/G/_VTGb.asF.c-f3enz-s6p6gd.jpeg",
  "authorType": "user",
  "authorUrl": "https://rumble.com/user/Irishjim",
  "authorVerified": true,
  "authorBadge": "premium",
  "authorBadges": [
    {
      "key": "verified",
      "label": "Verified",
      "iconUrl": "https://rumble.com/i/badges/verified_48.png"
    },
    {
      "key": "recurring_subscription",
      "label": "Sub",
      "iconUrl": "https://rumble.com/i/badges/locals_96.png"
    }
  ],
  "sourceType": "comments",
  "source": "https://rumble.com/v7gf0fq-are-we-in-for-an-election-night-surprise-ep.-2609-10052026.html",
  "scrapedAt": "2026-10-10T10:06:00Z"
}
```

`relatedVideos` (with `includeRelatedVideos`) holds up to 10 entries with the same video fields as `featuredVideo` above. Rumble's own counts can lag a little behind the page; `rumbleScore` is Rumble's net score and is sometimes one below likes minus dislikes. File links expire after a while, so download soon after the run.

### How much does it cost to scrape Rumble?

You pay per row saved. Details, transcripts and related videos add no charge.

| Event | When charged | Price |
|---|---|---|
| Video | Once for each video saved (searches, channels, playlists, categories, trending, links) | $1.49 per 1,000 |
| Channel | Once for each channel saved (channel and user links with channel details, channel search results) | $1.99 per 1,000 |
| Playlist | Once for each playlist saved | $1.49 per 1,000 |
| Comment | Once for each comment or reply saved (`includeComments`) | $0.49 per 1,000 |

Discounts by Apify plan, per 1,000: videos and playlists $1.49 on Free, $1.39 on Bronze, $1.29 on Silver, $1.09 on Gold and above; channels $1.99, $1.89, $1.69 and $1.39; comments $0.49, $0.44, $0.39 and $0.34.

Video, Channel and Comment charges for typical runs on the Free plan: 100 videos, about $0.15; every video for "news" (4,975), about $7.41; a channel with 2,072 videos and its channel row, about $3.09; one video with its 464 comments, about $0.23. Set `maxItems`, `maxItemsPerInput` or a spending limit to cap any run. A run that reaches its spending limit stops and keeps every row it saved.

### FAQ

**Do I need a Rumble account, login or cookie?** No. The actor reads what Rumble shows to anyone.

**How many videos does a search return?** Every video Rumble lists for the keyword, up to about 5,000 for very common words. Narrower keywords return fewer. Use `sort`, `uploadDate` and `duration` to focus a search.

**Can I get all videos of a channel, including old ones?** Yes. A channel or user link returns its whole catalogue, newest first (or by views or votes with `channelSort`).

**How do I get transcripts?** Turn on `includeTranscripts`. Many Rumble videos, not all, have automatic English captions; the actor turns them into plain text and timed segments at no extra charge. Videos without captions have `captionsAvailable: false`.

**Can I download the videos?** Each row lists every file Rumble offers (`mediaFiles`) with its quality, resolution, bitrate and size, plus `audioUrl` for the audio track. The actor returns links, not files; links expire after a while.

**Are comments complete?** The actor returns every comment and reply Rumble shows publicly. Rumble's comment count also counts comments it no longer shows, so it can be higher than the rows returned.

**How do I monitor a channel or keyword?** Schedule the actor (for example daily) with a channel link or a keyword sorted by `date` and a small `maxItemsPerInput`, then compare runs by `id`.

**Why is a channel row missing its social links or join date?** They come from the channel's about page. When that page cannot be read during the run, the row still arrives with everything else and `aboutFetched` is `false`; the run log says some results were saved without part of their extra details. Re-run to fill the gap.

**Which export keeps nested data?** JSON keeps `mediaFiles`, `captions`, `thumbnails` and the other lists as they are. CSV and Excel flatten them into columns.

**Is it legal?** The actor collects publicly visible information. You are responsible for how you use it, including copyright in videos and personal data in comments and channel profiles.

### More Clearpath scrapers for social research

- [Bluesky Scraper](https://apify.com/clearpath/bluesky-scraper)
- [Reddit Search Scraper](https://apify.com/clearpath/reddit-search-scraper)
- [Reddit Subreddit Posts Scraper](https://apify.com/clearpath/reddit-subreddit-posts-scraper)
- [Reddit Post Comments Scraper](https://apify.com/clearpath/reddit-post-comments-bulk-scraper)

Full directory: [Clearpath on Apify](https://apify.com/clearpath)

### Support

Found a problem or need a field? Open an issue on the Issues tab or write to max@mapa.slmail.me.

# Actor input Schema

## `searchQueries` (type: `array`):

Keywords to search Rumble videos for, one per line. Each keyword returns every video Rumble lists for it: thousands for common words (about 5,000 for <code>news</code>). Use the search filters below to sort or narrow them.

## `startUrls` (type: `array`):

Any Rumble link, mixed freely:<br><b>Video</b> <code>rumble.com/v…html</code>, a shorts or embed link<br><b>Channel</b> <code>rumble.com/c/Bongino</code> or <b>user</b> <code>rumble.com/user/RealAmericasVoice</code>: every video, plus a channel row<br><b>Channel playlists</b> <code>rumble.com/c/NewsmaxTV/playlists</code><br><b>Playlist</b> <code>rumble.com/playlists/…</code>: the playlist row and every video in it<br><b>Category</b> <code>rumble.com/category/news</code><br><b>Search</b> <code>rumble.com/search/video?q=news</code> (its sort, date and duration settings apply) or a channel search<br><b>Trending</b> <code>rumble.com/videos?sort=views\&date=today</code>, <b>editor picks</b>, <b>live</b>, <b>shorts</b>

## `channelSearchQueries` (type: `array`):

Keywords to search Rumble channels for. Returns one row per channel, with its full details when <b>Full video details</b> is on.

## `maxItems` (type: `integer`):

Stops the whole run after this many rows of any type (videos, channels, playlists, comments); each row is a result. Leave empty for no overall limit.

## `sort` (type: `string`):

Order of video search results, for keywords and search links. Leave empty for Rumble's relevance order.

## `uploadDate` (type: `string`):

Only videos uploaded in this period. Leave empty for any time.

## `duration` (type: `string`):

Only short (under 5 minutes) or long (over 20 minutes) videos. Leave empty for any length.

## `includeChannelVideos` (type: `boolean`):

For channel and user links, return every video of the channel, newest first unless sorted below.

## `includeChannelInfo` (type: `boolean`):

For channel and user links, also return one channel row: followers, video count, total views, join date, social links, tip addresses, Locals community and featured video.

## `includeChannelPlaylists` (type: `boolean`):

For channel and user links, also return one row per playlist of the channel. Each playlist row is a result.

## `channelSort` (type: `string`):

Order of a channel's videos. Leave empty for newest first.

## `fetchDetails` (type: `boolean`):

Open every video for its full description, categories, captions, frame rate, every thumbnail size, the share link, the audio track and file sizes. Turn off for faster runs with the listing fields only (title, views, votes, comment count, channel, video file links).

## `includeTranscripts` (type: `boolean`):

Add the full transcript and timed segments of every video that has captions (most have Rumble's automatic English captions). Adds one download per video and makes rows larger; no extra charge.

## `includeComments` (type: `boolean`):

Also return the comments and replies of every video, one row per comment. Each comment row is a result, so this can add many results per video: cap it below.

## `maxCommentsPerVideo` (type: `integer`):

Stops each video's comments at this many, highest score first. Leave empty for all comments.

## `includeRelatedVideos` (type: `boolean`):

Add the 10 videos Rumble recommends next to each video, with their views, votes, channel and file links, nested in the video's row (no extra results). Makes each row several times larger.

## `maxItemsPerInput` (type: `integer`):

Stops each search, channel, playlist or list (and each channel's playlists) after this many results. Leave empty for everything Rumble lists.

## `feedback` (type: `string`):

For AI agents. Say what you needed and did not get: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. Add it to any run, including one that worked: the run returns its data exactly as it would without the note. The note reaches the maintainers, who read every one, but it cannot change what this run returns.

## Actor input object example

```json
{
  "searchQueries": [
    "news"
  ],
  "maxItems": 100,
  "includeChannelVideos": true,
  "includeChannelInfo": true,
  "includeChannelPlaylists": false,
  "fetchDetails": true,
  "includeTranscripts": false,
  "includeComments": false,
  "includeRelatedVideos": false
}
```

# Actor output Schema

## `results` (type: `string`):

Every row this run returned.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQueries": [
        "news"
    ],
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("clearpath/rumble-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQueries": ["news"],
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("clearpath/rumble-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "news"
  ],
  "maxItems": 100
}' |
apify call clearpath/rumble-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,clearpath/rumble-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/LOLP2JBf5C2SCylbm/builds/IaWNeA79LY0hXEucL/openapi.json
