# Rumble Video Extractor (`kawsar/rumble-video-extractor`) Actor

Extract complete Rumble video data, rumbles, views, comments, and channel statistics in seconds. Zero proxy configuration or complex setups required.

- **URL**: https://apify.com/kawsar/rumble-video-extractor.md
- **Developed by:** [Kawsar](https://apify.com/kawsar) (community)
- **Categories:** Videos, Social media, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 1,000 results

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Rumble Video Extractor: Gather engagement stats, channel uploads, and search listings

This Rumble video extractor converts public search results, user channels, creator pages, and engagement statistics from Rumble into structured spreadsheets and datasets. It serves as an automated alternative to manual market research and competitive tracking, helping you capture clean datasets by simply supplying a list of search queries or channel links.

---

### Why extract data from Rumble?

As one of the fastest growing video sharing networks, Rumble hosts a large collection of public commentary, news, gaming, and entertainment content. Gathering unstructured video data from the platform allows you to:

*   **Analyze audience engagement**: Track how users react to content by analyzing metrics like view counts, upvotes, downvotes, and comment counts.
*   **Study creator performance**: Evaluate creator growth patterns and video release frequency to spot successful styles or publishing schedules.
*   **Track niche keywords**: Research search results for specific keywords to evaluate public sentiment and notice rising topics.
*   **Build content libraries**: Archive video titles, durations, thumbnails, and direct URLs for compliance, study, or media curation.

---

### Features and capabilities

This tool is designed to work reliably and yield clean results immediately. Key features include:

*   **Flexible query inputs**: Submit standard search keywords or paste direct channel links and profile URLs into the input form.
*   **Batch crawling capabilities**: Run multiple keywords or links at once using the list input, allowing you to crawl multiple topics or creators in a single execution.
*   **Smart pagination**: Automatically cycles through pages to retrieve up to the maximum limit of items you specify per query.
*   **Automatic duplicate filtering**: Employs built-in deduplication during extraction to make sure you do not pay for duplicate video listings if Rumble redirects search listings.
*   **Pre-configured bypass systems**: Runs with highly secure residential routing completely on the backend, bypassing anti-bot challenges and Cloudflare screens with no manual proxy configuration needed on your part.

---

### What data is extracted?

The extractor collects comprehensive metadata from every video listed in the search results or channel uploads. The extracted fields are:

*   **Video details**: Title, direct video URL, duration, thumbnail image URL, absolute upload timestamp (ISO format), and relative upload text.
*   **Engagement metrics**: View counts, likes, dislikes, and total comments count.
*   **Creator details**: Channel name, channel URL, and channel verification status.
*   **Crawl metadata**: Absolute timestamp when the record was scraped.

---

### How to use the extractor

1.  **Configure inputs**: Add your search terms or channel links to the Search Queries list. Add one query or URL per line.
2.  **Set limits**: Specify the maximum number of items you want to fetch per query.
3.  **Run the extractor**: Click the Start button.
4.  **Export results**: Download the extracted datasets as Excel, CSV, XML, HTML, or JSON from your storage tab.

---

### Input parameters

The extractor accepts three parameters to control its behavior:

| Parameter | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `searchQueries` | array | `["sponge bob"]` | List of search keywords, channel links, or search URLs (one per line) to scrape. |
| `maxItems` | integer | `20` | The maximum number of videos to extract per query. |
| `requestTimeoutSecs` | integer | `60` | Per-request timeout in seconds to handle connection limits. |

#### Example input configuration

```json
{
    "searchQueries": [
        "sponge bob",
        "https://rumble.com/c/TheBubbaArmy"
    ],
    "maxItems": 50,
    "requestTimeoutSecs": 60
}
````

***

### Output data structure

All extracted data is stored in the default dataset associated with the run. Here is an example of a single video item format:

```json
{
  "videoTitle": "KEEP BOMBING AND KEEP LYING ABOUT IT! - Bubba the Love Sponge Show | 6/05/2026",
  "videoUrl": "https://rumble.com/v7atao8--bubba-the-love-sponge-show-6052026.html",
  "thumbnailUrl": "https://hugh.cdn.rumble.cloud/video/fww1/6d/s8/1/i/f/6/t/if6tA.oq1b-small.jpg",
  "duration": "4:00:06",
  "uploadedAt": "2026-06-04T10:01:43-04:00",
  "uploadedText": "1 day ago",
  "channelName": "Bubba the Love Sponge Show",
  "channelUrl": "https://rumble.com/c/TheBubbaArmy",
  "channelVerified": true,
  "likes": 114,
  "dislikes": 19,
  "views": "9.7K",
  "commentsCount": 11,
  "scrapedAt": "2026-06-06T12:42:34.050178+00:00"
}
```

***

### Frequently asked questions

**Can I crawl video uploads directly from channel pages?**
Yes. You can paste any Rumble channel URL or user profile link as a query in your search list. The extractor identifies the URL format, requests the channel upload feed, and parses the videos page by page.

**What is the maximum limit of items I can extract?**
The scraper is optimized to collect up to 1,000 video records per query. You can set this limit in the Max items per query setting.

**Does the scraper collect comment details?**
No. This scraper extracts top-level video metadata and counts of comments, views, and rumbles. It does not navigate inside individual videos to parse the actual comments or profiles.

**How does the backend proxy work?**
All network requests are routed through a secure, premium residential routing system. This ensures that you do not need to purchase external proxies, configure rotation settings, or worry about IP blocking. The extractor handles blocks silently on the backend.

***

### Integration and workflow automation

You can connect the extractor to your favorite applications using Apify integrations. This enables you to automate your data pipelines easily:

- **Cloud storage**: Push your datasets automatically to Google Sheets, Notion, Airtable, or Microsoft Excel.
- **Team notifications**: Send a message to Slack, Discord, or email when a bulk crawl completes.
- **Webhooks**: Set up an HTTP webhook to ping your own server or trigger a Zapier workflow whenever a run completes.

# Actor input Schema

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

List of search queries, video URLs, or channel URLs (one per line) to scrape in batch.

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

Maximum number of items to process per search query or URL.

## `requestTimeoutSecs` (type: `integer`):

Per-request timeout in seconds.

## Actor input object example

```json
{
  "searchQueries": [
    "sponge bob",
    "https://rumble.com/c/TheBubbaArmy"
  ],
  "maxItems": 20,
  "requestTimeoutSecs": 60
}
```

# 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": [
        "sponge bob"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("kawsar/rumble-video-extractor").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": ["sponge bob"] }

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

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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": [
    "sponge bob"
  ]
}' |
apify call kawsar/rumble-video-extractor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=kawsar/rumble-video-extractor",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Rumble Video Extractor",
        "description": "Extract complete Rumble video data, rumbles, views, comments, and channel statistics in seconds. Zero proxy configuration or complex setups required.",
        "version": "0.0",
        "x-build-id": "BvhXZenlPalK65bFS"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/kawsar~rumble-video-extractor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-kawsar-rumble-video-extractor",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/kawsar~rumble-video-extractor/runs": {
            "post": {
                "operationId": "runs-sync-kawsar-rumble-video-extractor",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/kawsar~rumble-video-extractor/run-sync": {
            "post": {
                "operationId": "run-sync-kawsar-rumble-video-extractor",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "searchQueries"
                ],
                "properties": {
                    "searchQueries": {
                        "title": "Search Queries or URLs List",
                        "type": "array",
                        "description": "List of search queries, video URLs, or channel URLs (one per line) to scrape in batch.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max items per query",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of items to process per search query or URL.",
                        "default": 20
                    },
                    "requestTimeoutSecs": {
                        "title": "Request timeout (seconds)",
                        "minimum": 5,
                        "maximum": 120,
                        "type": "integer",
                        "description": "Per-request timeout in seconds.",
                        "default": 60
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
