# RS Online Scraper — Stock Numbers, Prices & Datasheets (`crawloop/rs-online-scraper`) Actor

Scrape RS Online / RS Components products by stock number, MPN/keyword, URL, or sitemap. Export RS Stock#, MPN, brand, tier prices (ex-VAT), MOQ, datasheets and stock status across regional catalogs. Fast GraphQL HTTP — no browser.

- **URL**: https://apify.com/crawloop/rs-online-scraper.md
- **Developed by:** [Andrej Kiva](https://apify.com/crawloop) (community)
- **Categories:** E-commerce, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 rs online product 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

## RS Online Scraper — Stock Numbers, Prices & Datasheets

> **Disclaimer:** Unofficial Actor for publicly accessible RS Online / RS Components catalog data. **RS**, **RS Online**, **RS Components**, and related names are trademarks of their respective owners. Not affiliated with, sponsored by, or endorsed by RS Group. Provided for informational and research purposes only. You are responsible for complying with applicable laws and RS terms of use.

Scrape **RS Online (RS Components)** products by **RS Stock Number**, **keyword / MPN search**, **product URL**, or **product sitemap**. Export **tier prices (ex-VAT)**, **MOQ**, **brand**, **MPN**, **category path**, **datasheets**, and optional **stock status** as clean JSON — built for **BOM enrichment**, **price monitoring**, and **procurement research** across regional catalogs.

---

### Key Features

- **Stock number enrichment** — RS Stock# → MPN, title, brand, prices, MOQ, pack step, datasheet
- **Keyword / MPN search** — autocomplete discover (top hits per term), then full product enrichment
- **Product URL mode** — parse stock numbers from PDP paths and enrich
- **Sitemap crawl** — bulk discovery from regional product sitemaps
- **Multi-locale** — UK, DE, FR, IE, AU, SG, JP, NL, ES, IT, PL, SE, CZ, AT, CH
- **Fast HTTP** — Datagraph GraphQL via `curl_cffi` TLS impersonation; no headless browser for v1
- **Optional stock status** — discover enrichment per SKU (toggleable)

---

### Use Cases

| Use case | What you get | Why it helps |
| :--- | :--- | :--- |
| **BOM enrichment** | RS Stock# ↔ MPN, brand, datasheet | Fill ERP / PLM component libraries |
| **Price monitoring** | Quantity-break tables (ex-VAT) | Track unit cost vs volume by locale |
| **Catalog harvest** | Sitemap or search → product rows | Build shortlists by region |
| **Sourcing research** | MOQ, order multiple, stock status | Procurement and availability checks |

---

### When to use this Actor

- Enrich known **RS Stock Numbers** with pricing and documents
- Resolve **MPNs / keywords** to RS catalog hits, then enrich
- Bulk-discover products from a **regional product sitemap**
- Compare **locale-specific** prices and currency (pick the correct `locale`)

### When not to use this Actor

- Full **technical attribute tables**, exact warehouse qty, or manufacturer **lead time** (not exposed in v1 GraphQL product-card fields)
- Full **PLP / search pagination** beyond autocomplete top results
- **Cart, checkout, or quote** automation
- Other distributors — this Actor covers **RS Online / RS Components** only

---

### Input Parameters

| Parameter | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `locale` | String | `uk` | Regional site (`uk`, `de`, `fr`, `ie`, `au`, `sg`, `jp`, `nl`, `es`, `it`, `pl`, `se`, `cz`, `at`, `ch`) |
| `mode` | String | `stockNumbers` | `stockNumbers` \| `search` \| `productUrls` \| `sitemap` |
| `stockNumbers` | Array | — | RS Stock Numbers to enrich |
| `searchTerms` | Array | — | Keywords or MPNs (search mode) |
| `productUrls` | Array | — | Full product detail URLs |
| `maxItems` | Integer | `100` | Maximum dataset items per run |
| `sitemapMaxFiles` | Integer | `1` | Max product sitemap files to parse (sitemap mode) |
| `includeStockStatus` | Boolean | `true` | Extra discover call per SKU (outside search mode) |
| `concurrency` | Integer | `5` | Parallel warm sessions (1–20) |
| `requestDelaySecs` | Number | `0.25` | Delay after each product scrape |
| `proxyConfiguration` | Object | — | Optional Apify Proxy |

#### Input Example — stock numbers

```json
{
  "locale": "uk",
  "mode": "stockNumbers",
  "stockNumbers": ["2670007", "7615860", "2351607"],
  "maxItems": 10,
  "includeStockStatus": false,
  "concurrency": 3,
  "requestDelaySecs": 0.2
}
````

#### Input Example — keyword / MPN search

```json
{
  "locale": "uk",
  "mode": "search",
  "searchTerms": ["LM358", "photoelectric sensor"],
  "maxItems": 25,
  "includeStockStatus": true
}
```

#### Input Example — sitemap bulk

```json
{
  "locale": "uk",
  "mode": "sitemap",
  "maxItems": 400,
  "sitemapMaxFiles": 1,
  "includeStockStatus": false,
  "concurrency": 8,
  "requestDelaySecs": 0.15
}
```

***

### Output Format

Each successful dataset item includes identity, pricing, and documents. Failed lookups include an `error` field and are not billed as product results.

| Field | Description |
| :--- | :--- |
| `rs_stock_number` | RS Stock Number |
| `mpn` | Manufacturer part number |
| `title` | Product title |
| `brand` / `brand_slug` | Brand name and slug |
| `url` / `slug` | Product path / URL for the selected locale |
| `image_url` | Primary image when available |
| `category_hierarchy` | Category levels (slug + level) |
| `moq` / `order_multiple` | Minimum order qty and pack step |
| `price_breaks` | Quantity tiers (ex-VAT) |
| `currency` / `country_code` | Locale currency and country |
| `datasheet_url` | Primary datasheet when present |
| `documents` | Document list (title, type, url, languages) |
| `stock_status` | Stock status when enrichment enabled |
| `locale` | Locale key used for the run |
| `scraped_at` | ISO-8601 timestamp |

#### Output Example (abbreviated)

```json
{
  "rs_stock_number": "2351607",
  "mpn": "1SCA022008R7650",
  "title": "ABB Switch Disconnector Auxiliary Switch, OT Series",
  "brand": "ABB",
  "moq": 1,
  "order_multiple": 1,
  "currency": "GBP",
  "country_code": "GB",
  "price_breaks": [
    {
      "from_qty": 1,
      "item_price": "51.37",
      "item_price_formatted": "£51.37"
    }
  ],
  "datasheet_url": null,
  "documents": [],
  "locale": "uk",
  "source": "datagraph_getArticle"
}
```

Prices are **excluding tax** as returned by the RS Datagraph product-card API.

***

### Notes

- Prefer matching **locale** to the market you care about — prices and stock differ by region.
- **Search mode** returns autocomplete top results only (not full listing pagination).
- v1 does **not** scrape blocked PDP HTML for tech-spec tables or warehouse quantities.
- Recommended start: **512–1024 MB** memory; raise concurrency carefully on large sitemap runs.

# Actor input Schema

## `locale` (type: `string`):

Regional RS Online site. Prices, stock and currency depend on locale.

## `mode` (type: `string`):

How to collect products.

## `stockNumbers` (type: `array`):

RS Stock Numbers to enrich (one per line). Example: <code>2670007</code>

## `searchTerms` (type: `array`):

Keywords or manufacturer part numbers. Uses RS autocomplete discover (top ~5 hits per term), then enriches each hit.

## `productUrls` (type: `array`):

Full RS Online product URLs. Stock number is parsed from the trailing path segment.

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

Hard cap on products written to the dataset.

## `includeStockStatus` (type: `boolean`):

Enrich each product with stockStatus via discover (extra GraphQL call per SKU outside search mode).

## `sitemapMaxFiles` (type: `integer`):

How many product sitemap .xml.gz files to process in sitemap mode (5000 URLs each, approx).

## `concurrency` (type: `integer`):

How many stock numbers to fetch in parallel.

## `requestDelaySecs` (type: `number`):

Pause per worker after each GraphQL call.

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

Optional Apify proxy. GraphQL path often works without proxy; use residential if you hit blocks.

## Actor input object example

```json
{
  "locale": "uk",
  "mode": "stockNumbers",
  "stockNumbers": [
    "2670007",
    "7615860",
    "2351607"
  ],
  "searchTerms": [
    "lm358"
  ],
  "productUrls": [
    "https://uk.rs-online.com/web/p/photoelectric-sensors/2670007"
  ],
  "maxItems": 100,
  "includeStockStatus": true,
  "sitemapMaxFiles": 1,
  "concurrency": 5,
  "requestDelaySecs": 0.25,
  "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 = {
    "locale": "uk",
    "mode": "stockNumbers",
    "stockNumbers": [
        "2670007",
        "7615860",
        "2351607"
    ],
    "searchTerms": [
        "lm358"
    ],
    "productUrls": [
        "https://uk.rs-online.com/web/p/photoelectric-sensors/2670007"
    ],
    "maxItems": 100,
    "includeStockStatus": true,
    "sitemapMaxFiles": 1,
    "concurrency": 5,
    "requestDelaySecs": 0.25,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawloop/rs-online-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 = {
    "locale": "uk",
    "mode": "stockNumbers",
    "stockNumbers": [
        "2670007",
        "7615860",
        "2351607",
    ],
    "searchTerms": ["lm358"],
    "productUrls": ["https://uk.rs-online.com/web/p/photoelectric-sensors/2670007"],
    "maxItems": 100,
    "includeStockStatus": True,
    "sitemapMaxFiles": 1,
    "concurrency": 5,
    "requestDelaySecs": 0.25,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("crawloop/rs-online-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 '{
  "locale": "uk",
  "mode": "stockNumbers",
  "stockNumbers": [
    "2670007",
    "7615860",
    "2351607"
  ],
  "searchTerms": [
    "lm358"
  ],
  "productUrls": [
    "https://uk.rs-online.com/web/p/photoelectric-sensors/2670007"
  ],
  "maxItems": 100,
  "includeStockStatus": true,
  "sitemapMaxFiles": 1,
  "concurrency": 5,
  "requestDelaySecs": 0.25,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call crawloop/rs-online-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "RS Online Scraper — Stock Numbers, Prices & Datasheets",
        "description": "Scrape RS Online / RS Components products by stock number, MPN/keyword, URL, or sitemap. Export RS Stock#, MPN, brand, tier prices (ex-VAT), MOQ, datasheets and stock status across regional catalogs. Fast GraphQL HTTP — no browser.",
        "version": "0.1",
        "x-build-id": "jcyAG8rpiCKOBiTTp"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawloop~rs-online-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawloop-rs-online-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/crawloop~rs-online-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawloop-rs-online-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/crawloop~rs-online-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawloop-rs-online-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": [
                    "locale",
                    "mode"
                ],
                "properties": {
                    "locale": {
                        "title": "RS locale / regional site",
                        "enum": [
                            "uk",
                            "de",
                            "fr",
                            "ie",
                            "au",
                            "sg",
                            "jp",
                            "nl",
                            "es",
                            "it",
                            "pl",
                            "se",
                            "cz",
                            "at",
                            "ch"
                        ],
                        "type": "string",
                        "description": "Regional RS Online site. Prices, stock and currency depend on locale.",
                        "default": "uk"
                    },
                    "mode": {
                        "title": "Input mode",
                        "enum": [
                            "stockNumbers",
                            "search",
                            "productUrls",
                            "sitemap"
                        ],
                        "type": "string",
                        "description": "How to collect products.",
                        "default": "stockNumbers"
                    },
                    "stockNumbers": {
                        "title": "RS Stock Numbers",
                        "type": "array",
                        "description": "RS Stock Numbers to enrich (one per line). Example: <code>2670007</code>",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchTerms": {
                        "title": "Search terms (keyword or MPN)",
                        "type": "array",
                        "description": "Keywords or manufacturer part numbers. Uses RS autocomplete discover (top ~5 hits per term), then enriches each hit.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "productUrls": {
                        "title": "Product URLs",
                        "type": "array",
                        "description": "Full RS Online product URLs. Stock number is parsed from the trailing path segment.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max products",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Hard cap on products written to the dataset.",
                        "default": 100
                    },
                    "includeStockStatus": {
                        "title": "Include stock status",
                        "type": "boolean",
                        "description": "Enrich each product with stockStatus via discover (extra GraphQL call per SKU outside search mode).",
                        "default": true
                    },
                    "sitemapMaxFiles": {
                        "title": "Sitemap files (sitemap mode)",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "How many product sitemap .xml.gz files to process in sitemap mode (5000 URLs each, approx).",
                        "default": 1
                    },
                    "concurrency": {
                        "title": "Parallel requests",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "How many stock numbers to fetch in parallel.",
                        "default": 5
                    },
                    "requestDelaySecs": {
                        "title": "Delay between requests (seconds)",
                        "minimum": 0,
                        "type": "number",
                        "description": "Pause per worker after each GraphQL call.",
                        "default": 0.25
                    },
                    "proxyConfiguration": {
                        "title": "Proxy",
                        "type": "object",
                        "description": "Optional Apify proxy. GraphQL path often works without proxy; use residential if you hit blocks.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
