# Glovo Scraper — Restaurants, Stores & Product Prices (`studio-amba/glovo-scraper`) Actor

Scrape Glovo across Spain, Italy, Portugal and Eastern Europe: restaurant and store listings with ratings and delivery times, plus full menu and product prices per store. No login, no cookies.

- **URL**: https://apify.com/studio-amba/glovo-scraper.md
- **Developed by:** [Studio Amba](https://apify.com/studio-amba) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.20 / 1,000 result scrapeds

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

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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

## Glovo Scraper — Restaurants, Stores & Product Prices

Scrape Glovo (glovoapp.com) across Spain, Italy, Portugal, Poland, Romania, Greece, Ukraine, Kazakhstan, Morocco and its other markets: store/restaurant directories with ratings, delivery times and fees, plus full product and menu prices per store. Works by country, language and city slug. No login, no cookies.

### Why use this actor?

Glovo is one of the largest quick-commerce and food-delivery platforms in Southern and Eastern Europe, with restaurant, supermarket, pharmacy and shop verticals all running through the same storefront. Its listings are a live feed of two datasets that are otherwise locked behind the mobile app:

- **Store directory intelligence**: which restaurants/stores are live in a city, their rating, delivery time and delivery fee, refreshed on every run.
- **Menu and price monitoring**: full menu/product catalogues per store, with prices, promotions and category, useful for competitor tracking and price benchmarking.

One actor covers every Glovo country. Point it at Madrid, Milan, Lisbon, Warsaw, Bucharest or any other city Glovo serves.

### Modes

| Mode | What it returns | Scale |
|------|-----------------|-------|
| `products` (default) | Discovers stores in the city/category, then opens each one for its product/menu catalogue: name, price, currency, availability, category | Up to ~150 items per store, capped by `maxStores` and `maxResults` |
| `stores` | Store directory only: name, rating, delivery estimate, delivery fee, listing tag | Up to 50 stores in one request |

### Input

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `mode` | String | No | `products` (default) or `stores` |
| `country` | String | No | Glovo country path segment, lowercase ISO2 — `es`, `it`, `pt`, `pl`, `ro`, `gr`, `ua`, `kz`, `ma` (default: `es`) |
| `language` | String | No | Glovo language path segment, e.g. `es`, `it`, `pt`, `en` (default: `es`) |
| `city` | String | No | Glovo city URL slug, e.g. `madrid`, `barcelona`, `milano`, `lisboa` (default: `madrid`) |
| `categoryId` | Integer | No | Glovo numeric store category. `1` = Restaurants, verified in every city (default: `1`). Other IDs vary by city — see below |
| `maxResults` | Integer | No | Max dataset items to push (default 100) |
| `maxStores` | Integer | No | `products` mode only: how many discovered stores to open (default 15) |
| `proxyConfiguration` | Object | No | Apify proxy settings (default: automatic proxy) |

Running with completely empty input `{}` returns the first 100 Madrid restaurant products.

#### Finding a category ID

Glovo category pages follow the pattern `glovoapp.com/{country}/{language}/{city}/{any-text}_{categoryId}/`. Browse the Glovo site for the city you want, click into a vertical (Restaurants, Supermarkets, Pharmacy, ...), and copy the trailing `_N` number from the URL into `categoryId`. `categoryId: 1` (Restaurants) is confirmed to work in every city tested; other IDs return 0 stores in smaller cities that don't have that vertical.

### Output

All records share `recordType`, `url`, `city`, `country` and `scrapedAt`. Mode-specific fields:

**`stores` mode** (`recordType: "store"`): `name`, `category` (listing tag), `storeId`, `storeSlug`, `rating`, `ratingCount`, `deliveryEstimate`, `deliveryFee`, `deliveryFeeCurrency`.

**`products` mode** (`recordType: "product"`): `name`, `price`, `currency`, `availability`, `category` (menu/catalogue section), `storeId`, `storeName`, `storeSlug`, plus the store's `rating`, `deliveryEstimate` and `deliveryFee` for context.

#### Sample output (products mode)

```json
{
    "recordType": "product",
    "name": "12 Sándwiches Fríos (Ideal para 3 Personas)",
    "price": 21.45,
    "currency": "EUR",
    "availability": true,
    "category": "Sándwiches Fríos",
    "storeId": "567577",
    "storeName": "RODILLA",
    "storeSlug": "rodilla-madrid",
    "rating": "99%",
    "ratingCount": "(76)",
    "deliveryEstimate": "30-40 min",
    "deliveryFee": 0.49,
    "deliveryFeeCurrency": "EUR",
    "url": "https://glovoapp.com/es/es/madrid/stores/rodilla-madrid",
    "city": "madrid",
    "country": "es",
    "scrapedAt": "2026-07-26T09:21:00.664Z"
}
````

#### Sample output (stores mode)

```json
{
    "recordType": "store",
    "name": "Honest Greens",
    "category": "Peq. almoço",
    "storeId": "488772",
    "storeSlug": "honest-green-lis",
    "rating": "94%",
    "ratingCount": "(500+)",
    "deliveryEstimate": "30-40 min",
    "deliveryFee": 0,
    "deliveryFeeCurrency": "EUR",
    "url": "https://glovoapp.com/pt/pt/lisboa/stores/honest-green-lis",
    "city": "lisboa",
    "country": "pt",
    "scrapedAt": "2026-07-26T09:22:12.957Z"
}
```

### How to scrape Glovo data

1. **Pick a mode.** Start with `stores` to see what's live in your city, or go straight to `products` for full catalogues.
2. **Name the country, language and city.** Use the lowercase path segments from a real Glovo URL, e.g. `glovoapp.com/es/es/madrid/` → `country: "es"`, `language: "es"`, `city: "madrid"`.
3. **Pick a category.** `categoryId: 1` (Restaurants) works everywhere and is the default. Grab other category IDs from the site if you need supermarkets, pharmacies or shops.
4. **Run it.** The default input returns Madrid restaurant products in under a minute.
5. **Scale up.** Raise `maxStores` to open more of the discovered stores, and `maxResults` to push more products overall.

#### Scrape a whole country

Category pages are per-city (up to 50 stores each). Loop the actor over a list of cities for one country with a scheduler or a meta-run, one run per city, and merge the datasets by `storeId`.

### Cost estimate

The actor uses plain HTTP requests through Apify's automatic proxy — no browser, no residential proxy premium:

- `stores`: one city/category costs 1 request. Practically free.
- `products`: one request per store opened (capped by `maxStores`), each returning the store's visible catalogue (typically 40-150 items for restaurants).

### Limitations

- **One category page per run**: store discovery returns up to 50 stores per `country`/`city`/`categoryId` combination — no further pagination endpoint was found on the public storefront. Cover more stores by combining `categoryId` values or scheduling multiple city runs.
- **Preview catalogue on large stores**: big supermarket-type stores organize their full range behind additional in-app category pages that require a resolved delivery address (not available anonymously). `products` mode captures the store's visible/preview catalogue — the full menu for most restaurants, the top sections for large grocery stores.
- `category` (product section) coverage is high (~98% in testing) but not guaranteed on every item — a handful of top-of-page promotional tiles have no section header.
- Prices are the in-app Glovo prices, which can include a markup versus the shelf price.

### Related Scrapers

Building a European food-delivery or quick-commerce price dataset? Pair this with the other scrapers in the same family:

- [Wolt Scraper](https://apify.com/studio-amba/wolt-scraper) — 30-country venues, menus & grocery prices with EAN
- [Deliveroo Scraper](https://apify.com/studio-amba/deliveroo-scraper) — UK & European restaurant menus
- [Just Eat Scraper](https://apify.com/studio-amba/just-eat-scraper) — Restaurant listings and menus
- [Takeaway Scraper](https://apify.com/studio-amba/takeaway-scraper) — Takeaway.com restaurant listings and menus

### FAQ

**Do I need a Glovo account?**
No. The actor reads Glovo's public storefront pages — no login, no cookies, no app.

**Which countries does it cover?**
Any Glovo market — Spain, Italy, Portugal, Poland, Romania, Greece, Ukraine, Kazakhstan, Morocco, the Balkans and more. Set `country`, `language` and `city` to match a real Glovo URL for that market.

**How fresh is the data?**
Every run fetches live data. Store availability and pricing reflect the moment of the run.

**Can I get a store's out-of-stock items?**
`availability` is derived best-effort from Glovo's own out-of-stock flag on each product tile, defaulting to available when the flag isn't present.

**Is this legal?**
The actor only collects publicly available data that anyone can see in the Glovo app or website. You are responsible for how you use the data — respect local regulations.

# Actor input Schema

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

What to scrape. 'products' (default) discovers stores in the city/category then pulls each store's product/menu catalogue (name, price, category, availability). 'stores' only lists the stores themselves (rating, delivery time, delivery fee) without opening each one.

## `country` (type: `string`):

Glovo country path segment, lowercase ISO2 (e.g. 'es' Spain, 'it' Italy, 'pt' Portugal, 'pl' Poland, 'ro' Romania, 'gr' Greece, 'ua' Ukraine, 'kz' Kazakhstan, 'ma' Morocco).

## `language` (type: `string`):

Glovo language path segment (e.g. 'es', 'it', 'pt', 'en'). Controls the language of names/descriptions returned.

## `city` (type: `string`):

Glovo city URL slug, e.g. 'madrid', 'barcelona', 'milano', 'lisboa', 'warszawa'. Find it in a Glovo city URL: glovoapp.com/{country}/{language}/{city-slug}/.

## `categoryId` (type: `integer`):

Glovo numeric store category. 1 = Restaurants (verified, largest category in every city). Other IDs (e.g. 3, 4, 22) map to supermarkets/shops/pharmacies etc. and vary by city — find them in a Glovo category URL, the trailing '\_N' in glovoapp.com/{country}/{language}/{city}/{name}\_N/. Some IDs return 0 stores in smaller cities.

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

Maximum number of dataset items to push. In 'products' mode this caps total products across all stores; in 'stores' mode it caps the number of stores.

## `maxStores` (type: `integer`):

In 'products' mode, how many discovered stores to open and pull the full catalogue from. Each store is one extra page fetch. Default 15 keeps runs fast; raise it to cover more of the city.

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

Proxy settings. Glovo's storefront is CloudFront-fronted with no strong anti-bot on category/store pages (recon-verified) — plain datacenter proxies pass fine. RESIDENTIAL is prefilled for safety margin, matching our other delivery-platform scrapers.

## Actor input object example

```json
{
  "mode": "products",
  "country": "es",
  "language": "es",
  "city": "madrid",
  "categoryId": 1,
  "maxResults": 100,
  "maxStores": 15,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "mode": "products",
    "country": "es",
    "language": "es",
    "city": "madrid",
    "categoryId": 1,
    "maxResults": 100,
    "maxStores": 15,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("studio-amba/glovo-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 = {
    "mode": "products",
    "country": "es",
    "language": "es",
    "city": "madrid",
    "categoryId": 1,
    "maxResults": 100,
    "maxStores": 15,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("studio-amba/glovo-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 '{
  "mode": "products",
  "country": "es",
  "language": "es",
  "city": "madrid",
  "categoryId": 1,
  "maxResults": 100,
  "maxStores": 15,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call studio-amba/glovo-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Glovo Scraper — Restaurants, Stores & Product Prices",
        "description": "Scrape Glovo across Spain, Italy, Portugal and Eastern Europe: restaurant and store listings with ratings and delivery times, plus full menu and product prices per store. No login, no cookies.",
        "version": "0.1",
        "x-build-id": "ugXub70oUwd4kAcCS"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/studio-amba~glovo-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-studio-amba-glovo-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/studio-amba~glovo-scraper/runs": {
            "post": {
                "operationId": "runs-sync-studio-amba-glovo-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/studio-amba~glovo-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-studio-amba-glovo-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": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "products",
                            "stores"
                        ],
                        "type": "string",
                        "description": "What to scrape. 'products' (default) discovers stores in the city/category then pulls each store's product/menu catalogue (name, price, category, availability). 'stores' only lists the stores themselves (rating, delivery time, delivery fee) without opening each one.",
                        "default": "products"
                    },
                    "country": {
                        "title": "Country code",
                        "type": "string",
                        "description": "Glovo country path segment, lowercase ISO2 (e.g. 'es' Spain, 'it' Italy, 'pt' Portugal, 'pl' Poland, 'ro' Romania, 'gr' Greece, 'ua' Ukraine, 'kz' Kazakhstan, 'ma' Morocco)."
                    },
                    "language": {
                        "title": "Language code",
                        "type": "string",
                        "description": "Glovo language path segment (e.g. 'es', 'it', 'pt', 'en'). Controls the language of names/descriptions returned."
                    },
                    "city": {
                        "title": "City slug",
                        "type": "string",
                        "description": "Glovo city URL slug, e.g. 'madrid', 'barcelona', 'milano', 'lisboa', 'warszawa'. Find it in a Glovo city URL: glovoapp.com/{country}/{language}/{city-slug}/."
                    },
                    "categoryId": {
                        "title": "Category ID",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Glovo numeric store category. 1 = Restaurants (verified, largest category in every city). Other IDs (e.g. 3, 4, 22) map to supermarkets/shops/pharmacies etc. and vary by city — find them in a Glovo category URL, the trailing '_N' in glovoapp.com/{country}/{language}/{city}/{name}_N/. Some IDs return 0 stores in smaller cities.",
                        "default": 1
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 1,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Maximum number of dataset items to push. In 'products' mode this caps total products across all stores; in 'stores' mode it caps the number of stores."
                    },
                    "maxStores": {
                        "title": "Max stores to open (products mode)",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "In 'products' mode, how many discovered stores to open and pull the full catalogue from. Each store is one extra page fetch. Default 15 keeps runs fast; raise it to cover more of the city."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Glovo's storefront is CloudFront-fronted with no strong anti-bot on category/store pages (recon-verified) — plain datacenter proxies pass fine. RESIDENTIAL is prefilled for safety margin, matching our other delivery-platform scrapers."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
