# Rumble (/docs/rumble) Rumble videos, channels, comments, transcripts, and keyword search through one unified API 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/...` `video/comments` returns the whole top-level comment section in one response. There is no cursor and nothing to page, and replies are not expanded, so a thread's nesting is not available. What you get is every root comment. ## Quickstart ### 1. Find videos by keyword ```bash title="cURL" curl "https://www.socialcrawl.dev/v1/rumble/search?query=space%20launch" \ -H "x-api-key: YOUR_API_KEY" ``` ### 2. Or walk one channel's uploads ```bash title="cURL" curl "https://www.socialcrawl.dev/v1/rumble/channel/videos?handle=Bongino" \ -H "x-api-key: YOUR_API_KEY" ``` ### 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. ## Discovery | Endpoint | Credits | What it returns | Key parameters | | ------------------------------- | ------- | ----------------------------------------------------------------------------- | --------------------------- | | `GET /v1/rumble/search` | 1 | Videos and shorts across all of Rumble: title, URL, thumbnail, channel, views | `query`, `cursor` | | `GET /v1/rumble/channel/videos` | 1 | One channel's own details plus its videos and shorts, cursor-paginated | `handle` or `url`, `cursor` | `channel/videos` needs one of the two identifiers. Sending neither is a `400` before billing. ## Video | Endpoint | Credits | What it returns | Key parameters | | --------------------------------- | ------- | ------------------------------------------------------------------------------------------- | -------------- | | `GET /v1/rumble/video` | 1 | Title, description, thumbnail, channel, publish date, views, likes, dislikes, captions flag | `url` | | `GET /v1/rumble/video/comments` | 1 | Every top-level comment, with author, timestamp, like and dislike counts, reply count | `url` | | `GET /v1/rumble/video/transcript` | 10 | The spoken text of a video | `url` | Read one video in full from its URL, then take the whole comment section in a second call. ```bash title="cURL" curl "https://www.socialcrawl.dev/v1/rumble/video?url=https://rumble.com/v79xhhm-discovery-example.html" \ -H "x-api-key: YOUR_API_KEY" curl "https://www.socialcrawl.dev/v1/rumble/video/comments?url=https://rumble.com/v792vns-example.html" \ -H "x-api-key: YOUR_API_KEY" ``` `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. `video` reports whether captions exist if you would rather know before you ask. ## All endpoints ## Platform notes **Comments arrive complete, but flat.** One response holds the entire top-level section, and replies are not expanded, so nesting is not available on this platform. **Transcripts depend on published captions,** and cost nothing when there are none. **Pagination is not uniform.** `search` and `channel/videos` page with the universal `cursor`; the three single-video endpoints do not paginate at all. **Identifiers split three ways.** `channel/videos` takes `handle` **or** `url`; `video`, `video/comments`, and `video/transcript` all take the video `url`; `search` takes a `query`. **Rumble feeds other surfaces too.** It is 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. ## Next steps - [Pagination](/docs/pagination.md): Cursor and page walks, and what has_more actually means. - [Credits](/docs/credits.md): What each tier costs and when a call is refunded. - [API reference](/docs/api-reference.md): Every parameter and response field, endpoint by endpoint. - [Twitch](/docs/twitch.md): Channels, videos, schedules, and clips. - [Universal search](/docs/search/everywhere.md): One keyword across Rumble and every other source at once.