Rumble hub

Rumble Search API

Keyword discovery across Rumble's public index — one query, five result buckets, then drill into a channel or watch URL.

GET /v1/rumble/search

1 credit per successful request.

About this endpoint

Newsrooms and brand monitors that already crawl YouTube still miss creators who publish first (or only) on Rumble. The search problem is different too: a single Rumble query can surface long-form videos, Shorts, channels, playlists, and live streams in one response. Hand-checking the site does not scale, and a one-off HTML scraper usually dies the next layout change.

`GET /v1/rumble/search` takes a required `query` string (1–512 characters) and returns matching public hits in the shared Social Fetch envelope. The payload splits into `data.videos`, `data.shorts`, `data.channels`, `data.playlists`, and `data.liveStreams`, plus `data.totalResults` for the rows on this page and `data.query` echoed back. Optional params stop at `cursor` — there is no datePosted, sortBy, type, or duration filter on this operation (unlike TikTok or YouTube keyword search). When `data.page.hasMore` is true, pass `data.page.nextCursor` on the next call with the same query. Video-like rows can include id, kind, url, title, thumbnailUrl, nested channel (name, handle, url), viewCount, publishedAt, durationSeconds, and badges when Rumble exposes them.

`data.totalResults` is a page tally, not proof that the index is exhausted. End-of-results is `data.page.hasMore`. An empty set of buckets (all arrays empty, totalResults 0, hasMore false) is a valid success for a query with no public matches — still check `meta.creditsCharged`. Pricing is on the credit badge on this page.

This route is free-text discovery. Once you have a channel URL, page uploads with `GET /v1/rumble/channels/videos` (that route has `lookupStatus`; search does not). Single-video detail, comments, and transcript take a watch URL. Same Social Fetch API key across the Rumble tag.

Rumble Search API FAQ

How do I search Rumble by keyword via API?

Call GET /v1/rumble/search with x-api-key and a required query parameter. Optionally add cursor to continue a previous page. Read the five result arrays, data.totalResults, and data.page. Parameter limits and examples are in the API docs.

What buckets does Rumble search return?

videos, shorts, channels, playlists, and liveStreams on the same response. A page may fill only one or two buckets. Inspect every array before assuming the query matched nothing.

Why are there no date or type filters on Rumble search?

The public operation accepts query and cursor only. If you need a time window, filter publishedAt client-side after paging, or move to GET /v1/rumble/channels/videos once you know the channel. Do not copy TikTok datePosted or YouTube type enums onto this path — they are not defined here.

What does data.totalResults mean on Rumble search?

It counts rows returned on this page across the result shape, not the size of Rumble's full index. Continue only while data.page.hasMore is true. Do not stop solely because totalResults is small.

What happens when nothing matches the query?

HTTP 200 with empty videos, shorts, channels, playlists, and liveStreams arrays, totalResults 0, and hasMore false. That is a completed empty page. Keep meta.requestId if you need to escalate.

How much does Rumble search cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth. Each paginated page is a separate billed request.

Search vs listing a channel's videos?

GET /v1/rumble/search is keyword discovery when you have a phrase. GET /v1/rumble/channels/videos pages uploads for a known channel URL and exposes lookupStatus for found / not_found. Use search to find candidates; use channel videos when you already know the channel.

How does pagination work on Rumble search?

When data.page.hasMore is true, pass data.page.nextCursor as the cursor query param on the next request. Keep the same query. Do not invent page numbers yourself unless they came from nextCursor.

What should I call after I find a matching video?

Call GET /v1/rumble/videos for detail, GET /v1/rumble/videos/comments for comments, or GET /v1/rumble/videos/transcript for captions. Those routes take a video watch URL from the search hit.

Do I need a Rumble developer key to search?

No. You authenticate to Social Fetch with an API key. The route reads public search results; it does not act on behalf of a logged-in Rumble user.