# Cult Beauty Scraper (`crawlerbros/cult-beauty-scraper`) Actor

Scrape Cult Beauty (cultbeauty.co.uk) - browse by category, brand, or skin concern, search by keyword, and filter by price, rating, and sale status. Get product name, brand, price (with sale/original price), rating, review count, image, and product URL.

- **URL**: https://apify.com/crawlerbros/cult-beauty-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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

## Cult Beauty Scraper

Scrape **Cult Beauty** (cultbeauty.co.uk) — the UK's leading luxury beauty retailer. Browse any category, brand, or skin-concern page, or search by keyword, and get product name, brand, current + original price, discount, rating, review count, image, and product URL. HTTP-only, no login, no proxy required.

### What this actor does

- **Three modes:** `category` (browse skincare/makeup/haircare/fragrance and 45+ curated sub-categories), `search` (free-text keyword), `brand` (curated top-brand directory or any custom brand name)
- **Full-catalog pagination:** browsing a top-level category (skincare, makeup, hair care, fragrance, body & wellness) or any brand pulls from Cult Beauty's deep `shop-all` listing (hundreds to 1,000+ products per category) rather than the ~10-30 item curated preview shown on the plain category/brand page
- **Skin-concern filter:** dry, oily, sensitive, combination, acne-prone, fine lines, hyperpigmentation, and more
- **Filters:** price range, minimum rating, sale-only
- **Sort:** relevance, price low/high, rating, discount
- **Sale pricing:** both current and original (RRP) price surfaced when a product is discounted
- **Empty fields are omitted** — every field on every record is real, populated data

### Output per product

- `sku` — Cult Beauty product/SKU ID
- `title` — product name
- `brand` — brand name
- `currentPrice`, `originalPrice` — GBP; `originalPrice` only present when the item is on sale
- `discountPercent` — computed from current vs. original price
- `currency` — always `GBP`
- `category` — the category/brand/skin-concern page the product was found under
- `rating` — average customer rating (0–5)
- `reviewCount` — number of customer reviews
- `imageUrl` — product photo
- `productUrl` — canonical Cult Beauty product page
- `description` — short product description
- `inStock` — availability
- `recordType: "product"`, `scrapedAt`

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `category` | `category` / `search` / `brand` |
| `category` | string | `skincare` | Curated category (mode=category) |
| `customCategoryUrl` | string | – | Override with any Cult Beauty listing path (advanced) |
| `searchQuery` | string | `vitamin c serum` | Free-text keyword (mode=search) |
| `brand` | string | `the-ordinary` | Curated brand (mode=brand) |
| `customBrand` | string | – | Any brand name not in the curated list (mode=brand) |
| `skinType` | string | `any` | Restrict to a skin-concern page; overrides category/brand |
| `onSaleOnly` | boolean | `false` | Only emit discounted products |
| `minPrice` / `maxPrice` | number | – | GBP price range on current price |
| `minRating` | number | – | Minimum average rating (0–5) |
| `sortBy` | string | `relevance` | `relevance` / `priceLowToHigh` / `priceHighToLow` / `ratingHighToLow` / `discountHighToLow` / `nameAlphabetically` |
| `maxItems` | integer | `20` | Hard cap on emitted products (1–300) |

#### Example: browse a category

```json
{
  "mode": "category",
  "category": "skincare",
  "maxItems": 20
}
````

#### Example: keyword search with price filter

```json
{
  "mode": "search",
  "searchQuery": "retinol serum",
  "minPrice": 10,
  "maxPrice": 50,
  "maxItems": 20
}
```

#### Example: browse a brand, sale items only

```json
{
  "mode": "brand",
  "brand": "the-ordinary",
  "onSaleOnly": true,
  "sortBy": "discountHighToLow"
}
```

#### Example: skin-concern filter

```json
{
  "mode": "category",
  "skinType": "dry-skin",
  "minRating": 4,
  "maxItems": 30
}
```

### Use cases

- **Price monitoring** — track sale prices and discounts across a brand or category
- **Market research** — benchmark luxury beauty product ranges and ratings
- **Content & affiliate sites** — pull fresh product data with images and links for beauty round-ups
- **Trend tracking** — monitor new arrivals and bestsellers by category
- **Competitive analysis** — compare brand catalogs and pricing on the UK's top beauty retailer

### FAQ

**Is this affiliated with Cult Beauty?**
No — this is an independent, third-party actor that reads Cult Beauty's public product pages. It is not affiliated with or endorsed by Cult Beauty.

**Do I need a login or API key?**
No. All data comes from publicly accessible pages.

**Why do some products have no `originalPrice`?**
`originalPrice` only appears when a product is currently discounted from its RRP. Full-price items only have `currentPrice`.

**How is `category` determined?**
It reflects the breadcrumb of the category, brand, or skin-concern page the product was found under, not a fixed per-product taxonomy.

**Can I search for any brand, not just the curated list?**
Yes — set `mode` to `brand` and use `customBrand` with any brand name; it overrides the curated `brand` dropdown.

**Why did an old version return so few products per category/brand?**
Cult Beauty's plain category and brand pages (e.g. `/c/skin-care/`, `/c/brands/nars/`) only render a small curated preview (~10-30 items) with no pagination at all. The actor now targets the site's `shop-all` listing for these, which paginates through the real catalog (skincare alone has 100+ pages). A handful of small-catalog brands don't have a `shop-all` page; the actor automatically falls back to the plain brand page for those.

**How fresh is the data?**
Every run scrapes live pages at request time, so prices, sale status, and ratings are current as of the run.

# Actor input Schema

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

What to fetch.

## `category` (type: `string`):

Curated Cult Beauty category or product-type page to browse.

## `customCategoryUrl` (type: `string`):

Override `category` with any Cult Beauty listing path or URL, e.g. `/c/skin-care/ingredients/retinol/`.

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

Free-text keyword search, e.g. `vitamin c serum`.

## `brand` (type: `string`):

Curated top brand to browse. Use `customBrand` for any other brand.

## `customBrand` (type: `string`):

Any brand name not in the curated list (mode=brand). Overrides `brand`.

## `skinType` (type: `string`):

Restrict to a skin-concern page (e.g. Dry Skin). Overrides `category`/`brand` when set.

## `onSaleOnly` (type: `boolean`):

Only emit products currently discounted from RRP.

## `minPrice` (type: `number`):

Drop products cheaper than this (current price).

## `maxPrice` (type: `number`):

Drop products pricier than this (current price).

## `minRating` (type: `number`):

Drop products with an average rating below this.

## `sortBy` (type: `string`):

Order of emitted results.

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

Hard cap on emitted product records.

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

Cult Beauty is normally reachable without a proxy. Kept as a free Apify (AUTO / datacenter) fallback the actor auto-escalates to if it hits repeated 403/429 responses.

## Actor input object example

```json
{
  "mode": "category",
  "category": "skincare",
  "searchQuery": "vitamin c serum",
  "brand": "the-ordinary",
  "skinType": "any",
  "onSaleOnly": false,
  "sortBy": "relevance",
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `products` (type: `string`):

Dataset containing all scraped Cult Beauty products.

# 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": "category",
    "category": "skincare",
    "searchQuery": "vitamin c serum",
    "brand": "the-ordinary",
    "skinType": "any",
    "onSaleOnly": false,
    "sortBy": "relevance",
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/cult-beauty-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": "category",
    "category": "skincare",
    "searchQuery": "vitamin c serum",
    "brand": "the-ordinary",
    "skinType": "any",
    "onSaleOnly": False,
    "sortBy": "relevance",
    "maxItems": 10,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/cult-beauty-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": "category",
  "category": "skincare",
  "searchQuery": "vitamin c serum",
  "brand": "the-ordinary",
  "skinType": "any",
  "onSaleOnly": false,
  "sortBy": "relevance",
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call crawlerbros/cult-beauty-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Cult Beauty Scraper",
        "description": "Scrape Cult Beauty (cultbeauty.co.uk) - browse by category, brand, or skin concern, search by keyword, and filter by price, rating, and sale status. Get product name, brand, price (with sale/original price), rating, review count, image, and product URL.",
        "version": "1.0",
        "x-build-id": "yn6m2lP7v06bXPKzS"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~cult-beauty-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-cult-beauty-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/crawlerbros~cult-beauty-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-cult-beauty-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/crawlerbros~cult-beauty-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-cult-beauty-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": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "category",
                            "search",
                            "brand"
                        ],
                        "type": "string",
                        "description": "What to fetch.",
                        "default": "category"
                    },
                    "category": {
                        "title": "Category (mode=category)",
                        "enum": [
                            "skincare",
                            "makeup",
                            "haircare",
                            "fragrance",
                            "body-wellness",
                            "sale",
                            "new-trending",
                            "minis",
                            "gifts",
                            "value-sets",
                            "cleansers-toners-mists",
                            "moisturisers-serums",
                            "moisturisers",
                            "serums",
                            "masks-exfoliators",
                            "eyes-lips-skincare",
                            "skin-care-tools",
                            "korean-skincare",
                            "led-masks",
                            "retinol",
                            "vitamin-c",
                            "hyaluronic-acid",
                            "niacinamide",
                            "spf-face",
                            "complexion",
                            "foundation",
                            "concealer",
                            "eyes-makeup",
                            "mascara",
                            "eyeshadow",
                            "lips-makeup",
                            "lipsticks",
                            "lipglosses",
                            "brows",
                            "brushes-tools",
                            "nails",
                            "shampoos",
                            "conditioners",
                            "hair-oils",
                            "hair-styling",
                            "hair-tools",
                            "perfumes",
                            "eau-de-parfum",
                            "eau-de-toilette",
                            "body-mists",
                            "discovery-sets",
                            "home-fragrance",
                            "sun-protection",
                            "self-tanners",
                            "body-moisturisers",
                            "body-cleansers",
                            "bath-oils-bubbles-soaks"
                        ],
                        "type": "string",
                        "description": "Curated Cult Beauty category or product-type page to browse.",
                        "default": "skincare"
                    },
                    "customCategoryUrl": {
                        "title": "Custom category path (advanced)",
                        "type": "string",
                        "description": "Override `category` with any Cult Beauty listing path or URL, e.g. `/c/skin-care/ingredients/retinol/`."
                    },
                    "searchQuery": {
                        "title": "Search query (mode=search)",
                        "type": "string",
                        "description": "Free-text keyword search, e.g. `vitamin c serum`.",
                        "default": "vitamin c serum"
                    },
                    "brand": {
                        "title": "Brand (mode=brand)",
                        "enum": [
                            "the-ordinary",
                            "the-outset",
                            "111skin",
                            "aesop",
                            "allies-of-skin",
                            "alpha-h",
                            "amika",
                            "anastasia-beverly-hills",
                            "anua",
                            "armani-beauty",
                            "augustinus-bader",
                            "aveda",
                            "avene",
                            "bareminerals",
                            "beauty-of-joseon",
                            "beautyblender",
                            "benefit",
                            "biodance",
                            "bioeffect",
                            "biossance",
                            "bondi-sands",
                            "charlotte-tilbury",
                            "dermalogica",
                            "drunk-elephant",
                            "elemis",
                            "fenty-beauty",
                            "foreo",
                            "glow-recipe",
                            "gisou",
                            "hourglass",
                            "isle-of-paradise",
                            "kiehls",
                            "la-mer",
                            "laneige",
                            "laura-mercier",
                            "living-proof",
                            "medik8",
                            "murad",
                            "nars",
                            "olaplex",
                            "paulas-choice",
                            "peter-thomas-roth",
                            "shiseido",
                            "sol-de-janeiro",
                            "summer-fridays",
                            "supergoop",
                            "too-faced",
                            "urban-decay",
                            "youth-to-the-people"
                        ],
                        "type": "string",
                        "description": "Curated top brand to browse. Use `customBrand` for any other brand.",
                        "default": "the-ordinary"
                    },
                    "customBrand": {
                        "title": "Custom brand name (advanced)",
                        "type": "string",
                        "description": "Any brand name not in the curated list (mode=brand). Overrides `brand`."
                    },
                    "skinType": {
                        "title": "Skin concern filter",
                        "enum": [
                            "any",
                            "dry-skin",
                            "oily-skin",
                            "combination-skin",
                            "sensitive-skin",
                            "dehydrated-skin",
                            "acne-blemish-prone",
                            "fine-lines-wrinkles",
                            "dull-skin",
                            "hyperpigmentation",
                            "redness-rosacea",
                            "dark-circles",
                            "visible-pores"
                        ],
                        "type": "string",
                        "description": "Restrict to a skin-concern page (e.g. Dry Skin). Overrides `category`/`brand` when set.",
                        "default": "any"
                    },
                    "onSaleOnly": {
                        "title": "On sale only",
                        "type": "boolean",
                        "description": "Only emit products currently discounted from RRP.",
                        "default": false
                    },
                    "minPrice": {
                        "title": "Min price (GBP)",
                        "minimum": 0,
                        "maximum": 100000,
                        "type": "number",
                        "description": "Drop products cheaper than this (current price)."
                    },
                    "maxPrice": {
                        "title": "Max price (GBP)",
                        "minimum": 0,
                        "maximum": 100000,
                        "type": "number",
                        "description": "Drop products pricier than this (current price)."
                    },
                    "minRating": {
                        "title": "Min rating (0-5)",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "number",
                        "description": "Drop products with an average rating below this."
                    },
                    "sortBy": {
                        "title": "Sort by",
                        "enum": [
                            "relevance",
                            "priceLowToHigh",
                            "priceHighToLow",
                            "ratingHighToLow",
                            "discountHighToLow",
                            "nameAlphabetically"
                        ],
                        "type": "string",
                        "description": "Order of emitted results.",
                        "default": "relevance"
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 300,
                        "type": "integer",
                        "description": "Hard cap on emitted product records.",
                        "default": 20
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Cult Beauty is normally reachable without a proxy. Kept as a free Apify (AUTO / datacenter) fallback the actor auto-escalates to if it hits repeated 403/429 responses.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
