# 🏠 Rightmove Scraper (`scrapio/rightmove-scraper`) Actor

🏠 Rightmove Scraper extracts property listings from Rightmove, delivering structured data on prices, locations & features. 🚀 Perfect for market research, investment insights & lead generation—fast, efficient & automation-ready. 📈

- **URL**: https://apify.com/scrapio/rightmove-scraper.md
- **Developed by:** [Scrapio](https://apify.com/scrapio) (community)
- **Categories:** Real estate, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## 🏠 Rightmove Scraper

Scrape **sale and rent** property listings from [Rightmove.co.uk](https://www.rightmove.co.uk) at scale. Paste one or more **search-result URLs** and/or **direct property URLs**, and the actor returns clean, structured records — with optional **monitoring mode**, a **delisting tracker**, **full property details**, **price history**, and **nearest schools**.

It ships with a **smart connection ladder**: it starts on a direct connection and only escalates to datacenter, then residential proxies if Rightmove pushes back — so you pay for heavy proxies only when you actually need them.

### ⭐ Why Choose This Scraper?

- 🚀 **Fast by default** — basic listing data comes straight from Rightmove's search results; only opt into per-property detail when you need it.
- 🛡️ **Self-healing networking** — automatic direct → datacenter → residential fallback, with clear log messages for every switch.
- 🔁 **Monitoring & delisting** — scrape only new listings since the last run, and track which properties disappear.
- 🧱 **Robust** — live saving (a crash never loses scraped rows), retries with backoff, and graceful handling of restricted-permission runs.
- 📊 **Organised output** — results are split across themed dataset views (Overview, Agent, Location, Costs, Media, Status).

### ✨ Key Features

| Feature | What it does |
|--------|--------------|
| 🔗 Search URL input | Paginates any Rightmove sale/rent search-result URL |
| 🏡 Direct property URLs | Scrape individual properties by URL |
| 🔬 Full property details | Council tax, lease, floorplans, stations, EPC, tags, agent profile |
| 📈 Price history | Sold-price history per property |
| 🏫 Nearest schools | Nearby schools with distance and ratings |
| 🆕 Monitoring mode | Only scrape listings unseen in previous runs |
| 🗂️ Delisting tracker | Stamp every property's `lastSeen` in a key-value store |
| 📧 Email notifications | Optional run report / error email |

### 📥 Input

| Field | Type | Description |
|-------|------|-------------|
| `listUrls` | array | Rightmove search-result URLs (sale or rent) |
| `propertyUrls` | array | Direct property page URLs |
| `fullScrape` | boolean | Scrape everything every run (default `true`) |
| `monitoringMode` | boolean | Only scrape new listings since last run |
| `deduplicateAtTaskLevel` | boolean | Scope dedup/monitoring per task instead of account |
| `fullPropertyDetails` | boolean | Visit each property page for the rich record |
| `includePriceHistory` | boolean | Add sold-price history (enables full details) |
| `includeNearestSchools` | boolean | Add nearby schools (enables full details) |
| `enableDelistingTracker` | boolean | Track `lastSeen` per property in a KV store |
| `addEmptyTrackerRecord` | boolean | Push id-only records for still-listed props in monitoring |
| `email` | string | Address for run/error notifications |
| `maxProperties` | integer | Max properties per search URL (default `1000`) |
| `concurrency` | integer | Simultaneous requests (default `8`) |
| `proxyConfiguration` | object | Apify proxy settings (residential GB recommended) |

```json
{
  "listUrls": [
    { "url": "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=OUTCODE%5E2445" }
  ],
  "fullPropertyDetails": false,
  "maxProperties": 50,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "GB" }
}
````

### 📤 Output

Each property is one dataset record. Basic example:

```json
{
  "id": "89145879",
  "url": "https://www.rightmove.co.uk/properties/89145879#/?channel=RES_BUY",
  "title": "2 bedroom flat for sale",
  "channel": "BUY",
  "displayAddress": "Sidbury Circular Road, Tidworth, SP9 7HT",
  "price": "£120,000",
  "bedrooms": 2,
  "bathrooms": 1,
  "propertyType": "Flat",
  "type": "sale",
  "tenure": "LEASEHOLD",
  "agent": "Brockenhurst Estate Agents, Andover",
  "agentPhone": "01264 312461",
  "coordinates": { "latitude": 51.244835, "longitude": -1.668411 },
  "images": ["https://media.rightmove.co.uk/..."],
  "listingUpdateReason": "new"
}
```

With **full property details** the record additionally includes `descriptionHtml`, `floorplans`, `brochures`, `nearestStations`, `epc`, `councilTaxBand`, `yearsRemainingOnLease`, `tags`, `agentProfileUrl`, and (when enabled) `priceHistory` and `nearestSchools`.

Results are organised into themed **dataset views** in the Output tab: 🏘️ Overview, 🧑‍💼 Agent & contact, 📍 Location, 💷 Costs & tenure, 🖼️ Media & documents, and 🔔 Listing status & tracking.

### 🚀 How to Use (Apify Console)

1. Log in at [console.apify.com](https://console.apify.com) → **Actors**.
2. Open **Rightmove Scraper**.
3. Paste your search URLs and/or property URLs.
4. Pick your depth (full details, price history, schools) and mode (full / monitoring).
5. Click **Start** and watch the live log.
6. Open the **Output** tab and export to JSON / CSV / XLSX.

### 🤖 Use via API

```bash
curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"listUrls":[{"url":"https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=OUTCODE%5E2445"}],"maxProperties":50}'
```

### 💡 Best Use Cases

- Building a property dataset for a region or postcode
- Monitoring new listings and price changes daily
- Detecting delisted / sold-STC properties over time
- Enriching leads with agent contact details

### 💷 Pricing

This actor uses Apify's **pay-per-event** model. You are billed per property scraped, plus standard platform usage. Enabling the delisting tracker and full property details increases compute and proxy usage.

### ❓ FAQ

**Do I need residential proxies?** Not always. The actor starts direct and only escalates when blocked. Residential (GB) gives the most reliable results for larger jobs.

**How does monitoring mode work?** It remembers every property id it has seen (in a key-value store) and, on the next run, scrapes only ids it hasn't seen before.

**Can I scrape both sale and rent?** Yes — just include both kinds of search URLs.

### ⚖️ Legal & Compliance

Data is collected only from publicly available pages. You are responsible for complying with Rightmove's Terms of Service and applicable laws (GDPR, etc.).

### 🛟 Support

Found a bug or have a request? Open an issue on the actor's Issues tab.

# Actor input Schema

## `listUrls` (type: `array`):

Rightmove search-result page URLs (for sale or to rent). Each one is paginated automatically. Example: https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=OUTCODE%5E2445

## `propertyUrls` (type: `array`):

Individual property page URLs, e.g. https://www.rightmove.co.uk/properties/169711034

## `fullScrape` (type: `boolean`):

Scrape ALL properties matching your input on every run. Turn this OFF when you enable monitoring mode below.

## `monitoringMode` (type: `boolean`):

If checked, only properties that are brand-new compared to previous runs are scraped. Please turn OFF full scrape above when using this.

## `deduplicateAtTaskLevel` (type: `boolean`):

Track 'seen' listings per task instead of per account. Useful only when running multiple tasks of this scraper.

## `fullPropertyDetails` (type: `boolean`):

Visit each property page for the rich record (council tax, lease, floorplans, stations, EPC, etc.). Leaving it off is much faster.

## `includePriceHistory` (type: `boolean`):

Fetch sold-price history. Automatically enables full property details.

## `includeNearestSchools` (type: `boolean`):

Fetch nearby schools. Automatically enables full property details.

## `enableDelistingTracker` (type: `boolean`):

Stamp every property with a lastSeen date in a key-value store so you can spot delisted properties. (Enabling this has an impact on billing.)

## `addEmptyTrackerRecord` (type: `boolean`):

In monitoring mode, push an id-only tracker record for still-listed properties so a custom loader can detect delistings.

## `email` (type: `string`):

Receive a run report or an error notification at this address.

## `maxProperties` (type: `integer`):

Maximum number of properties to scrape per input search URL.

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

The scraper starts with a direct connection and automatically escalates to datacenter, then residential proxies only if Rightmove blocks it. Residential (country GB) is recommended for reliability.

## Actor input object example

```json
{
  "listUrls": [
    "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=OUTCODE%5E2445"
  ],
  "propertyUrls": [],
  "fullScrape": true,
  "monitoringMode": false,
  "deduplicateAtTaskLevel": false,
  "fullPropertyDetails": false,
  "includePriceHistory": false,
  "includeNearestSchools": false,
  "enableDelistingTracker": false,
  "addEmptyTrackerRecord": false,
  "email": "",
  "maxProperties": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "GB"
  }
}
```

# 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 = {
    "listUrls": [
        "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=OUTCODE%5E2445"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapio/rightmove-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 = { "listUrls": ["https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=OUTCODE%5E2445"] }

# Run the Actor and wait for it to finish
run = client.actor("scrapio/rightmove-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 '{
  "listUrls": [
    "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=OUTCODE%5E2445"
  ]
}' |
apify call scrapio/rightmove-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "🏠 Rightmove Scraper",
        "description": "🏠 Rightmove Scraper extracts property listings from Rightmove, delivering structured data on prices, locations & features. 🚀 Perfect for market research, investment insights & lead generation—fast, efficient & automation-ready. 📈",
        "version": "0.1",
        "x-build-id": "8f58SZ0Jk8C0WYcrA"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapio~rightmove-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapio-rightmove-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/scrapio~rightmove-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapio-rightmove-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/scrapio~rightmove-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapio-rightmove-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",
                "properties": {
                    "listUrls": {
                        "title": "🔗 Search (list) URLs",
                        "type": "array",
                        "description": "Rightmove search-result page URLs (for sale or to rent). Each one is paginated automatically. Example: https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=OUTCODE%5E2445",
                        "items": {
                            "type": "string"
                        }
                    },
                    "propertyUrls": {
                        "title": "🏡 Direct property URLs",
                        "type": "array",
                        "description": "Individual property page URLs, e.g. https://www.rightmove.co.uk/properties/169711034",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "fullScrape": {
                        "title": "📦 Full scrape (every run)",
                        "type": "boolean",
                        "description": "Scrape ALL properties matching your input on every run. Turn this OFF when you enable monitoring mode below.",
                        "default": true
                    },
                    "monitoringMode": {
                        "title": "🆕 Monitoring mode (only new listings)",
                        "type": "boolean",
                        "description": "If checked, only properties that are brand-new compared to previous runs are scraped. Please turn OFF full scrape above when using this.",
                        "default": false
                    },
                    "deduplicateAtTaskLevel": {
                        "title": "🧩 Deduplicate & monitor at task level",
                        "type": "boolean",
                        "description": "Track 'seen' listings per task instead of per account. Useful only when running multiple tasks of this scraper.",
                        "default": false
                    },
                    "fullPropertyDetails": {
                        "title": "🔬 Include full property details",
                        "type": "boolean",
                        "description": "Visit each property page for the rich record (council tax, lease, floorplans, stations, EPC, etc.). Leaving it off is much faster.",
                        "default": false
                    },
                    "includePriceHistory": {
                        "title": "📈 Include price history (if available)",
                        "type": "boolean",
                        "description": "Fetch sold-price history. Automatically enables full property details.",
                        "default": false
                    },
                    "includeNearestSchools": {
                        "title": "🏫 Include nearest schools (if available)",
                        "type": "boolean",
                        "description": "Fetch nearby schools. Automatically enables full property details.",
                        "default": false
                    },
                    "enableDelistingTracker": {
                        "title": "🗂️ Enable delisting tracker (KV store)",
                        "type": "boolean",
                        "description": "Stamp every property with a lastSeen date in a key-value store so you can spot delisted properties. (Enabling this has an impact on billing.)",
                        "default": false
                    },
                    "addEmptyTrackerRecord": {
                        "title": "➕ Add tracker ID record in incremental mode",
                        "type": "boolean",
                        "description": "In monitoring mode, push an id-only tracker record for still-listed properties so a custom loader can detect delistings.",
                        "default": false
                    },
                    "email": {
                        "title": "📧 Email address (notifications / errors)",
                        "type": "string",
                        "description": "Receive a run report or an error notification at this address.",
                        "default": ""
                    },
                    "maxProperties": {
                        "title": "🔢 Max properties per list URL",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of properties to scrape per input search URL.",
                        "default": 10
                    },
                    "proxyConfiguration": {
                        "title": "🛡️ Proxy configuration",
                        "type": "object",
                        "description": "The scraper starts with a direct connection and automatically escalates to datacenter, then residential proxies only if Rightmove blocks it. Residential (country GB) is recommended for reliability.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "GB"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
