# UberEats Menu Scraper + Analytics (`datacach/ubereats-menu-scraper`) Actor

Extract full menus from any UberEats store. Paste store URLs, get menu items with prices, images, and sections — plus per-store analytics (price/image coverage, min/max/avg price). Multi-country support. Ideal for price monitoring and competitive restaurant analysis.

- **URL**: https://apify.com/datacach/ubereats-menu-scraper.md
- **Developed by:** [DataCach](https://apify.com/datacach) (community)
- **Categories:** Automation, E-commerce, Lead generation
- **Stats:** 16 total users, 3 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.69 / 1,000 menu\_items

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

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

## 🍔 UberEats Menu Scraper + Analytics

Extract complete, structured menu data from any UberEats store — including item names, prices, sections, descriptions, and images. Just paste the store URLs directly from your browser. No UUIDs, no API keys, no setup required.

Built for **price monitoring**, **competitive restaurant analysis**, **food-tech applications**, and **AI-powered food discovery**.

---

### 💰 Transparent, usage-based pricing

**$6.90 per 1,000 menu items** — you only pay for what you extract.

| Volume | Estimated cost |
|--------|---------------|
| 1 store × 50 items | ~$0.35 |
| 20 stores × 50 items | ~$6.90 |
| 100 stores × 50 items | ~$34.50 |
| 500 stores × 50 items | ~$172.50 |

Higher Apify subscription tiers (Bronze, Silver, Gold) automatically receive discounted rates. No hidden fees, no per-run charges beyond the standard Actor start cost.

---

### ✨ What does this Actor do?

- Accepts one or more **UberEats store page URLs** copied directly from your browser.
- Automatically decodes the store identifier from the URL — works for both **US and international** stores.
- Fetches all stores **concurrently** with a built-in retry mechanism for maximum reliability.
- Extracts every menu item across all sections and subsections.
- Computes **per-store analytics** (price coverage, image coverage, min/max/avg price, promotion detection).
- Outputs structured data across **three separate datasets** ready for JSON, CSV, or Excel export.
- Enforces limits for **free Apify accounts** automatically.

---

### 📝 Input

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `store_urls` | `string[]` | **Yes** | UberEats store page URLs to scrape. Paste directly from your browser. |
| `country_code` | `string` | No (default: `"us"`) | ISO country code fallback. Auto-detected from URLs when possible. |

#### Supported URL formats

Both US and international UberEats URLs are supported:

````

## US — UUID is visible directly in the URL

https://www.ubereats.com/store/mcdonalds-fillmore/209c6d0b-8bf5-579c-926b-436bd3bf839c

## International

https://www.ubereats.com/cl/store/arma-tu-hamburguesa-arica/reNyJaIAXPiMDQ7hjscVHA

````

#### Example input

```json
{
  "store_urls": [
    "https://www.ubereats.com/store/mcdonalds-fillmore/209c6d0b-8bf5-579c-926b-436bd3bf839c",
    "https://www.ubereats.com/cl/store/arma-tu-hamburguesa-arica/reNyJaIAXPiMDQ7hjscVHA"
  ]
}
````

#### How to find a store URL

Navigate to any restaurant on [ubereats.com](https://www.ubereats.com) and copy the URL from your browser's address bar. That's it.

***

### 📦 Output

This Actor produces **three separate datasets** per run, each accessible from the **Storage** tab in the Apify run detail.

***

#### 1. Default dataset — Menu Items

One record per menu item. This is the main output.

```json
{
  "subsection_id": "2c05b603-56ea-5441-97f9-019f8a7ebc2f",
  "subsection_name": "Most Popular",
  "store_id": "ad2a8786-4e0e-45f4-a79f-a1dfb38d797f",
  "section_id": "c65630da-f63f-5258-8f7d-f94f2bbba0cb",
  "section_name": "Lunch",
  "country_code": "us",
  "region_code": "dc",
  "data_file": "ad2a8786-4e0e-45f4-a79f-a1dfb38d797f",
  "has_customizations": true,
  "is_sold_out": false,
  "is_available": true,
  "menu_item_id": "a34b9dd7-c831-5b77-bfd4-56ffa252feab",
  "menu_item_name": "Medium French Fries",
  "menu_item_price": 499,
  "menu_item_price_promotion": null,
  "menu_item_price_tagline": {
    "text": "$4.99 • 320 Cal.",
    "textFormat": "<span>$4.99<span style=\"color:#757575\"> • 320 Cal.</span></span>",
    "accessibilityText": "$4.99, 320 Cal."
  },
  "menu_item_description": null,
  "menu_item_image": "https://tb-static.uber.com/prod/image-proc/processed_images/c821c5db2718d95dd1fd68002987ec27/c67fc65e9b4e16a553eb7574fba090f1.jpeg",
  "store_url": "https://www.ubereats.com/store/mcdonalds-bwr-rbd-80017-ny-aves/ad2a8786-4e0e-45f4-a79f-a1dfb38d797f",
  "extraction_date": "2026-03-25",
  "extraction_datetime": "2026-03-25T06:20:40.673495+00:00",
  "main_task_id": "4e8b5aba-a061-4350-8852-32f114f8eabe",
  "main_task_started": "2026-03-25T06:20:38.745046+00:00",
  "position": 0
}
```

| Field | Type | Description |
|-------|------|-------------|
| `menu_item_id` | `string` | Unique UUID of the menu item |
| `menu_item_name` | `string` | Display name |
| `menu_item_price` | `integer` | Raw price in the smallest currency unit (divide by 100 for most countries) |
| `menu_item_price_promotion` | `string \| null` | Promotional price tagline if a discount is active |
| `menu_item_price_tagline` | `object` | Formatted price object from the UberEats API |
| `menu_item_description` | `string \| null` | Item description |
| `menu_item_image` | `string \| null` | Image URL |
| `store_id` | `string` | UUID of the parent store |
| `section_name` | `string` | Menu section name |
| `subsection_name` | `string` | Menu subsection name |
| `has_customizations` | `boolean` | Whether the item has customizable options |
| `is_sold_out` | `boolean` | Whether the item is currently sold out |
| `is_available` | `boolean` | Whether the item is currently available |
| `country_code` | `string` | ISO country code of the store |
| `extraction_date` | `string` | ISO date of extraction (`YYYY-MM-DD`) |
| `extraction_datetime` | `string` | ISO datetime in UTC |
| `main_task_id` | `string` | UUID shared across all items in the same run |
| `main_task_started` | `string` | ISO datetime when the run started |

***

#### 2. `store-analytics` dataset — Per-store Summary

One record per scraped store. Useful for competitive benchmarking, data quality audits, and price intelligence dashboards.

```json
{
  "store_id": "ade37225-a200-5cf8-8c0d-0ee18ec7151c",
  "country_code": "cl",
  "total_sections": 4,
  "total_subsections": 12,
  "total_items": 38,
  "price_coverage_pct": 100.0,
  "image_coverage_pct": 94.74,
  "min_price": 150000,
  "max_price": 650000,
  "avg_price": 312500.0,
  "has_promotions": false,
  "extraction_date": "2026-03-25",
  "extraction_datetime": "2026-03-25T04:30:35.319213+00:00",
  "main_task_id": "36a31035-82ad-41a0-8b24-37ade70e2c44",
  "main_task_started": "2026-03-25T04:30:31.438177+00:00"
}
```

| Field | Description |
|-------|-------------|
| `total_sections` / `total_subsections` / `total_items` | Menu structure counts |
| `price_coverage_pct` | % of items with a non-zero price (0–100) |
| `image_coverage_pct` | % of items with an image URL (0–100) |
| `min_price` / `max_price` / `avg_price` | Price statistics in raw currency units |
| `has_promotions` | `true` if at least one item has an active promotional price |

***

#### 3. `run-summary` dataset — Run-level Report

One record per Actor run. Ideal for monitoring scheduled runs, auditing failures, and tracking extraction history.

```json
{
  "main_task_id": "36a31035-82ad-41a0-8b24-37ade70e2c44",
  "main_task_started": "2026-03-25T04:30:31.438177+00:00",
  "main_task_finished": "2026-03-25T04:31:10.000000+00:00",
  "country_code": "cl",
  "stores_requested": 5,
  "stores_succeeded": 4,
  "stores_failed": 1,
  "failed_store_ids": ["ade37225-a200-5cf8-8c0d-0ee18ec7151c"],
  "total_menu_items": 142,
  "free_user": false
}
```

***

### 💎 Free vs Paid

| Feature | Free | Paid |
|---------|------|------|
| Store URLs per run | 1 | Up to **500** |
| Menu items returned | 5 | **Unlimited** |
| Multi-country in one run | ❌ | ✅ |
| Per-store analytics dataset | ❌ | ✅ |
| Run summary dataset | ❌ | ✅ |
| Concurrent fetching (up to 32 workers) | ❌ | ✅ |
| Bulk scraping for price monitoring | ❌ | ✅ |

#### Free account limits

When running with a **free Apify account**, the following restrictions apply automatically:

- Only the **first** store URL is processed.
- A maximum of **5 menu items** is returned.

[Upgrade to a paid Apify plan](https://apify.com/pricing) to unlock bulk scraping, full analytics, and multi-country support.

***

### 🚀 How to run

#### Apify Console

1. Click **Try for free** on this page.
2. Paste your UberEats store URLs into the `store_urls` field.
3. Click **Start** and wait for the run to complete.
4. Download results from the **Storage** tab in JSON, CSV, or Excel format.

#### Apify API

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/datacach~ubereats-menu-scraper/runs?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "store_urls": [
      "https://www.ubereats.com/store/mcdonalds-fillmore/209c6d0b-8bf5-579c-926b-436bd3bf839c"
    ]
  }'
```

#### Schedule recurring runs

Use Apify's built-in **Scheduler** to monitor menus on a daily or weekly basis and detect price changes over time.

***

### 🛠 Technical notes

- Built with **Python 3** and the **Apify SDK**.
- Concurrent store fetching via `asyncio` with a semaphore (up to 32 workers by default).
- **Automatic retry** — stores that fail on the first attempt are retried once with a fresh authentication token before being marked as permanently failed.
- **URL decoding** — international UberEats URLs encode the store ID as a URL-safe base64 hash; the Actor decodes it automatically.
- Duplicate URLs in the input are deduplicated while preserving order.
- Supports UberEats menu API formats **v1** (`catalogSectionsMap`) and **v2** (`sectionEntitiesMap`).
- All timestamps are in **UTC**.

***

### 🔗 Related Actors

| Actor | Description |
|-------|-------------|
| [UberEats – Stores Search by Location and Keyword](https://apify.com/datacach/ubereats-stores-search-by-location-and-keyword) | Search for UberEats stores by location and keyword. Use it to discover store URLs, then feed them directly into this Actor to extract their full menus. |
| [UberEats – Brand Listing by Country](https://apify.com/datacach/ubereats-listing-brands-by-country) | Get every brand listed on UberEats for one or more countries. |

***

### 💬 Support

Need help or have a feature request? Reach us via the **Apify inbox** on our profile page.

### ✨ Credits

Developed and maintained by the **DataCach** team.

***

> This Actor is neither affiliated with, sponsored by, nor endorsed by Uber Eats or Uber Technologies Inc. Use responsibly and in accordance with the [Apify Terms of Service](https://apify.com/terms) and Uber Eats' own terms of use.

# Actor input Schema

## `store_urls` (type: `array`):

One or more UberEats store page URLs to scrape. Copy the URL directly from your browser while on any UberEats store page. Both US and international URLs are supported. US example: 'https://www.ubereats.com/store/mcdonalds-fillmore/209c6d0b-8bf5-579c-926b-436bd3bf839c'. International example: 'https://www.ubereats.com/cl/store/arma-tu-hamburguesa-arica/reNyJaIAXPiMDQ7hjscVHA'. The country code is detected automatically from the URL when present.

## `country_code` (type: `string`):

ISO 3166-1 alpha-2 country code used as a fallback when the country cannot be detected from the URLs (e.g. 'us', 'mx', 'cl', 'co'). For US store URLs the country is inferred automatically and this field is ignored. Only set this if you are scraping non-US stores whose URLs do not include a country prefix.

## Actor input object example

```json
{
  "store_urls": [
    "https://www.ubereats.com/store/mcdonalds-fillmore/209c6d0b-8bf5-579c-926b-436bd3bf839c",
    "https://www.ubereats.com/cl/store/arma-tu-hamburguesa-arica/reNyJaIAXPiMDQ7hjscVHA"
  ],
  "country_code": "us"
}
```

# Actor output Schema

## `menuItems` (type: `string`):

Default dataset. One record per menu item — includes name, price, section, image, availability, and store metadata.

## `storeAnalytics` (type: `string`):

Named dataset 'store-analytics'. One record per store — price/image coverage, min/max/avg price, promotion flag.

## `runSummary` (type: `string`):

Named dataset 'run-summary'. One record per Actor run — stores requested, succeeded, failed, total menu items extracted.

# 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 = {
    "store_urls": [
        "https://www.ubereats.com/store/mcdonalds-fillmore/209c6d0b-8bf5-579c-926b-436bd3bf839c"
    ],
    "country_code": "us"
};

// Run the Actor and wait for it to finish
const run = await client.actor("datacach/ubereats-menu-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 = {
    "store_urls": ["https://www.ubereats.com/store/mcdonalds-fillmore/209c6d0b-8bf5-579c-926b-436bd3bf839c"],
    "country_code": "us",
}

# Run the Actor and wait for it to finish
run = client.actor("datacach/ubereats-menu-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 '{
  "store_urls": [
    "https://www.ubereats.com/store/mcdonalds-fillmore/209c6d0b-8bf5-579c-926b-436bd3bf839c"
  ],
  "country_code": "us"
}' |
apify call datacach/ubereats-menu-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "UberEats Menu Scraper + Analytics",
        "description": "Extract full menus from any UberEats store. Paste store URLs, get menu items with prices, images, and sections — plus per-store analytics (price/image coverage, min/max/avg price). Multi-country support. Ideal for price monitoring and competitive restaurant analysis.",
        "version": "0.0",
        "x-build-id": "TTpiiQWO1lC6BPWZY"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/datacach~ubereats-menu-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-datacach-ubereats-menu-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/datacach~ubereats-menu-scraper/runs": {
            "post": {
                "operationId": "runs-sync-datacach-ubereats-menu-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/datacach~ubereats-menu-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-datacach-ubereats-menu-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": [
                    "store_urls"
                ],
                "properties": {
                    "store_urls": {
                        "title": "Store URLs",
                        "minItems": 1,
                        "maxItems": 500,
                        "type": "array",
                        "description": "One or more UberEats store page URLs to scrape. Copy the URL directly from your browser while on any UberEats store page. Both US and international URLs are supported. US example: 'https://www.ubereats.com/store/mcdonalds-fillmore/209c6d0b-8bf5-579c-926b-436bd3bf839c'. International example: 'https://www.ubereats.com/cl/store/arma-tu-hamburguesa-arica/reNyJaIAXPiMDQ7hjscVHA'. The country code is detected automatically from the URL when present.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "country_code": {
                        "title": "Country Code (optional)",
                        "type": "string",
                        "description": "ISO 3166-1 alpha-2 country code used as a fallback when the country cannot be detected from the URLs (e.g. 'us', 'mx', 'cl', 'co'). For US store URLs the country is inferred automatically and this field is ignored. Only set this if you are scraping non-US stores whose URLs do not include a country prefix.",
                        "default": "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
