---
title: "Rumble Channel Videos API"
method: GET
path: "/v1/rumble/channel-videos"
tags: ["Rumble"]
---

# Rumble Channel Videos API

`GET /v1/rumble/channel-videos`

## Request

- Base URL: `https://api.captapi.com`
- URL: `https://api.captapi.com/v1/rumble/channel-videos`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Rumble channel uploads — lean streams[{url,type}]; call video-details for rendition meta.

List a channel's uploads as clean JSON. Each row: id, url, type (video|short|live), title, channel/channelUrl/channelHandle, views/likes/dislikes/comments, durationSeconds + durationText (same pair as video-details), publishedAt, thumbnail, streams[{url,type}] — unsigned playback URLs that do not expire, so no expiresAt key. Per-rendition quality/height/bitrate/sizeBytes require /v1/rumble/video-details — the channel scrape does not ship that metadata. shareUrl. embedUrl/embedId are present only when Rumble exposes a distinct embed id — page permalink ids are never used to invent /embed/{id}/ URLs (those 404). Flat ~0.6 credits per returned video (min 2).

Docs: https://captapi.com/apis/rumble-channel-videos

## Query parameters

- `url` string, required
- `limit` integer
- `cache` boolean

## Response `200`

Success. The data object for this endpoint.

- object
  - `success` unknown, required
  - `data` object, required
    - `channel` string: Top-level: channel slug you queried. Per-video channel is the display name string.
    - `totalReturned` integer: Number of items returned in this response.
    - `videos` object[]
      - `platform` string: Platform identifier for this response (matches the endpoint's platform).
      - `id` string: Id of this videos item.
      - `url` string: Canonical URL of the item.
      - `type` string: Content kind: "video" | "short" | "live" (from /shorts/ URL or isLive).
      - `title` string: Title of this videos item.
      - `channel` string: Top-level: channel slug you queried. Per-video channel is the display name string.
      - `channelUrl` string: URL of the channel.
      - `channelHandle` string: Channel handle. Example: "bongino".
      - `channelFollowers` integer: Follower count of the channel.
      - `channelVerified` boolean: Whether the channel is verified.
      - `views` integer: View count for the upload.
      - `likes` integer: Upvotes when the channel scrape exposes rumbleVotes; null when unknown.
      - `dislikes` integer: Dislike count.
      - `durationSeconds` integer: Length in seconds (integer). Same pair as video-details.
      - `durationText` string: Human clock duration (e.g. 1:30:56).
      - `publishedAt` string: Publish date (ISO 8601) when the platform exposes an absolute timestamp.
      - `thumbnail` string: Thumbnail image URL.
      - `comments` integer: Comment count.
      - `isLive` boolean: Always present. true only when upstream marks the row live; false otherwise (including fresh VODs with 0 views — not omitted).
      - `streams` object[]: Lean signed playback rows ({url, type, expiresAt}). expiresAt comes from the JWT exp claim. For quality/height/bitrate/sizeBytes call /v1/rumble/video-details.
        - `url` string: Canonical URL of the item.
        - `type` string: Content kind: "video" | "short" | "live" (from /shorts/ URL or isLive).
        - `quality` string
      - `shareUrl` string: Share url URL.

## Other responses

- `400`: Bad request: wrong platform URL, unknown endpoint, or an invalid parameter value. Not billed.
- `401`: Missing, invalid or revoked API key. Not billed.
- `402`: Not enough credits for this request. Not billed.
- `404`: The resource does not exist or is not public. Not billed.
- `422`: A required parameter is missing or has the wrong type. Not billed.
- `429`: Rate limit reached. Wait for Retry-After seconds. Not billed.
- `502`: The platform could not be reached or returned nothing usable. Retryable, not billed. 503 and 504 use the same envelope.

---

[API](https://skmtc.dev/captapi/apis/captapi-api.md) · [All operations](https://skmtc.dev/captapi/apis/captapi-api/llms.txt) · [OpenAPI document](https://skmtc.dev/captapi/apis/captapi-api/revisions/c9b9ac5ff1bd?raw)
