# Rakuten Affiliate API - Merchants, Coupons, Products (`viralanalyzer/rakuten-affiliate-merchants`) Actor

Query Rakuten Advertising APIs for affiliate merchants, products, and active coupons. You provide your own OAuth credentials or access token. Multi-network: US/UK/AU/BR/DE. Get merchant IDs, deep-links, commission data.

- **URL**: https://apify.com/viralanalyzer/rakuten-affiliate-merchants.md
- **Developed by:** [viralanalyzer](https://apify.com/viralanalyzer) (community)
- **Categories:** Lead generation, E-commerce
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 item scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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

## 🛒 Rakuten Advertising API — Merchants, Coupons & Products (BYOC)

> 🔗 [View on Apify Store](https://apify.com/viralanalyzer/rakuten-affiliate-merchants) | 🇺🇸 English | [🇧🇷 Português](#português)

Query the **Rakuten Advertising Publisher API** for affiliate merchants, active coupons, and product search results. **BYOC (Bring Your Own Credentials)** — bring your free Rakuten publisher credentials and we proxy queries with 98% margin. ToS-compliant, anti-bot immune (official API).

### ✨ Features

- **3 query types** — `productSearch` (find products across merchants), `coupons` (active deals), `advertisers` (joinable merchants)
- **Dual auth modes** — OAuth `client_credentials` grant OR pre-generated access token from Rakuten Developer Portal
- **XML response parsing** — regex-based extractor (no `lxml` dependency)
- **Multi-network support** — same actor queries US, UK, AU, BR, DE Rakuten networks (pass appropriate `siteId`)
- **Auto-pagination** for `productSearch` (up to 1000 records per run)
- **NEVER 0 ITEMS guard** — fails loud if Rakuten returns empty, never silent SUCCEEDED with no data
- **Owner-skip pattern** — internal runs (owner) bypass PPE charge

### 🔑 BYOC setup (one-time, free, ~10 min)

1. Sign up at https://developers.rakutenadvertising.com (or use your existing Publisher account)
2. **Applications → Create New App** → copy `Client ID` + `Client Secret`
3. Find your **Site ID** in Rakuten Advertising account (7-digit number)
4. **Two paths to authenticate**:
   - **Path A (OAuth)**: paste `clientId` + `clientSecret` + `siteId` in actor input. Actor does the OAuth `client_credentials` exchange automatically.
   - **Path B (pre-generated token)**: in Developer Portal click "Generate Token" → paste resulting JWT in `accessToken` input. Use this if Path A fails with `invalid_client` (some app states require manual activation).

> **Limits**: free tier provides standard publisher API quotas — typically 1 request/second, 10K/day. Plenty for affiliate research.

### 📥 Input

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `clientId` | string (secret) | Path A | — | OAuth client ID from Applications |
| `clientSecret` | string (secret) | Path A | — | OAuth client secret |
| `siteId` | string | **Yes** | — | Your Publisher Site ID (~7 digits) |
| `accessToken` | string (secret) | Path B | — | Pre-generated token (skips OAuth) |
| `queryType` | enum | **Yes** | `productSearch` | `productSearch` / `coupons` / `advertisers` |
| `keyword` | string | conditional | — | Search keyword (required for `productSearch`/`coupons`) |
| `category` | string | No | — | Category filter (where supported) |
| `maxResults` | integer | No | 100 | 1-1000 |

#### Example input (Path B — pre-generated token, simpler)
```json
{
  "siteId": "4703080",
  "accessToken": "your-token-from-rakuten-portal",
  "queryType": "productSearch",
  "keyword": "running shoes",
  "maxResults": 50
}
````

#### Example input (Path A — OAuth flow)

```json
{
  "clientId": "your-rakuten-client-id",
  "clientSecret": "your-rakuten-client-secret",
  "siteId": "4703080",
  "queryType": "coupons",
  "keyword": "fashion",
  "maxResults": 100
}
```

### 📤 Output

#### `productSearch` records

```json
{
  "queryType": "productSearch",
  "productName": "Nike Air Max 90 - Running Shoe",
  "merchantId": "39247",
  "merchantName": "Nike US",
  "advertiserCategory": "Athletic Apparel",
  "price": "129.99",
  "currency": "USD",
  "salePrice": null,
  "linkUrl": "https://click.linksynergy.com/...",
  "imageUrl": "https://cdn.example.com/...",
  "description": "...",
  "sku": "AIRMAX-90-US-10",
  "scrapedAt": "2026-05-15T13:45:00.000Z"
}
```

#### `coupons` records

```json
{
  "queryType": "coupons",
  "offerId": "12345",
  "merchantId": "39247",
  "merchantName": "Nike US",
  "offerText": "20% off Running Shoes",
  "couponCode": "RUN20",
  "startDate": "2026-05-01",
  "endDate": "2026-05-31",
  "linkUrl": "https://click.linksynergy.com/...",
  "categories": ["Apparel"]
}
```

#### `advertisers` records

```json
{
  "queryType": "advertisers",
  "merchantId": "39247",
  "merchantName": "Nike US",
  "applicationStatus": "OPEN",
  "commissionTerms": "8% on sale",
  "categories": ["Apparel", "Sports"],
  "currency": "USD",
  "country": "US"
}
```

### 💰 Pricing

Pay-per-event (PPE): only charged when a real record is returned. Zero results → zero charge. Owner-skip pattern ensures internal runs are not charged.

### 🚀 Use cases

- **Affiliate program discovery** — find Rakuten merchants you can join (e.g., Nike US, Macy's, Walmart, Booking.com)
- **Coupon aggregation** — power your coupon site with live Rakuten deals
- **Product catalog import** — seed your comparison or affiliate site
- **Price intelligence** — track merchant pricing across Rakuten network
- **Compliance research** — survey affiliate commission terms across verticals

### ⚠️ Common errors

| Error | Cause | Fix |
|---|---|---|
| `[RAKUTEN_AUTH] invalid_client` | OAuth client not activated | Use Path B (pre-generated token) — paste JWT from Developer Portal |
| `[RAKUTEN_AUTH] HTTP 401` | Token expired / wrong scope | Refresh token in Developer Portal |
| `[RAKUTEN_API] HTTP 429` | Rate limit (1 req/sec free tier) | Wait 60s and retry |
| `[FAIL] Zero records returned` | Filter too narrow / empty results | Try broader `keyword` or `queryType=advertisers` |

### 🔒 Privacy & security

Your `clientSecret` and `accessToken` are passed **directly** to `api.linksynergy.com` over HTTPS. Apify Console marks the fields as `isSecret: true` so the values are masked in logs and dataset. We never store, log, or proxy them through our servers.

### 📚 Related actors

- [CJ Affiliate Products](https://apify.com/viralanalyzer/cj-affiliate-products) — Commission Junction API (BYOC)
- [Impact.com Affiliate Network](https://apify.com/viralanalyzer/impact-affiliate-network) — Impact REST API (BYOC)
- [Awin Multi-Merchant Affiliate](https://apify.com/viralanalyzer/awin-multi-merchant-affiliate) — Awin Publisher API (BYOC)
- [ShareASale Publisher (BYOC)](https://apify.com/viralanalyzer/shareasale-publisher-byoc) — ShareASale Affiliate API (BYOC)

### 🆕 Changelog

- **v1.0** (2026-05-14): Initial release. 3 query types, dual auth (OAuth + pre-generated JWT), XML regex parser, auto-pagination, owner-skip PPE, NEVER 0 ITEMS guard.

***

### Português

## 🛒 Rakuten Advertising API — Merchants, Coupons & Products (BYOC)

Consulta a **API oficial Rakuten Advertising Publisher** para descobrir merchants, cupons ativos e produtos. **BYOC (Bring Your Own Credentials)** — você traz suas credenciais grátis Rakuten e nós fazemos as queries com margem 98%. ToS-compliant, sem anti-bot (API oficial).

#### Diferencial vs scraping anti-bot

- Sem 403/429 — API oficial endorsada pelo Rakuten
- Sem proxy residencial caro — API REST direta
- 98% de margem PPE
- Dados estruturados (XML parseado para JSON limpo)

#### Setup BYOC (uma vez, grátis, ~10 min)

1. Cadastre-se em https://developers.rakutenadvertising.com
2. **Applications → Create New App** → copie `Client ID` + `Client Secret`
3. Anote seu **Site ID** (~7 dígitos)
4. **Dois caminhos de autenticação**:
   - **Caminho A (OAuth)**: cole `clientId` + `clientSecret` + `siteId` no input. Actor faz o OAuth automaticamente
   - **Caminho B (token pré-gerado)**: no Developer Portal clique "Generate Token" → cole o JWT no campo `accessToken`. Use isso se Caminho A falhar com `invalid_client`

**Limites**: 1 req/seg, 10K/dia (free tier).

#### Casos de uso BR/LATAM

- Descobrir programas de afiliados Rakuten que aceitam publishers BR (Booking.com BR, Nike, Macy's etc)
- Importar catálogos de produtos para sites de comparação
- Aggregar cupons ativos para site de cashback
- Pesquisa de comissão por vertical (esporte, moda, viagem) cross-country

# Actor input Schema

## `clientId` (type: `string`):

Your Rakuten Advertising Client ID. Get at developers.rakutenadvertising.com > Applications. Required unless accessToken is provided.

## `clientSecret` (type: `string`):

Your Rakuten Advertising Client Secret. Required unless accessToken is provided. Keep this confidential.

## `siteId` (type: `string`):

Your Rakuten Publisher Site ID (~7 digits, e.g. 4703080). Found in your Rakuten Advertising account.

## `accessToken` (type: `string`):

OPTIONAL: paste a token from Rakuten Developer Portal 'Generate Token' button. If provided, OAuth flow is skipped. Use this if OAuth client\_credentials flow fails.

## `queryType` (type: `string`):

Which Rakuten endpoint to query

## `keyword` (type: `string`):

Search keyword (productSearch: matches product name; advertisers: matches merchant name; coupons: matches offer text)

## `advertiserId` (type: `string`):

Filter results to a specific merchant. Get IDs from queryType=advertisers first.

## `networkId` (type: `string`):

Rakuten regional network. 1=US (default), 3=UK, 7=Australia, 9=Brazil, 14=Germany.

## `maxResults` (type: `integer`):

Maximum items to return per query

## `proxyConfiguration` (type: `object`):

Rakuten API is auth-only (no IP-based anti-bot). Proxy unnecessary unless your network blocks Rakuten domains.

## Actor input object example

```json
{
  "queryType": "productSearch",
  "keyword": "iphone",
  "advertiserId": "",
  "networkId": "1",
  "maxResults": 10,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "keyword": "iphone",
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("viralanalyzer/rakuten-affiliate-merchants").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 = {
    "keyword": "iphone",
    "maxResults": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("viralanalyzer/rakuten-affiliate-merchants").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 '{
  "keyword": "iphone",
  "maxResults": 10
}' |
apify call viralanalyzer/rakuten-affiliate-merchants --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Rakuten Affiliate API - Merchants, Coupons, Products",
        "description": "Query Rakuten Advertising APIs for affiliate merchants, products, and active coupons. You provide your own OAuth credentials or access token. Multi-network: US/UK/AU/BR/DE. Get merchant IDs, deep-links, commission data.",
        "version": "1.0",
        "x-build-id": "ja0b5Q1cy3Qqm6aBM"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/viralanalyzer~rakuten-affiliate-merchants/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-viralanalyzer-rakuten-affiliate-merchants",
                "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/viralanalyzer~rakuten-affiliate-merchants/runs": {
            "post": {
                "operationId": "runs-sync-viralanalyzer-rakuten-affiliate-merchants",
                "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/viralanalyzer~rakuten-affiliate-merchants/run-sync": {
            "post": {
                "operationId": "run-sync-viralanalyzer-rakuten-affiliate-merchants",
                "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",
                "properties": {
                    "clientId": {
                        "title": "Client ID (OAuth)",
                        "type": "string",
                        "description": "Your Rakuten Advertising Client ID. Get at developers.rakutenadvertising.com > Applications. Required unless accessToken is provided."
                    },
                    "clientSecret": {
                        "title": "Client Secret (OAuth)",
                        "type": "string",
                        "description": "Your Rakuten Advertising Client Secret. Required unless accessToken is provided. Keep this confidential."
                    },
                    "siteId": {
                        "title": "Site ID (Publisher ID)",
                        "type": "string",
                        "description": "Your Rakuten Publisher Site ID (~7 digits, e.g. 4703080). Found in your Rakuten Advertising account."
                    },
                    "accessToken": {
                        "title": "Pre-generated Access Token (alternative to OAuth)",
                        "type": "string",
                        "description": "OPTIONAL: paste a token from Rakuten Developer Portal 'Generate Token' button. If provided, OAuth flow is skipped. Use this if OAuth client_credentials flow fails."
                    },
                    "queryType": {
                        "title": "Query Type",
                        "enum": [
                            "productSearch",
                            "coupons",
                            "advertisers"
                        ],
                        "type": "string",
                        "description": "Which Rakuten endpoint to query",
                        "default": "productSearch"
                    },
                    "keyword": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Search keyword (productSearch: matches product name; advertisers: matches merchant name; coupons: matches offer text)"
                    },
                    "advertiserId": {
                        "title": "Advertiser/Merchant ID (optional)",
                        "type": "string",
                        "description": "Filter results to a specific merchant. Get IDs from queryType=advertisers first.",
                        "default": ""
                    },
                    "networkId": {
                        "title": "Network ID",
                        "enum": [
                            "1",
                            "3",
                            "7",
                            "9",
                            "14"
                        ],
                        "type": "string",
                        "description": "Rakuten regional network. 1=US (default), 3=UK, 7=Australia, 9=Brazil, 14=Germany.",
                        "default": "1"
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum items to return per query",
                        "default": 25
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration (optional)",
                        "type": "object",
                        "description": "Rakuten API is auth-only (no IP-based anti-bot). Proxy unnecessary unless your network blocks Rakuten domains.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
