Rumble hub

Rumble transcript API

Read existing Rumble caption tracks as plainText plus optional timed segments — no charge when captions are missing.

GET /v1/rumble/videos/transcript

1 credit when a transcript is found; no charge when captions are unavailable.

About this endpoint

Newsrooms and research agents covering Rumble need caption text for quotes and search indexes, not only title and view count. Rumble does not publish a stable public caption API for arbitrary watch URLs, and player HTML scrapers break when subtitle markup changes.

`GET /v1/rumble/videos/transcript` takes a required public video `url`. On a found lookup, `data.transcript` includes `language` (when reported), `plainText`, and optional `segments` (`text`, `startMs`, `endMs`). `data.video` carries the resolved id and canonical URL. Branch on `data.lookupStatus` (`found` / `not_found` / `lookup_failed`) before you write rows.

This route only returns captions that already exist on the video. There is no `useAiFallback` speech-to-text path. Billing is 1 credit when a transcript is found and 0 when captions are unavailable — confirm with `meta.creditsCharged`. For title, metrics, and `captionTracks` listings without the spoken body, use `GET /v1/rumble/videos`. Comments are `GET /v1/rumble/videos/comments`.

Rumble transcript API FAQ

How do I get a Rumble video transcript via API?

Call `GET /v1/rumble/videos/transcript` with your Social Fetch API key (`x-api-key`) and a public video `url`. Read `data.lookupStatus`, then `data.transcript.plainText` or `data.transcript.segments`. Full parameters and examples are in the API docs.

How much does the Rumble transcript endpoint cost?

1 credit when a transcript is found; 0 credits when a transcript is unavailable, as documented on this page. Confirm every response with meta.creditsCharged — that field is the billing source of truth.

What does the Rumble transcript response look like?

When found, `data.transcript` includes `language` (when reported), `plainText`, and optional `segments` (`text`, `startMs`, `endMs`). `data.video` carries the resolved video id and URL. Always branch on `data.lookupStatus` before treating the transcript as present.

What URL formats does the Rumble transcript API accept?

Public Rumble video URLs (watch-page links to a single video). Pass one `url` per request. Private or deleted videos resolve as `not_found` rather than a fake empty transcript.

Do I pay when Rumble has no captions?

No. When captions are unavailable, `lookupStatus` is not `found` and the operation charges 0 credits. Persist `meta.requestId` when you need to debug a miss, and still check `meta.creditsCharged` on every response.

Does this run speech-to-text when Rumble has no captions?

No. This route returns captions when they exist. There is no TikTok-style `useAiFallback` on Rumble transcripts. If you need title and engagement without caption text, use `GET /v1/rumble/videos` instead.

How is this different from Rumble video detail?

`GET /v1/rumble/videos` returns metadata, channel, metrics, and `captionTracks` listings. `GET /v1/rumble/videos/transcript` returns the spoken caption content (`plainText` and timed segments when available). Call video detail for views and title; call transcript for caption text.