# ASDA UK Product & Price Scraper (`dromb/asda-uk-product-price-availability`) Actor

ASDA UK product, price, promotion, taxonomy and store-scoped availability Actor.

- **URL**: https://apify.com/dromb/asda-uk-product-price-availability.md
- **Developed by:** [Dmitriy Gyrbu](https://apify.com/dromb) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.30 / 1,000 results

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

## ASDA UK Product & Price Scraper

Extract live ASDA UK grocery products, regional prices, promotions, ratings, taxonomy, and store-scoped availability in structured form — without browser automation.

Use this Actor for price monitoring, FMCG research, product matching, assortment analysis, availability checks, and scheduled grocery-data workflows.

> This is an independent, unofficial Actor. It is not affiliated with, endorsed by, or sponsored by ASDA. Use the data responsibly and follow applicable laws and website terms.

### Why use this scraper?

- **Fast product lookup:** search by keyword or retrieve an exact product by CIN.
- **Batch matching:** check up to 100 known CINs in one bounded request.
- **Regional price fields:** select England, Scotland, Wales, or Northern Ireland pricing and promotion data.
- **Store-aware availability:** request stock status for a manually supplied commerce store ID.
- **Category intelligence:** target a known category or shelf taxonomy ID.
- **Search demand discovery:** collect ASDA query suggestions as ranking signals.
- **Low-overhead runs:** the proven default route does not require a browser or proxy.
- **Trustworthy semantics:** unknown identifiers and stock quantities are not fabricated.

### Common use cases

- Monitor current and previous prices for a product basket.
- Track promotion windows and verified price reductions.
- Compare unit prices across pack sizes and regions.
- Check whether known products are available for a selected store context.
- Match internal catalog records to ASDA CINs in batches.
- Build keyword lists from live query suggestions.
- Schedule recurring exports to JSON, CSV, Excel, XML, RSS, Google Sheets, or a webhook.

### Quick start

The default input performs a small keyword search and returns up to 20 products:

```json
{
  "task": "search",
  "query": "milk",
  "maxItems": 20,
  "priceRegion": "EN",
  "commerceStoreId": "4565"
}
````

### Supported tasks

| Task | Purpose | Required input |
|---|---|---|
| `search` | Search products by keyword | `query` |
| `category` | Retrieve products from a known category | `categoryId` |
| `shelf` | Retrieve products from a known shelf | `shelfId` |
| `exact_product` | Retrieve one product by CIN | `cin` |
| `product_batch` | Retrieve up to 100 known products | `cins` |
| `suggestions` | Retrieve search query suggestions | `query` |

Category and shelf IDs are exposed in product taxonomy output, so a known result can be used to seed a later taxonomy run.

#### Exact product

```json
{
  "task": "exact_product",
  "cin": "165468",
  "priceRegion": "EN",
  "commerceStoreId": "4565"
}
```

#### Product batch

```json
{
  "task": "product_batch",
  "cins": ["165468", "2041527", "489747"],
  "priceRegion": "EN",
  "commerceStoreId": "4565"
}
```

#### Only products available for a store

```json
{
  "task": "search",
  "query": "coffee",
  "maxItems": 20,
  "commerceStoreId": "4565",
  "priceRegion": "EN",
  "inStockOnly": true
}
```

#### Query suggestions

```json
{
  "task": "suggestions",
  "query": "mil",
  "maxItems": 5
}
```

### Product output

Each product Dataset row includes:

- source identifiers: CIN, Algolia object ID, source product ID, and image asset ID;
- name, brand, pack size, sales type, status, and product type;
- current price, previous price, currency, unit price, offer label, and verified discount amount;
- store-scoped availability and conservative stock semantics;
- category, department, aisle, and shelf taxonomy;
- ratings and rating count;
- normalized promotion objects with start and end times;
- product flags, validity dates, provenance, and explicit warnings.

Representative product fields:

```json
{
  "rowType": "product",
  "source": "asda_algolia",
  "identifiers": {
    "cin": "165468",
    "algoliaObjectId": "165468",
    "shopperProductsId": null,
    "imageAssetId": "20337087"
  },
  "name": "British Milk Semi Skimmed 4 Pints",
  "brand": "ASDA",
  "packSize": "4 PINT",
  "price": {
    "region": "EN",
    "current": 1.65,
    "was": 1.65,
    "currency": "GBP",
    "unitFormatted": "72.6p/LT",
    "discountVerified": false
  },
  "availability": {
    "commerceStoreId": "4565",
    "stockRaw": 0,
    "isAvailable": false,
    "exactQuantity": null,
    "quantitySemantics": "unavailable"
  }
}
```

Suggestion and structured error rows use the `suggestion` and `error` values of the `rowType` discriminator.

### Price and stock semantics

- `priceRegion` selects one of the available regional price and promotion fields: `EN`, `SC`, `WA`, or `NI`. It does not perform geolocation.
- `commerceStoreId` is a manual commerce identifier. This Actor does not convert postcodes into stores.
- `inStockOnly=true` applies a hard positive-stock filter for the selected store.
- Source stock value `999` is an availability sentinel or cap, not an exact quantity. `exactQuantity` therefore stays null.
- CIN, source product ID, image asset ID, GTIN candidate, and any future product-page identifier remain separate unless independently proven.

### Limits and reliability

- Default: 20 rows; maximum: 1,000 rows per run.
- Maximum: 100 products per source request and 100 CINs per batch.
- Pagination is deterministic and stops on repeated pages.
- Source failures produce structured error rows and a failed run; they never become silent empty success.
- Analytics are disabled.
- Full-catalogue crawling, product-page enrichment, postcode mapping, and Store Locator are not included.

### Proxy options

Direct access is the proven default. For restricted environments, you can provide encrypted custom proxy URLs and choose direct-first, proxy-first, proxy-only, or direct-only ordering. Keep proxy URLs secret and rotate credentials if they are exposed outside Actor input.

### Dataset and run summary

Results are written to the default Dataset and can be downloaded from the Apify Console or API. The `RUN_SUMMARY` record in the default key-value store contains status, limits, source metrics, and structured errors without duplicating Dataset items.

### Responsible use

Collect only publicly available product information. Do not use this Actor for unlawful activity, excessive load, personal-data collection, or attempts to bypass access controls. You are responsible for complying with ASDA's terms and all applicable laws.

# Actor input Schema

## `task` (type: `string`):

Choose keyword search, taxonomy lookup, exact CIN, CIN batch, or query suggestions.

## `query` (type: `string`):

Keyword required by search and suggestions, for example milk, coffee, or shampoo.

## `cin` (type: `string`):

ASDA CIN required by exact\_product. CINs are returned in product identifiers.

## `cins` (type: `array`):

CINs required by product\_batch. Retrieve up to 100 unique known products in one run.

## `categoryId` (type: `string`):

Category taxonomy ID required by category. IDs are available in product taxonomy output.

## `shelfId` (type: `string`):

Shelf taxonomy ID required by shelf. IDs are available in product taxonomy output.

## `priceRegion` (type: `string`):

Select England, Scotland, Wales, or Northern Ireland price and promotion fields. This is field selection, not geolocation.

## `commerceStoreId` (type: `string`):

Manual ASDA commerce store ID used for store-scoped availability. Postcode conversion is not included.

## `inStockOnly` (type: `boolean`):

Return only products with positive source stock for the selected commerce store ID.

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

Maximum Dataset rows. The quick default is 20 and the hard maximum is 1,000.

## `pageStart` (type: `integer`):

Zero-based Algolia page number.

## `hitsPerPage` (type: `integer`):

Maximum 100.

## `includeSponsored` (type: `boolean`):

Turn off to exclude sponsored products from source results.

## `includePromotions` (type: `boolean`):

Include normalized promotion objects and their validity windows when supplied.

## `includeRatings` (type: `boolean`):

Include rating average and rating count when supplied.

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

Deterministic is recommended. Storefront parity adds source ranking hints while preserving hard filters.

## `requestDelayMs` (type: `integer`):

Optional delay between successful source requests.

## `timeoutSecs` (type: `integer`):

Per-request timeout.

## `maxRetries` (type: `integer`):

Number of retries for retryable network, HTTP, or invalid-response failures.

## `proxyMode` (type: `string`):

Direct access is the proven default. Choose how optional custom proxies should be attempted.

## `proxyUrls` (type: `array`):

Encrypted custom HTTP proxy URLs. Required by proxy-first and proxy-only modes.

## Actor input object example

```json
{
  "task": "search",
  "query": "milk",
  "cin": "165468",
  "cins": [
    "165468",
    "2041527"
  ],
  "categoryId": "1215660378320",
  "shelfId": "1215339438036",
  "priceRegion": "EN",
  "commerceStoreId": "4565",
  "inStockOnly": false,
  "maxItems": 20,
  "pageStart": 0,
  "hitsPerPage": 60,
  "includeSponsored": true,
  "includePromotions": true,
  "includeRatings": true,
  "mode": "deterministic",
  "requestDelayMs": 200,
  "timeoutSecs": 30,
  "maxRetries": 2,
  "proxyMode": "direct_only"
}
```

# Actor output Schema

## `results` (type: `string`):

Default Dataset containing product, suggestion or error rows.

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

Status, source metrics, limits and structured errors.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("dromb/asda-uk-product-price-availability").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("dromb/asda-uk-product-price-availability").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 '{}' |
apify call dromb/asda-uk-product-price-availability --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=dromb/asda-uk-product-price-availability",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "ASDA UK Product & Price Scraper",
        "description": "ASDA UK product, price, promotion, taxonomy and store-scoped availability Actor.",
        "version": "1.0",
        "x-build-id": "MNc3xSq8eM1vTDV8x"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/dromb~asda-uk-product-price-availability/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-dromb-asda-uk-product-price-availability",
                "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/dromb~asda-uk-product-price-availability/runs": {
            "post": {
                "operationId": "runs-sync-dromb-asda-uk-product-price-availability",
                "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/dromb~asda-uk-product-price-availability/run-sync": {
            "post": {
                "operationId": "run-sync-dromb-asda-uk-product-price-availability",
                "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": [
                    "task"
                ],
                "properties": {
                    "task": {
                        "title": "Task",
                        "enum": [
                            "search",
                            "category",
                            "shelf",
                            "exact_product",
                            "product_batch",
                            "suggestions"
                        ],
                        "type": "string",
                        "description": "Choose keyword search, taxonomy lookup, exact CIN, CIN batch, or query suggestions.",
                        "default": "search"
                    },
                    "query": {
                        "title": "Search query",
                        "minLength": 1,
                        "maxLength": 300,
                        "type": "string",
                        "description": "Keyword required by search and suggestions, for example milk, coffee, or shampoo.",
                        "default": "milk"
                    },
                    "cin": {
                        "title": "Exact CIN",
                        "pattern": "^[0-9]+$",
                        "type": "string",
                        "description": "ASDA CIN required by exact_product. CINs are returned in product identifiers.",
                        "default": "165468"
                    },
                    "cins": {
                        "title": "CIN batch",
                        "minItems": 1,
                        "maxItems": 100,
                        "uniqueItems": true,
                        "type": "array",
                        "description": "CINs required by product_batch. Retrieve up to 100 unique known products in one run.",
                        "items": {
                            "type": "string",
                            "pattern": "^[0-9]+$"
                        },
                        "default": [
                            "165468",
                            "2041527",
                            "489747"
                        ]
                    },
                    "categoryId": {
                        "title": "Category ID",
                        "pattern": "^[0-9]+$",
                        "minLength": 1,
                        "type": "string",
                        "description": "Category taxonomy ID required by category. IDs are available in product taxonomy output.",
                        "default": "1215660378320"
                    },
                    "shelfId": {
                        "title": "Shelf ID",
                        "pattern": "^[0-9]+$",
                        "minLength": 1,
                        "type": "string",
                        "description": "Shelf taxonomy ID required by shelf. IDs are available in product taxonomy output.",
                        "default": "1215339438036"
                    },
                    "priceRegion": {
                        "title": "Price field region",
                        "enum": [
                            "EN",
                            "SC",
                            "WA",
                            "NI"
                        ],
                        "type": "string",
                        "description": "Select England, Scotland, Wales, or Northern Ireland price and promotion fields. This is field selection, not geolocation.",
                        "default": "EN"
                    },
                    "commerceStoreId": {
                        "title": "Commerce store ID",
                        "pattern": "^[0-9]+$",
                        "minLength": 1,
                        "maxLength": 50,
                        "type": "string",
                        "description": "Manual ASDA commerce store ID used for store-scoped availability. Postcode conversion is not included.",
                        "default": "4565"
                    },
                    "inStockOnly": {
                        "title": "Only products available at the selected store",
                        "type": "boolean",
                        "description": "Return only products with positive source stock for the selected commerce store ID.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Maximum results",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum Dataset rows. The quick default is 20 and the hard maximum is 1,000.",
                        "default": 20
                    },
                    "pageStart": {
                        "title": "Starting page",
                        "minimum": 0,
                        "maximum": 999,
                        "type": "integer",
                        "description": "Zero-based Algolia page number.",
                        "default": 0
                    },
                    "hitsPerPage": {
                        "title": "Results per source request",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum 100.",
                        "default": 60
                    },
                    "includeSponsored": {
                        "title": "Include sponsored products",
                        "type": "boolean",
                        "description": "Turn off to exclude sponsored products from source results.",
                        "default": true
                    },
                    "includePromotions": {
                        "title": "Include promotions",
                        "type": "boolean",
                        "description": "Include normalized promotion objects and their validity windows when supplied.",
                        "default": true
                    },
                    "includeRatings": {
                        "title": "Include ratings",
                        "type": "boolean",
                        "description": "Include rating average and rating count when supplied.",
                        "default": true
                    },
                    "mode": {
                        "title": "Search mode",
                        "enum": [
                            "deterministic",
                            "storefront_parity"
                        ],
                        "type": "string",
                        "description": "Deterministic is recommended. Storefront parity adds source ranking hints while preserving hard filters.",
                        "default": "deterministic"
                    },
                    "requestDelayMs": {
                        "title": "Delay after each source request",
                        "minimum": 0,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Optional delay between successful source requests.",
                        "default": 200
                    },
                    "timeoutSecs": {
                        "title": "Request timeout",
                        "minimum": 5,
                        "maximum": 60,
                        "type": "integer",
                        "description": "Per-request timeout.",
                        "default": 30
                    },
                    "maxRetries": {
                        "title": "Maximum retries",
                        "minimum": 0,
                        "maximum": 3,
                        "type": "integer",
                        "description": "Number of retries for retryable network, HTTP, or invalid-response failures.",
                        "default": 2
                    },
                    "proxyMode": {
                        "title": "Direct/proxy order",
                        "enum": [
                            "direct_only",
                            "direct_first",
                            "proxy_first",
                            "proxy_only"
                        ],
                        "type": "string",
                        "description": "Direct access is the proven default. Choose how optional custom proxies should be attempted.",
                        "default": "direct_only"
                    },
                    "proxyUrls": {
                        "title": "Custom proxy URLs",
                        "maxItems": 5,
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Encrypted custom HTTP proxy URLs. Required by proxy-first and proxy-only modes.",
                        "items": {
                            "type": "string",
                            "minLength": 8
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
