# Uber Eats Scraper (`khadinakbar/uber-eats-scraper`) Actor

Scrape Uber Eats restaurants and full menus by location or store URL. HTTP-only, no login, MCP-ready.

- **URL**: https://apify.com/khadinakbar/uber-eats-scraper.md
- **Developed by:** [Khadin Akbar](https://apify.com/khadinakbar) (community)
- **Categories:** E-commerce, Lead generation, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 restaurant scrapeds

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/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

## Uber Eats Scraper

Scrape **Uber Eats restaurants and full menus** by location or store URL — fast, HTTP-only (no browser), no login, and MCP-ready for AI agents. Search any city or address to get restaurant cards (name, rating, ETA, delivery fee, cuisine, store URL), or paste store URLs to extract complete menus with item prices, descriptions, sections, and images.

### What it does

- **Search by location** — give a free-text address or city (geocoded automatically) or exact `lat,lng`, and get the live list of nearby restaurants with ratings, review counts, ETAs, delivery fees, and store URLs.
- **Full menus** — paste Uber Eats store URLs, or turn on `enrichMenus`, to pull complete menus: sections, item names, **prices**, descriptions, images, and availability.
- **Any market** — works for any Uber Eats city/region; switch proxy country and `localeCode` to match.

### When to use it

- Food-delivery **market research** and competitive analysis — track competitor menus, prices, and coverage city-by-city.
- **Pricing intelligence** — monitor item prices and delivery fees across restaurants over time.
- **Lead lists** for restaurant-tech / POS / delivery SaaS — names, ratings, and store URLs by area.
- **AI agents** — a clean tool call: one location or URL in, structured JSON out.

Not for placing orders, scraping individual customer data, or order tracking — this returns public restaurant and menu listings only.

### Output

Search mode returns one record per restaurant. Store-URL mode (and `enrichMenus`) adds the full menu.

| Field | Description |
|---|---|
| `name` | Restaurant name |
| `rating` | Average star rating (e.g. 4.7) |
| `reviewCount` | Number of ratings |
| `priceBucket` | Price tier (`$`, `$$`, `$$$`) — enriched only |
| `etaText` | Estimated delivery/pickup time (e.g. "12 min") |
| `deliveryFeeText` | Delivery fee as shown |
| `cuisines` | Cuisine tags — enriched only |
| `phone`, `address`, `city` | Contact + location — enriched only |
| `storeUrl` | Canonical Uber Eats store URL |
| `imageUrl` / `heroImageUrl` | Restaurant image |
| `storeUuid` | Stable Uber Eats store ID |
| `menuItemCount` | Number of menu items returned |
| `menu` | Array of `{ name, price, priceCents, description, section, imageUrl, isAvailable }` |
| `cityName`, `searchLocation`, `scrapedAt` | Run context (ISO 8601 timestamp) |

#### Example menu item

```json
{
  "name": "Spicy Tuna Roll",
  "description": "Tuna, spicy mayo, cucumber, sesame.",
  "price": 12.95,
  "priceCents": 1295,
  "section": "Signature Rolls",
  "isAvailable": true
}
````

### Pricing — Pay Per Event

| Event | Price |
|---|---|
| Actor start | $0.00005 |
| Restaurant scraped (per card) | **$0.004** |
| Menu scraped (per full store menu) | **$0.008** |

A 50-restaurant search costs about **$0.20**. Enriching 20 of them with full menus adds about **$0.16**. Pay-per-usage (compute + proxy) is also available for very large jobs.

### Input

| Field | Type | Notes |
|---|---|---|
| `location` | string | Address or city, e.g. `New York, NY` (geocoded). Default. |
| `locationLatLng` | string | `lat,lng` — overrides geocoding. |
| `startUrls` | array | Uber Eats store URLs for direct menu mode. |
| `searchQuery` | string | Keyword search (cuisine/dish/brand), e.g. `sushi`. |
| `enrichMenus` | boolean | Fetch full menu per restaurant (default `false`). |
| `maxRestaurants` | integer | Cap restaurants (default 50). |
| `maxMenusToScrape` | integer | Cap enriched menus (default 20). |
| `diningMode` | enum | `DELIVERY` or `PICKUP`. |
| `proxyConfiguration` | object | Defaults to Apify Residential US. |

#### Quick start (location search)

```json
{
  "location": "New York, NY",
  "maxRestaurants": 50
}
```

#### Full menus from store URLs

```json
{
  "startUrls": [
    "https://www.ubereats.com/store/your-restaurant/STORE_ID"
  ]
}
```

#### Search + enrich top menus

```json
{
  "location": "Chicago, IL",
  "searchQuery": "pizza",
  "enrichMenus": true,
  "maxMenusToScrape": 10
}
```

### Using via API

```bash
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~uber-eats-scraper/runs?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "location": "Austin, TX", "maxRestaurants": 30 }'
```

### Using with AI agents (MCP)

This actor is exposed through the Apify MCP server as `khadinakbar/uber-eats-scraper`. Point your MCP client at `https://mcp.apify.com` and call it with a `location` or `startUrls`. It returns flat, agent-friendly JSON.

### How it works

The actor talks directly to Uber Eats' own JSON endpoints (`getFeedV1` for the location feed, `getStoreV1` for menus) over plain HTTP — no headless browser, so runs are fast and cheap. Free-text addresses are geocoded with OpenStreetMap Nominatim. Apify Residential proxies are used by default because Uber Eats blocks most datacenter IPs.

### FAQ

**Do I need cookies or a login?** No. The actor is cookieless.

**Which countries work?** Any Uber Eats market. Set `proxyConfiguration` country and `localeCode` to match (e.g. `en-GB`).

**Why residential proxies?** Uber Eats blocks datacenter IPs aggressively. Residential is the reliable default.

**What if a location has no restaurants?** The run finishes cleanly with a warning (no charge for empty results beyond start).

**Can I get item-level modifiers/options?** Item names, prices, descriptions, sections, and availability are returned. Deep modifier trees may vary by store.

### Legal

This actor collects only publicly available data from Uber Eats listing and store pages. Use it in compliance with Uber Eats' Terms of Service and all applicable laws (including data-protection regulations). You are responsible for how you use the scraped data. This tool is not affiliated with, endorsed by, or sponsored by Uber Technologies, Inc. "Uber Eats" is a trademark of its respective owner.

# Actor input Schema

## `location` (type: `string`):

Free-text address or city to search Uber Eats restaurants near (e.g. 'New York, NY' or '350 5th Ave, New York'). It is geocoded automatically to latitude/longitude. Defaults to 'New York, NY'. Leave blank if you instead provide locationLatLng or startUrls.

## `locationLatLng` (type: `string`):

Exact coordinates as 'latitude,longitude' (e.g. '40.758,-73.9855'). Use this to skip geocoding or to target a precise delivery point. When set, it takes precedence over the location field. Not a place name — use the location field for free text.

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

List of Uber Eats restaurant/store URLs to scrape full menus from (e.g. 'https://www.ubereats.com/store/<slug>/<id>'). Each URL returns one record with the complete menu (sections, items, prices, descriptions). Use this for direct menu extraction instead of location search. Not for search keywords — use searchQuery for that.

## `searchQuery` (type: `string`):

Optional keyword to search Uber Eats near the location (e.g. 'sushi', 'pizza', 'vegan', 'mcdonald'). Runs Uber's own relevance search and returns matching restaurants ranked by Uber. Leave blank to browse all nearby restaurants. Ignored in store-URL mode.

## `enrichMenus` (type: `boolean`):

When true, each restaurant in the location feed is enriched with its full menu (items, prices, descriptions, cuisines, phone, address) up to maxMenusToScrape. When false (default), only restaurant cards are returned (faster and cheaper). Adds a menu-scraped charge per enriched store. Has no effect in store-URL mode (URLs always return full menus).

## `maxRestaurants` (type: `integer`):

Maximum number of restaurant records to return from the location feed (e.g. 50). Caps cost and runtime. Defaults to 50; a typical feed holds ~90-125 restaurants. Ignored in store-URL mode.

## `maxMenusToScrape` (type: `integer`):

Maximum number of full menus to fetch when enrichMenus is true (e.g. 20). Each enriched menu adds a menu-scraped charge. Defaults to 20. Lower it to control cost on large feeds.

## `diningMode` (type: `string`):

Whether to return DELIVERY or PICKUP availability and pricing. Defaults to DELIVERY. Pickup feeds may show different stores and fees.

## `localeCode` (type: `string`):

Uber Eats locale for the API (e.g. 'en-US', 'en-GB', 'fr-FR'). Affects language and regional formatting. Defaults to 'en-US'. Advanced — leave as default for US targets.

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

Proxy settings. Defaults to Apify Residential proxies in the US, recommended because Uber Eats blocks most datacenter IPs. You may switch country to match your target market.

## Actor input object example

```json
{
  "location": "Chicago, IL",
  "locationLatLng": "40.758,-73.9855",
  "startUrls": [
    "https://www.ubereats.com/store/duane-reade-158-w-45th-st/3aRdtSxMQI-rBbPFn6miNQ"
  ],
  "searchQuery": "pizza",
  "enrichMenus": false,
  "maxRestaurants": 50,
  "maxMenusToScrape": 20,
  "diningMode": "DELIVERY",
  "localeCode": "en-GB",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `restaurants` (type: `string`):

No description

## `restaurantsCsv` (type: `string`):

No description

# 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 = {
    "location": "New York, NY"
};

// Run the Actor and wait for it to finish
const run = await client.actor("khadinakbar/uber-eats-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 = { "location": "New York, NY" }

# Run the Actor and wait for it to finish
run = client.actor("khadinakbar/uber-eats-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 '{
  "location": "New York, NY"
}' |
apify call khadinakbar/uber-eats-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Uber Eats Scraper",
        "description": "Scrape Uber Eats restaurants and full menus by location or store URL. HTTP-only, no login, MCP-ready.",
        "version": "1.0",
        "x-build-id": "S06XFwrWki2V2aS3A"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/khadinakbar~uber-eats-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-khadinakbar-uber-eats-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/khadinakbar~uber-eats-scraper/runs": {
            "post": {
                "operationId": "runs-sync-khadinakbar-uber-eats-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/khadinakbar~uber-eats-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-khadinakbar-uber-eats-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": {
                    "location": {
                        "title": "Location (address or city)",
                        "type": "string",
                        "description": "Free-text address or city to search Uber Eats restaurants near (e.g. 'New York, NY' or '350 5th Ave, New York'). It is geocoded automatically to latitude/longitude. Defaults to 'New York, NY'. Leave blank if you instead provide locationLatLng or startUrls."
                    },
                    "locationLatLng": {
                        "title": "Location lat,lng (overrides geocoding)",
                        "type": "string",
                        "description": "Exact coordinates as 'latitude,longitude' (e.g. '40.758,-73.9855'). Use this to skip geocoding or to target a precise delivery point. When set, it takes precedence over the location field. Not a place name — use the location field for free text."
                    },
                    "startUrls": {
                        "title": "Uber Eats store URLs (menu mode)",
                        "type": "array",
                        "description": "List of Uber Eats restaurant/store URLs to scrape full menus from (e.g. 'https://www.ubereats.com/store/<slug>/<id>'). Each URL returns one record with the complete menu (sections, items, prices, descriptions). Use this for direct menu extraction instead of location search. Not for search keywords — use searchQuery for that.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchQuery": {
                        "title": "Search keyword (cuisine, dish, or brand)",
                        "type": "string",
                        "description": "Optional keyword to search Uber Eats near the location (e.g. 'sushi', 'pizza', 'vegan', 'mcdonald'). Runs Uber's own relevance search and returns matching restaurants ranked by Uber. Leave blank to browse all nearby restaurants. Ignored in store-URL mode."
                    },
                    "enrichMenus": {
                        "title": "Fetch full menu for each restaurant",
                        "type": "boolean",
                        "description": "When true, each restaurant in the location feed is enriched with its full menu (items, prices, descriptions, cuisines, phone, address) up to maxMenusToScrape. When false (default), only restaurant cards are returned (faster and cheaper). Adds a menu-scraped charge per enriched store. Has no effect in store-URL mode (URLs always return full menus).",
                        "default": false
                    },
                    "maxRestaurants": {
                        "title": "Max restaurants",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Maximum number of restaurant records to return from the location feed (e.g. 50). Caps cost and runtime. Defaults to 50; a typical feed holds ~90-125 restaurants. Ignored in store-URL mode.",
                        "default": 50
                    },
                    "maxMenusToScrape": {
                        "title": "Max menus to enrich",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Maximum number of full menus to fetch when enrichMenus is true (e.g. 20). Each enriched menu adds a menu-scraped charge. Defaults to 20. Lower it to control cost on large feeds.",
                        "default": 20
                    },
                    "diningMode": {
                        "title": "Dining mode",
                        "enum": [
                            "DELIVERY",
                            "PICKUP"
                        ],
                        "type": "string",
                        "description": "Whether to return DELIVERY or PICKUP availability and pricing. Defaults to DELIVERY. Pickup feeds may show different stores and fees.",
                        "default": "DELIVERY"
                    },
                    "localeCode": {
                        "title": "Locale code",
                        "type": "string",
                        "description": "Uber Eats locale for the API (e.g. 'en-US', 'en-GB', 'fr-FR'). Affects language and regional formatting. Defaults to 'en-US'. Advanced — leave as default for US targets.",
                        "default": "en-US"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxy settings. Defaults to Apify Residential proxies in the US, recommended because Uber Eats blocks most datacenter IPs. You may switch country to match your target market.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "US"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
