# Rumble Scraper · Videos, Channels & Search (`memo23/rumble-scraper`) Actor

Scrape Rumble.com videos from any search, channel, user, category or video URL. Returns title, description, views, rumbles (likes), comments, duration, upload date, channel, categories, thumbnail and per-resolution MP4/audio download URLs as clean JSON/CSV. One row per video. Pure HTTP, no browser.

- **URL**: https://apify.com/memo23/rumble-scraper.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** Videos, Social media, AI
- **Stats:** 1 total users, 1 monthly users, 81.3% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 video results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Rumble Scraper — Videos, Channels & Search

<p align="center"><img src="https://raw.githubusercontent.com/muhamed-didovic/muhamed-didovic.github.io/main/assets/rumble-scraper-card.png" alt="Rumble Scraper" width="640"></p>

Extract videos from **Rumble.com** at scale. Paste any search, channel, user, category, or single-video URL and get one clean row per video — title, description, views, duration, upload date, channel, categories, thumbnail, and **per-resolution MP4 + audio download URLs**. Pure HTTP, no browser, fast and cheap.


### Why use this scraper

- **Every URL type in one run** — search results, channels (`/c/…`), users (`/user/…`), categories (`/category/…`), and direct video pages. Mix them freely.
- **Direct download URLs** — the only Rumble scraper that returns the actual MP4 stream URLs at **every resolution** (360/480/720/1080) plus the audio-only track. Turns the scraper into a downloader.
- **Rich metadata** — title, full description, view count, exact duration, publish date, channel name + URL, categories, dimensions (width/height/fps), live flag, embed and share URLs.
- **Browser-free** — plain HTTP + Rumble's own `embedJS` JSON API. No Chromium, so it's fast and low-cost.
- **One row per video** — no padding rows; you pay per result.

### Supported inputs

| Type | Example URL |
|---|---|
| 🔍 Search | `https://rumble.com/search/video?q=news` |
| 📺 Channel | `https://rumble.com/c/GameOnShow` |
| 👤 User | `https://rumble.com/user/RealAmericasVoice` |
| 📂 Category | `https://rumble.com/category/news` |
| 🎬 Video | `https://rumble.com/v7cwvbs-white-nukes-fox-news.html` |

### Use cases

- **Media monitoring** — track a channel's uploads, views, and publish cadence.
- **Content archiving** — pull the direct MP4/audio URLs to back up videos.
- **Trend research** — scrape category or search feeds to see what's gaining traction.
- **Dataset building** — collect video metadata for ML / analytics.

### How it works

<p align="center"><img src="https://raw.githubusercontent.com/muhamed-didovic/muhamed-didovic.github.io/main/assets/how-it-works-rumble.png" alt="How the Rumble Scraper works" width="900"></p>

1. Each start URL is classified (video vs listing).
2. Listing surfaces are paged through (`?page=N`) and every video card is parsed.
3. With **Fetch full details** on, each video is enriched from its watch page (JSON-LD, categories, views) and Rumble's `embedJS` API (media URLs, exact duration, author, dimensions).
4. Rows are pushed to the dataset (flattened for CSV/Excel by default).

### Input configuration

| Field | Description |
|---|---|
| `startUrls` | Rumble URLs (any mix of the types above). |
| `maxItems` | Max video rows per run (0 = unlimited). |
| `fetchDetails` | Enrich each video with description, views, categories, dimensions, and per-resolution media URLs. Default on. |
| `maxPagesPerList` | Pagination cap per listing surface. |
| `detailConcurrency` | Parallel detail fetches. |
| `flatten` | Flatten nested fields for tabular export. Default on. |
| `proxy` | Proxy configuration (non-paying users). |

### Output — key fields

| Field | Description |
|---|---|
| `title`, `description` | Video title and full description. |
| `url`, `id`, `embedId` | Watch URL, numeric id, short embed id. |
| `views` | View count. |
| `likes`, `dislikes`, `score` | Rumble up-votes, down-votes, net score. |
| `comments` | Comment count. |
| `durationSeconds`, `duration` | Length in seconds and `h:mm:ss`. |
| `uploadedDate` | ISO publish date. |
| `channelName`, `channelUrl`, `channelFollowers` | Uploading channel/user + follower count. |
| `categories`, `tags` | Category and tag labels. |
| `isShort`, `isLive`, `isMonetized`, `isAgeRestricted` | Content flags. |
| `thumbnail` | Poster image URL. |
| `width`, `height`, `fps` | Video dimensions and frame rate. |
| `isLive` | Live-stream flag. |
| `embedUrl`, `shareUrl` | Embed and share links. |
| `mediaFiles` | **Array of `{quality, url, type, width, height}`** — direct MP4 URLs at each resolution + audio. |

#### Output sample

```json
{
  "portal": "rumble",
  "type": "video",
  "id": "441288236",
  "embedId": "v7aqc6k",
  "url": "https://rumble.com/v7cwvbs-white-nukes-fox-news.html",
  "title": "WHITE NUKES FOX NEWS",
  "views": 1932,
  "durationSeconds": 36,
  "duration": "0:36",
  "uploadedDate": "2026-07-18T14:01:14+00:00",
  "channelName": "RealAmericasVoice",
  "channelUrl": "https://rumble.com/user/RealAmericasVoice",
  "width": 1920, "height": 1080, "fps": 30,
  "isLive": false,
  "mediaFiles": [
    { "quality": "1080", "url": "https://…/…mp4", "type": "mp4", "width": 1920, "height": 1080 },
    { "quality": "audio", "url": "https://…/…", "type": "audio" }
  ]
}
````

### FAQ

**Does it need a browser or proxy?** No browser. Rumble's anti-bot is light, so it runs over plain HTTP; residential proxy is used automatically for paying users at scale.

**Are likes, dislikes and comment counts included?** Yes. Channel, category, and search listings expose a rich embedded JSON payload, so `views`, `likes` (rumbles), `dislikes`, `comments`, `channelFollowers`, `tags`, and the media URLs come straight from the listing — reliably populated, no extra request. (`description` is added from the watch page when **Fetch full details** is on.)

**Can I download the videos?** Yes — `mediaFiles` contains the direct MP4/audio URLs at each resolution.

**How is pagination handled?** Search/channel/category feeds are paged automatically up to `maxPagesPerList`.

### Support

Found a bug or want a new field? Open an issue on the actor's Issues tab.

### 🤖 For AI Agents & LLM Apps

**Purpose:** Turn any Rumble URL into structured video data (metadata + engagement + direct media URLs). Browser-free, one row per video.

**Minimal input (tested):**

```json
{ "startUrls": [{ "url": "https://rumble.com/c/GameOnShow" }], "maxItems": 20 }
```

**Output fields (flat):** `id`, `embedId`, `url`, `title`, `description`, `thumbnail`, `views`, `likes`, `dislikes`, `score`, `comments`, `durationSeconds`, `duration`, `uploadedDate`, `channelName`, `channelUrl`, `channelFollowers`, `categories`, `tags`, `isLive`, `isShort`, `isMonetized`, `isAgeRestricted`, `width`, `height`, `fps`, `embedUrl`, `shareUrl`, `mediaFiles[]` (`{quality,url,type,width,height}`).

**Behaviors agents should know:**

- Accepts video, search, channel (`/c/`), user (`/user/`), and category URLs — mix freely.
- `views`/`likes`/`dislikes`/`comments`/`channelFollowers`/`mediaFiles` populate from listing pages with **no** extra request; `description` needs `fetchDetails: true` (default).
- Billing is per video row (`apify-default-dataset-item`) plus one `apify-actor-start` per run. Cap spend with `maxItems`.
- Pure HTTP, US residential proxy handled automatically — no browser, no CAPTCHA step.

### ⚠️ Disclaimer

This scraper collects only publicly available data from Rumble.com. Use it in compliance with Rumble's Terms of Service and applicable laws (including copyright and data-protection rules). You are responsible for how you use the scraped data. This actor does not bypass logins, paywalls, or any access controls.

### SEO Keywords

Rumble scraper, Rumble video scraper, Rumble.com API, scrape Rumble videos, Rumble channel scraper, Rumble search scraper, Rumble category scraper, Rumble video downloader, Rumble MP4 URL, Rumble metadata, video views scraper, Rumble data export, Rumble JSON CSV, Apify Rumble.

# Actor input Schema

## `startUrls` (type: `array`):

Paste any Rumble URLs — mix them freely in one run:<br><br>🎬 <b>Video</b> — <code>https://rumble.com/v7cwvbs-white-nukes-fox-news.html</code><br>🔍 <b>Search</b> — <code>https://rumble.com/search/video?q=news</code><br>📺 <b>Channel</b> — <code>https://rumble.com/c/GameOnShow</code><br>👤 <b>User</b> — <code>https://rumble.com/user/RealAmericasVoice</code><br>📂 <b>Category</b> — <code>https://rumble.com/category/news</code><br><br>Each video becomes one row (a <code>type</code> field tags it).

## `maxItems` (type: `integer`):

Maximum number of video rows to scrape per run. Set to 0 for unlimited.

## `fetchDetails` (type: `boolean`):

Open each video to enrich the row with description, exact views, rumbles (likes), comments, categories, dimensions/fps, and per-resolution MP4 + audio download URLs. Turn off for a faster, listing-only scrape (title, channel, duration, thumbnail, upload date).

## `maxPagesPerList` (type: `integer`):

Pagination safety cap for each search / channel / category surface.

## `detailConcurrency` (type: `integer`):

How many video detail pages to fetch in parallel. Each is an independent HTTP request. Higher = faster; keep it reasonable to stay polite.

## `flatten` (type: `boolean`):

Flatten nested fields (media files, categories) into dotted columns for tabular export. Turn off to keep nested JSON.

## `proxy` (type: `object`):

Proxy servers used to hide the scraper's origin (non-paying users). Rumble anti-bot is light, so the default Apify proxy is plenty.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://rumble.com/search/video?q=news"
    },
    {
      "url": "https://rumble.com/c/GameOnShow"
    }
  ],
  "maxItems": 200,
  "fetchDetails": true,
  "maxPagesPerList": 20,
  "detailConcurrency": 4,
  "flatten": true,
  "proxy": {
    "useApifyProxy": true
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://rumble.com/search/video?q=news"
        },
        {
            "url": "https://rumble.com/c/GameOnShow"
        }
    ],
    "proxy": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/rumble-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [
        { "url": "https://rumble.com/search/video?q=news" },
        { "url": "https://rumble.com/c/GameOnShow" },
    ],
    "proxy": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("memo23/rumble-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://rumble.com/search/video?q=news"
    },
    {
      "url": "https://rumble.com/c/GameOnShow"
    }
  ],
  "proxy": {
    "useApifyProxy": true
  }
}' |
apify call memo23/rumble-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=memo23/rumble-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Rumble Scraper · Videos, Channels & Search",
        "description": "Scrape Rumble.com videos from any search, channel, user, category or video URL. Returns title, description, views, rumbles (likes), comments, duration, upload date, channel, categories, thumbnail and per-resolution MP4/audio download URLs as clean JSON/CSV. One row per video. Pure HTTP, no browser.",
        "version": "0.0",
        "x-build-id": "u3q8wCuvcJvu0wmzD"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/memo23~rumble-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-memo23-rumble-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/memo23~rumble-scraper/runs": {
            "post": {
                "operationId": "runs-sync-memo23-rumble-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/memo23~rumble-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-memo23-rumble-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Paste any Rumble URLs — mix them freely in one run:<br><br>🎬 <b>Video</b> — <code>https://rumble.com/v7cwvbs-white-nukes-fox-news.html</code><br>🔍 <b>Search</b> — <code>https://rumble.com/search/video?q=news</code><br>📺 <b>Channel</b> — <code>https://rumble.com/c/GameOnShow</code><br>👤 <b>User</b> — <code>https://rumble.com/user/RealAmericasVoice</code><br>📂 <b>Category</b> — <code>https://rumble.com/category/news</code><br><br>Each video becomes one row (a <code>type</code> field tags it).",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxItems": {
                        "title": "Max videos",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of video rows to scrape per run. Set to 0 for unlimited.",
                        "default": 200
                    },
                    "fetchDetails": {
                        "title": "Fetch full video details",
                        "type": "boolean",
                        "description": "Open each video to enrich the row with description, exact views, rumbles (likes), comments, categories, dimensions/fps, and per-resolution MP4 + audio download URLs. Turn off for a faster, listing-only scrape (title, channel, duration, thumbnail, upload date).",
                        "default": true
                    },
                    "maxPagesPerList": {
                        "title": "Max pages per listing",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Pagination safety cap for each search / channel / category surface.",
                        "default": 20
                    },
                    "detailConcurrency": {
                        "title": "Detail concurrency",
                        "minimum": 1,
                        "maximum": 25,
                        "type": "integer",
                        "description": "How many video detail pages to fetch in parallel. Each is an independent HTTP request. Higher = faster; keep it reasonable to stay polite.",
                        "default": 4
                    },
                    "flatten": {
                        "title": "Flatten output for CSV/Excel",
                        "type": "boolean",
                        "description": "Flatten nested fields (media files, categories) into dotted columns for tabular export. Turn off to keep nested JSON.",
                        "default": true
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxy servers used to hide the scraper's origin (non-paying users). Rumble anti-bot is light, so the default Apify proxy is plenty.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
