# Rumble (/docs/rumble) Rumble [#rumble] Rumble videos and shorts, channel uploads, full comment sections, spoken-word transcripts, and keyword search, all in the canonical `Post` and `Comment` shapes you get from YouTube and TikTok. Four of the five endpoints cost 1 credit; the transcript is premium at 10. Base URL: `/v1/rumble/...` Getting Started [#getting-started] 1\. Find videos by keyword [#1-find-videos-by-keyword] ```bash curl "https://www.socialcrawl.dev/v1/rumble/search?query=space%20launch" \ -H "x-api-key: sc_your_api_key_here" ``` 2\. Or walk one channel's uploads [#2-or-walk-one-channels-uploads] `GET /v1/rumble/channel/videos` takes **either a `handle` or a `url`** — one of the two is required, and sending neither is a `400` before billing. ```bash curl "https://www.socialcrawl.dev/v1/rumble/channel/videos?handle=Bongino" \ -H "x-api-key: sc_your_api_key_here" ``` 3\. Read computed fields [#3-read-computed-fields] When an endpoint supports a computed field and the required source inputs are present, the unified response includes that optional field. Depending on the endpoint, optional fields can include `engagement_rate`, `language`, `content_category`, and `estimated_reach`. See [Computed fields](/docs/computed-fields.md) for formulas, clamping rules, and null semantics. What you can get [#what-you-can-get] * **`GET /v1/rumble/search`** — videos and shorts across all of Rumble for a keyword, each with title, URL, thumbnail, channel, publish date, and view count. Pass the returned cursor for the next page. **1cr.** * **`GET /v1/rumble/channel/videos`** — one channel's own details plus its videos and shorts, cursor-paginated. Takes `handle` or `url`. **1cr.** * **`GET /v1/rumble/video`** — one video in full: title, description, thumbnail, channel, publish date, view count, likes, dislikes, captions, and media details. Takes the video `url`. **1cr.** * **`GET /v1/rumble/video/comments`** — every top-level comment on a video, each with text, author, timestamp, like and dislike counts, and reply count. **1cr.** * **`GET /v1/rumble/video/transcript`** — the spoken text of a video. **10cr.** Typical flow [#typical-flow] ```bash # 1. Find the video curl "https://www.socialcrawl.dev/v1/rumble/search?query=space%20launch" \ -H "x-api-key: sc_your_api_key_here" # 2. Full detail from its URL curl "https://www.socialcrawl.dev/v1/rumble/video?url=https://rumble.com/v6abcde-example-video.html" \ -H "x-api-key: sc_your_api_key_here" # 3. The comment section, complete in one call curl "https://www.socialcrawl.dev/v1/rumble/video/comments?url=https://rumble.com/v6abcde-example-video.html" \ -H "x-api-key: sc_your_api_key_here" ``` Two things to plan around [#two-things-to-plan-around] **Comments arrive complete, but flat.** `video/comments` returns the whole top-level comment section in one response — there is no cursor and nothing to page. Replies are not expanded, so a thread's nesting is not available; what you get is every root comment. **Transcripts depend on published captions.** `video/transcript` reads Rumble's published captions. When a video has none, the transcript comes back empty and **the call is not charged**, so it is safe to attempt speculatively across a channel rather than pre-filtering. `/v1/rumble/video` reports whether captions exist if you would rather know before you ask. Rumble is also one of the sources behind [`/v1/search/everywhere`](/docs/search/everywhere.md) and a supported platform for `/v1/prism/video-intel`, which returns detail, stats, comments, and transcript for one video URL in a single call. Endpoints [#endpoints] Notes [#notes] * All endpoints use `GET` method with query parameters * Authentication via `x-api-key` header * Responses follow the unified SocialCrawl schema * `channel/videos` takes `handle` **or** `url`; `video`, `video/comments`, and `video/transcript` all take the video `url`; `search` takes `query` * `search` and `channel/videos` paginate with the universal `cursor`; the three single-video endpoints do not paginate