
Instagram Reel Scraper
scrape.ly/store/echofield/instagram-reel-scraperSocial mediaVideos
1 monthly user

Scrape Rumble videos, channels, search results, categories, playlists and comments: views, likes, dislikes, comments count, duration, tags, description, followers and more. No login needed.
Scrape Rumble videos, channels, search results, categories, playlists and comments in seconds. Get views, likes, dislikes, comment counts, duration, upload date, tags, description, captions, video file links and channel followers as clean JSON, CSV or Excel. No login, no API key, and it costs $1 per 1,000 results.
| Field | What it does |
|---|---|
startUrls | Rumble URLs: videos, channels (/c/NAME, /user/NAME), searches, categories, Editor Picks, live, playlists |
searchQueries | Keywords to search videos for |
maxResults | Videos per URL or keyword (0 = no limit) |
sort, uploadDate, duration, contentType | Search and channel filters |
uploadedAfter, minViews | Skip older or less viewed videos |
includeChannelInfo / includeChannelVideos | Channel profile row, channel videos, or both |
includeDescription | Adds description, categories and caption links (one extra request per video) |
includeComments, maxComments, commentsSort | Comments per video |
{
"startUrls": [
"https://rumble.com/c/TimcastIRL",
"https://rumble.com/search/video?q=bitcoin&sort=views&date=this-month"
],
"searchQueries": ["space exploration"],
"maxResults": 20,
"contentType": "videos",
"includeComments": true,
"maxComments": 10
}
Each video is one row. Channel URLs also add one channel row ("type": "channel").
| Field | Description |
|---|---|
title, url, embedUrl, thumbnailUrl | Video basics |
views, likes, dislikes, rumbleScore, commentsCount, repostsCount | Engagement |
duration, durationText, uploadedAt | Length (seconds) and upload time |
description, tags, categories, captions | Text data (description, categories and captions with includeDescription, or for video URLs) |
isShort, isLive, liveStatus, liveStreamedAt | Format and live info |
hlsUrl, videoFiles | Stream and MP4 links when Rumble lists them |
channelName, channelUrl, channelFollowers, channelVerified | Channel of the video |
comments | Comments with author, text, score, date and replies (with includeComments) |
followers, videosCount, verified, bannerUrl | Channel rows |
Example (shortened; names and numbers are made up):
[
{
"type": "video",
"id": 447000001,
"embedId": "v7e1abc",
"url": "https://rumble.com/v7g0abc-morning-market-update.html",
"embedUrl": "https://rumble.com/embed/v7e1abc/",
"title": "Morning Market Update",
"description": "Today's biggest moves in crypto and stocks.",
"thumbnailUrl": "https://hugh.cdn.rumble.cloud/video/example.jpg",
"duration": 721,
"durationText": "12:01",
"uploadedAt": "2026-10-13T23:56:53+00:00",
"views": 965,
"likes": 18,
"dislikes": 0,
"rumbleScore": 18,
"commentsCount": 3,
"tags": ["Bitcoin", "markets"],
"categories": ["Finance & Crypto"],
"isShort": false,
"isLive": false,
"hlsUrl": "https://rumble.com/hls-vod/example/playlist.m3u8",
"channelName": "Example Finance",
"channelUrl": "https://rumble.com/c/ExampleFinance",
"channelFollowers": 51114,
"channelVerified": true,
"comments": [
{"author": "viewer123", "text": "Great summary!", "score": 4, "postedAt": "2026-10-14T08:10:00+00:00", "replies": []}
],
"source": "search",
"searchQuery": "bitcoin"
},
{
"type": "channel",
"id": "_c1000001",
"slug": "ExampleFinance",
"name": "Example Finance",
"url": "https://rumble.com/c/ExampleFinance",
"followers": 51114,
"videosCount": 1320,
"verified": true,
"description": "Daily market news.",
"bannerUrl": "https://hugh.cdn.rumble.cloud/video/example-banner.jpg"
}
]
You pay $1.00 per 1,000 results ($0.001 per saved video or channel row). Comments come free with their video row. Platform usage (compute and proxy traffic) is billed separately and is small for this actor: a 1,000-video run moves only a few megabytes over the default residential proxy.
Example: 1,000 videos ≈ $1.00 in results plus about a cent of usage.
Is scraping Rumble legal? The actor only reads public pages and data that anyone can see without logging in. You are responsible for how you use the data, including personal data in comments.
Do I need a Rumble account or a proxy? No login is needed. A residential proxy is on by default, because Rumble's Cloudflare often refuses datacenter addresses.
How many results can I get? Channels can be scraped in full (thousands of videos). Rumble's search returns up to about 5,000 results per keyword; use filters (upload date, duration, sort) or more keywords to go further. A 10,000-video channel run took under 5 minutes in our tests.
Why is a field empty? Rumble does not show every field for every video. For example description, categories and captions need Add description (or a video URL), and fresh uploads in categories often show 0 views.
Can I schedule it or use the API? Yes. Schedule runs in the console, or start runs and read the dataset through the API in JSON, CSV or Excel.
Is there a migration path from other Rumble scrapers? Paste the same channel, video, search and playlist URLs; the output uses clear field names such as views, likes, dislikes and channelFollowers.
captions), not as text.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
startUrlsarrayOptionalRumble URLs
One URL per line. Supported: videos (rumble.com/v...html, /shorts/v..., /embed/v...), channels and users (rumble.com/c/NAME, rumble.com/user/NAME, also /videos or /shorts tabs), searches (rumble.com/search/video?q=..., /search/channel?q=...), categories (rumble.com/category/news), Editor Picks (rumble.com/editor-picks), live (rumble.com/browse/live) and playlists (rumble.com/playlists/ID). Plain words are treated as a search.
searchQueriesarrayOptionalSearch keywords
Keywords to search Rumble videos for, one per line. Uses the filters below.
maxResultsintegerOptionaldefault 20Max videos per URL or keyword
How many videos to save from each channel, search, category or playlist. 0 means no limit. A channel URL also adds one channel row when channel info is on.
sortenumOptionaldefault "relevance"Sort by
Search results: relevance, newest, most viewed or most rumbles (likes). Channels: newest (default) or most viewed.
uploadDateenumOptionaldefault "any"Upload date (search)
Only search results uploaded in this period.
durationenumOptionaldefault "any"Duration (search)
Short videos (under ~4 minutes) or long videos (over ~20 minutes). Search only.
contentTypeenumOptionaldefault "all"Content type
Regular videos, Shorts, or both. Applies to searches, channels and categories.
uploadedAfterstringOptionalUploaded after
Skip videos uploaded before this date (YYYY-MM-DD, or a relative value like '30 days'). Channels sorted by newest stop paging once they pass it.
minViewsintegerOptionalMinimum views
Skip videos with fewer views.
includeChannelInfobooleanOptionaldefault trueAdd a channel row for channel URLs
Save the channel's profile (followers, video count, verified badge, description, banner) as its own row.
includeChannelVideosbooleanOptionaldefault trueScrape videos of channel URLs
Turn off to save only the channel profile rows.
includeDescriptionbooleanOptionaldefault falseAdd description, categories and captions
Fetch each video's full description, categories and caption (subtitle) links. Costs one extra request per video, so runs are a bit slower. Video URLs always get these fields.
includeCommentsbooleanOptionaldefault falseAdd comments
Attach comments (with replies) to each video row.
maxCommentsintegerOptionaldefault 20Max comments per video
Top-level comments to keep per video. Replies come along with their comment. Comments are stored inside the video row, so very long threads stop at about 8 MB of comments per video.
commentsSortenumOptionaldefault "popular"Comments order
Which comments come first.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["RESIDENTIA…Proxy configuration
Residential proxies are the default: Rumble's Cloudflare often refuses datacenter addresses. Traffic is tiny (a few MB per 1,000 videos).
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| type | string | null | video or channel |
| id | integer | string | null | Rumble id (number for videos, _c/_u id for channels) |
| title | string | null | Video title |
| url | string | null | Page URL |
| views | number | null | View count |
| likes | number | null | Likes (rumbles up) |
| dislikes | number | null | Dislikes (rumbles down) |
| commentsCount | number | null | Comment count |
| duration | number | null | Duration in seconds |
| uploadedAt | string | null | Upload time, ISO 8601 |
| description | string | null | Description |
| tags | array | null | Tags |
| channelName | string | null | Channel name |
| channelUrl | string | null | Channel URL |
| channelFollowers | number | null | Channel followers |
| name | string | null | Channel name (channel rows) |
| followers | number | null | Followers (channel rows) |
| videosCount | number | null | Videos on the channel (channel rows) |
| comments | array | null | Comments, when enabled |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Result | One Rumble video or channel saved to the dataset (comments included with their video). | $0.001 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('echofield/rumble-scraper').call({
"startUrls": [
"https://rumble.com/c/TimcastIRL"
],
"searchQueries": [],
"maxResults": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"RESIDENTIAL"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run echofield/rumble-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=echofield/rumble-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Video search with channel details and channel videos.
Channel information from Rumble channel URLs.
Latest videos from a Rumble channel URL.
Video search including viewer comments.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.