Rumble
5 endpoints.
- GET /v1/rumble/channel_videos
- GET /v1/rumble/search
- GET /v1/rumble/video
- GET /v1/rumble/video_comments
- GET /v1/rumble/video_captions
GET /v1/rumble/channel_videos
Channel Videos
Gets videos from a Rumble channel by handle or URL. Returns channel metadata, videos, shorts, and a numeric cursor for the next page.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
handle | query | string | Rumble channel handle. If you'd prefer to use the URL instead, use the url parameter. |
url | query | string | Rumble channel URL. If you'd prefer to use the handle instead, use the handle parameter. |
next_cursor | query | string | Cursor from the previous response. This is the next page number, like 2 or 3. |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/rumble/channel_videos" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/rumble/channel_videos", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/rumble/channel_videos",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"channel": {
"name": "Cute Cats",
"url": "https://rumble.com/c/CuteCats223",
"handle": "CuteCats223"
},
"videos": [
{
"id": "v6uyinv",
"url": "https://rumble.com/v6uyinv-try-not-to-laughfunniest-dogs-and-cats-clips-2025.html",
"title": "Try Not To LaughFunniest Dogs and Cats Clips 2025",
"thumbnail": "https://hugh.cdn.rumble.cloud/video/fww1/7e/s8/1/7/J/u/U/7JuUy.oq1b.2-small-Try-Not-To-LaughFunniest-Do.jpg",
"duration": "20:55",
"published_at": "2025-06-18T05:04:11-04:00",
"published_text": "10 months ago",
"view_count_text": "1,150 views",
"view_count_int": 1150,
"type": "video"
}
],
"shorts": [],
"next_cursor": 2
}GET /v1/rumble/search
Search
Searches Rumble videos by keyword. Returns matching videos and shorts with title, URL, thumbnail, channel, published date, viewCountText, viewCountInt, and a numeric cursor for the next page.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
query required | query | string | Search query. |
next_cursor | query | string | Cursor from the previous response. This is the next page number, like 2 or 3. |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/rumble/search?query=funny cats" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/rumble/search?query=funny cats", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/rumble/search?query=funny cats",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"query": "funny cats",
"videos": [
{
"id": "v6w80h0",
"url": "https://rumble.com/v6w80h0-democrats-pretend-to-care-about-epstein-nightly-scroll-w-hayley-caronia-ep..html",
"title": "Democrats Pretend To Care About Epstein - Nightly Scroll w/ Hayley Caronia (Ep.90) - 07/15/2025",
"thumbnail": "https://hugh.cdn.rumble.cloud/video/fww1/e9/s8/1/K/X/A/2/KXA2y.oq1b.2-small-Democrats-Pretend-To-Care-A.jpg",
"duration": "10 months ago Democrats Pretend To Care About Epstein - Nightly Scroll w/ Hayley Caronia (Ep.90) - 07/15/2025 BonginoReport Verified",
"published_at": "2025-07-15T16:29:49-04:00",
"published_text": "10 months ago",
"view_count_text": "185,000 views",
"view_count_int": 185000,
"channel": {
"name": "BonginoReport Verified",
"url": "https://rumble.com/user/BonginoReport",
"handle": "BonginoReport"
},
"type": "video"
}
],
"channels": [],
"playlists": [],
"shorts": [
{
"id": "v79mu94",
"url": "https://rumble.com/shorts/v79mu94",
"title": "FUNNY🤣 CATS",
"thumbnail": "https://hugh.cdn.rumble.cloud/video/fww1/86/s8/6/O/E/w/m/OEwmA.oq1b.jpg",
"duration": null,
"published_at": "2026-05-09T19:22:41-04:00",
"published_text": "9 days ago",
"view_count_text": "327 views",
"view_count_int": 327,
"channel": {
"name": "SusieQ4u",
"url": "https://rumble.com/user/SusieQ4u",
"handle": "SusieQ4u"
},
"type": "short"
}
],
"lives": [],
"next_cursor": 2
}GET /v1/rumble/video
Video
Gets Rumble video details by URL. Returns title, description, thumbnail, channel, publish date, view count, likes, dislikes, captions, and media metadata when available.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
url required | query | string | Rumble video URL. |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/rumble/video?url=https://rumble.com/v79xhhm-discovery-why-glenn-wants-israel-to-sue-the-new-york-times.html" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/rumble/video?url=https://rumble.com/v79xhhm-discovery-why-glenn-wants-israel-to-sue-the-new-york-times.html", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/rumble/video?url=https://rumble.com/v79xhhm-discovery-why-glenn-wants-israel-to-sue-the-new-york-times.html",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"id": "v79xhhm",
"numeric_id": 436271810,
"embed_id": "v77qthe",
"url": "https://rumble.com/v79xhhm-discovery-why-glenn-wants-israel-to-sue-the-new-york-times.html",
"embed_url": "https://rumble.com/embed/v77qthe/",
"title": "DISCOVERY: Why Glenn WANTS Israel to Sue The New York Times",
"description": "Follow Glenn Greenwald's writing and other journalism at Substack, where you can become a member: https://greenwald.substack.com/ All videos now available as...",
"thumbnail": "https://hugh.cdn.rumble.cloud/video/fwe2/2f/s8/1/k/V/p/o/kVpoA.qR4e-small-DISCOVERY-Why-Glenn-WANTS-I..jpg",
"duration": 1678,
"published_at": "2026-05-16T11:31:27+00:00",
"view_count_text": "17,279 views",
"view_count_int": 17279,
"like_count": 145,
"dislike_count": 3,
"width": 1920,
"height": 1080,
"channel": {
"name": "Glenn Greenwald",
"url": "https://rumble.com/c/GGreenwald",
"handle": "GGreenwald"
},
"captions": {
"en_auto": {
"language": "English (auto)",
"path": "https://hugh.cdn.rumble.cloud/video/fwe2/2f/s8/11/k/V/p/o/kVpoA.fn8Si.vtt"
}
},
"media": {
"tar": {
"240": {
"url": "https://hugh.cdn.rumble.cloud/video/fwe2/2f/s8/2/k/V/p/o/kVpoA.oaa.tar?r_file=chunklist.m3u8&r_type=application%2Fvnd.apple.mpegurl&r_range=46677504-46694057",
"meta": {
"bitrate": 222,
"size": 46704640,
"w": 640,
"h": 360
}
},
"360": {
"url": "https://hugh.cdn.rumble.cloud/video/fwe2/2f/s8/2/k/V/p/o/kVpoA.baa.tar?r_file=chunklist.m3u8&r_type=application%2Fvnd.apple.mpegurl&r_range=142485504-142502129",
"meta": {
"bitrate": 679,
"size": 142510080,
"w": 640,
"h": 360
}
},
"480": {
"url": "https://hugh.cdn.rumble.cloud/video/fwe2/2f/s8/2/k/V/p/o/kVpoA.caa.tar?r_file=chunklist.m3u8&r_type=application%2Fvnd.apple.mpegurl&r_range=222280704-222297420",
"meta": {
"bitrate": 1059,
"size": 222300160,
"w": 854,
"h": 480
}
},
"720": {
"url": "https://hugh.cdn.rumble.cloud/video/fwe2/2f/s8/2/k/V/p/o/kVpoA.gaa.tar?r_file=chunklist.m3u8&r_type=application%2Fvnd.apple.mpegurl&r_range=449539072-449555872",
"meta": {
"bitrate": 2142,
"size": 449566720,
"w": 1280,
"h": 720
}
}
},
"timeline": {
"180": {
"url": "https://hugh.cdn.rumble.cloud/video/fwe2/2f/s8/2/k/V/p/o/kVpoA.Faa.mp4",
"meta": {
"bitrate": 11,
"size": 2508015,
"w": 320,
"h": 180
}
}
},
"audio": {
"192": {
"url": "https://hugh.cdn.rumble.cloud/video/fwe2/2f/s8/2/k/V/p/o/kVpoA.Gaa.aac",
"meta": {
"bitrate": 195,
"size": 40281235,
"w": 0,
"h": 0
}
}
},
"hls": {
"auto": {
"url": "https://rumble.com/hls-vod/77qthe/playlist.m3u8"
}
}
},
"share_url": "https://rumble.com/share/v79xhhm?src=VoG0dqZG5JZ6uoPQ0mmpV91Vkao2i8JCNcVBpMIgYffXfccYYhMCQA",
"is_live": false
}GET /v1/rumble/video_comments
Comments
Gets all top level comments for a Rumble video by URL. Returns comment text, author, createdAt, createdAtText, likeCount, dislikeCount, and replyCount when comment bodies are public. If Rumble requires sign-in to view the comments, this endpoint returns HTTP 403 with error `forbidden` and does not charge credits. This is different from a public video with no comments, which returns a successful empty comments array. Sign-in-required response example: ```json { "success": false, "": 100, "": 0, "error": "forbidden", "errorStatus": 403, "message": "Rumble requires you to sign in to view this video's comments" } ```
Parameters
| Name | In | Type | Description |
|---|---|---|---|
url required | query | string | Rumble video URL. |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/rumble/video_comments?url=https://rumble.com/v792vns-the-splc-is-a-deceitful-and-poisonous-group.-but-was-their-behavior-crimina.html?e9s=rel_v2_ep" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/rumble/video_comments?url=https://rumble.com/v792vns-the-splc-is-a-deceitful-and-poisonous-group.-but-was-their-behavior-crimina.html?e9s=rel_v2_ep", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/rumble/video_comments?url=https://rumble.com/v792vns-the-splc-is-a-deceitful-and-poisonous-group.-but-was-their-behavior-crimina.html?e9s=rel_v2_ep",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"id": "v792vns",
"numeric_id": 434843840,
"embed_id": "v76w7nk",
"url": "https://rumble.com/v792vns-the-splc-is-a-deceitful-and-poisonous-group.-but-was-their-behavior-crimina.html",
"comments": [
{
"id": "609604348",
"text": "This is just like Jussie Smollett but on a huger scale -- if we can't find \"white supremacy,\" well, we'll just make that sh*t up. LOLLL",
"created_at": "2026-04-27T22:20:00.000Z",
"created_at_text": "3 weeks ago",
"like_count": 15,
"dislike_count": 0,
"reply_count": 2,
"author": {
"name": "robland",
"url": "https://rumble.com/user/robland",
"handle": "robland",
"avatar": null
}
}
]
}GET /v1/rumble/video_captions
Transcript
Gets a Rumble video's transcript when captions are available. If Rumble does not expose captions for the video, transcript will be null and you will not be charged. Returned native captions cost 1 credit; empty transcripts and errors cost 0 credits. This endpoint does not use AI transcription.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
url required | query | string | Rumble video URL. |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/rumble/video_captions?url=https://rumble.com/valm19-funny-cat-funny-cat.html" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/rumble/video_captions?url=https://rumble.com/valm19-funny-cat-funny-cat.html", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/rumble/video_captions?url=https://rumble.com/valm19-funny-cat-funny-cat.html",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"id": "v79xhhm",
"url": "https://rumble.com/v79xhhm-discovery-why-glenn-wants-israel-to-sue-the-new-york-times.html",
"language": "English (auto)",
"transcript": "WEBVTT\r\n\r\n00:00:06.890 --> 00:00:11.050\r\nLet's get into these questions, and we'll try and get through as many as we can.\r\n\r\n00:00:11.190 --> 00:00:15.650\r\nT..."
}