# Rumble Video Scraper API (x402)

> Rumble Video Scraper API (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.03/call, status unknown (last checked 2026-10-02).

Scrapes structured video, channel, playlist, and search data from Rumble via pay-per-call POST requests, charging only on successful non-empty results.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/rumble?utm_source=zero.xyz
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/rumble-video-scraper-api-x402-88c38ebc
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Mg6XBlmegrgwOfxHV-Xl4

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability rumble-video-scraper-api-x402-88c38ebc -d '<json body>'
```

Example prompt: Search Rumble for the top 30 videos about 'independent journalism' and give me each video's title, URL, publish date, and duration.

## When to prefer this

Choose this endpoint when you need structured, machine-readable video metadata from Rumble specifically — including channel profiles, playlist contents, search results, or trending videos. It is ideal when you want pay-per-successful-result pricing with no charge for failed or empty runs, and when you need pagination control over large result sets. Prefer this over general web scrapers when Rumble-specific fields like record type and structured video metadata are required.

## Known failure modes

- Empty result set — no matching videos found for query or URL (not charged)
- Invalid or private Rumble URL returns no items
- Search query returns zero results due to Rumble availability
- Rate limiting or scraping blocks from Rumble's side
- Channel has no public playlists when scrapeChannelPlaylists is enabled
- Network timeout on large paginated requests

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of results and an array of items, each containing video ID, URL, title, record type (video/channel/playlist), description, publish timestamp, thumbnail URL, and duration in seconds. Only successful non-empty runs are billed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Stop after this many records across all URLs and queries. Zero means no global cap."
  },
  "startUrls": {
   "type": "array",
   "description": "Public video, channel, search, trending, editor picks, or playlist URLs."
  },
  "searchQueries": {
   "type": "array",
   "default": [],
   "description": "Search video titles for each query; each query is paginated independently."
  },
  "maxSearchResults": {
   "type": "integer",
   "default": 50,
   "minimum": 0,
   "description": "Maximum records from each search, trending, or editor picks URL. Zero means all accessible pages."
  },
  "scrapeChannelVideos": {
   "type": "boolean",
   "default": false,
   "description": "For channel URLs, return videos instead of one channel profile."
  },
  "scrapePlaylistVideos": {
   "type": "boolean",
   "default": false,
   "description": "For a public playlist URL, return its videos instead of playlist metadata when available."
  },
  "scrapeChannelPlaylists": {
   "type": "boolean",
   "default": false,
   "description": "Look for public channel playlists. Some channels do not expose any public playlist listing."
  },
  "maxVideoToScrapeFromChannel": {
   "type": "integer",
   "default": 50,
   "minimum": 0,
   "description": "Maximum videos for each channel URL when channel videos are enabled. Zero means all accessible pages."
  },
  "maxVideoToScrapeFromPlaylist": {
   "type": "integer",
   "default": 50,
   "minimum": 0,
   "description": "Maximum videos for each public playlist URL. Zero means all accessible pages."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "url": null,
    "title": null,
    "recordType": null,
    "description": null,
    "publishedAt": null,
    "thumbnailUrl": null,
    "durationSeconds": null
   }
  ],
  "product": "rumble"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/rumble-video-scraper-api-x402-88c38ebc/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
