# Helgoland Spirits Scraper (`scrapyspider/onlineshop-helgoland-wishkey-scp`) Actor

Scrape spirits, wine, and beverage products from Onlineshop Helgoland. Extract prices, stock levels, bottle sizes, EANs, distillery details, descriptions, and images in structured JSON. Supports category-based and direct URL scraping.

- **URL**: https://apify.com/scrapyspider/onlineshop-helgoland-wishkey-scp.md
- **Developed by:** [ScrapySpider](https://apify.com/scrapyspider) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

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

### What does Onlineshop Helgoland Spirits Scraper do?

This Actor scrapes **spirits, wine, and beverage products** from [onlineshop-helgoland.de](https://www.onlineshop-helgoland.de) — one of Germany's unique duty-free island shops. It crawls listing pages across 35 categories (Whisky, Rum, Gin, Vodka, Wines & more), follows every product to its detail page, and outputs a structured JSON record per product — including prices, availability, bottle size, distillery, product info box data, description, and images.

Run it on the **Apify platform** for automatic scheduling, proxy rotation, cloud storage, and API/webhook integrations. Try it directly from the Apify Console input form — no coding required.

### Why use this Actor?

- **Price monitoring** — track current and crossed-out list prices across the full catalog
- **Inventory tracking** — know which products are in stock and how many units remain
- **Catalog enrichment** — export structured product data (EAN, distillery, bottle size, age) for PIM or e-commerce systems
- **Market research** — analyse duty-free spirits pricing across categories and origins
- **Competitor intelligence** — monitor new arrivals, rare bottles, and gift sets

### How to use it

1. Open the Actor on Apify Console and click **Try for free**
2. Choose your input method:
   - **Spirit Categories** — select one or more categories from the multi-select dropdown
   - **Start URLs** — paste specific listing or product page URLs directly
3. Select the **Website Language** (`English` or `German`) to match the category slugs
4. Optionally set **Max Requests Per Crawl** to limit the run size
5. Click **Save & Run** — results appear in the **Output** tab as they arrive

### Input

Configure the Actor via the **Input** tab in Apify Console or pass a JSON object.

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `startUrls` | array | `[]` | Direct listing or product URLs. Takes priority over Spirit Categories. |
| `spiritCategories` | array | `["whisky-single-malt"]` | One or more category keys to scrape. Ignored when Start URLs are provided. |
| `language` | string | `"en"` | Website language — `en` or `de`. Affects URL prefix and category slugs. |
| `maxRequestsPerCrawl` | integer | `0` (unlimited) | Cap on total pages visited (listing + detail). |
| `proxyConfiguration` | object | — | Apify Proxy or custom proxy settings. Recommended for large runs. |

**Available spirit categories** (35 total):

> Whisky Single Malt, Blended Whisky, Bourbon Whiskey, Scotch/Scotland, Ireland, USA, Japan · Rum: Brown, Gold, White, Spiced, Cuba · Gins: Dry, London Dry, New Western Dry, Flavoured, Germany · Vodka: Poland, Germany, USA, Russia · Other: Aquavit, Cognac & Brandy, Liqueur & Herbs, Fruit Brandy & Grappa, Tequila · Wines & Co.: Wine, Port Wine & Sherry, Sparkling, Champagne, Large Bottles, Gift Sets, Rarities, Helgoland Spirits, Non-Alcoholic

**Example input (category mode):**
```json
{
  "spiritCategories": ["whisky-single-malt", "whisky-bourbon"],
  "language": "en",
  "maxRequestsPerCrawl": 200
}
````

**Example input (direct URL mode):**

```json
{
  "startUrls": [
    { "url": "https://www.onlineshop-helgoland.de/en/spirits/whisky/single-malt/" }
  ]
}
```

### Output

Each scraped product is saved as one JSON item in the default dataset. You can download the dataset in various formats such as **JSON, CSV, Excel, or HTML** from the Storage tab.

**Example output record:**

```json
{
  "name": "Lagavulin 16 Years 0.7 liters 43% vol.",
  "product_url": "https://www.onlineshop-helgoland.de/en/produkte/whisky/lagavulin-16-years-0-7-liters-43-vol",
  "canonical_url": "https://www.onlineshop-helgoland.de/en/produkte/whisky/lagavulin-16-years-0-7-liters-43-vol",
  "product_id": "5010496004339",
  "ean_code": "5010496004339",
  "shop_sku": "5010496004339",
  "main_image": "https://www.onlineshop-helgoland.de/media/image/product/xxx/lg/lagavulin-16.jpg",
  "images": ["https://..."],
  "price_current": 52.95,
  "price_old": 59.95,
  "price_per_liter": 75.64,
  "availability_enum": "in_stock",
  "total_stock": "12+",
  "bottle_size_text": "0.7 Liter",
  "bottle_size_ml": 700,
  "age_years": 16,
  "distillery": "Lagavulin",
  "product_info": {
    "Age class": "16 Years",
    "Type": "Peated, Single Malt",
    "Country / Region": "Scotland",
    "Content": "0.7 l"
  },
  "description": "Lagavulin 16 is one of the classic Islay single malts…",
  "breadcrumbs": ["Spirits", "Whisky", "Single Malt"],
  "scrape_run_id": "tpLehwBM52yEcMFvH",
  "timestamp_utc": "2026-05-29T07:03:25.664Z",
  "last_seen_utc": "2026-05-29T07:03:25.664Z"
}
```

### Data fields

| Field | Type | Description |
|-------|------|-------------|
| `name` | string | Full product name as shown on the page |
| `product_url` | string | URL of the product detail page |
| `canonical_url` | string | Canonical URL from `<link rel="canonical">` |
| `product_id` | string | EAN / GTIN-13 barcode |
| `ean_code` | string | Same as `product_id` |
| `shop_sku` | string | Same as `product_id` |
| `main_image` | string | Primary product image URL |
| `images` | array | All gallery image URLs |
| `price_current` | number | Current sale price in EUR |
| `price_old` | number | Crossed-out list price in EUR (if shown) |
| `price_per_liter` | number | Price per litre in EUR (if shown) |
| `availability_enum` | string | `in_stock`, `out_of_stock`, `limited`, `preorder`, or `unknown` |
| `total_stock` | string | Stock quantity indicator (e.g. `"12+"`) |
| `bottle_size_text` | string | Raw bottle size string (e.g. `"0.7 Liter"`) |
| `bottle_size_ml` | number | Bottle volume normalised to millilitres |
| `age_years` | integer | Age statement in years (null if NAS or unstated) |
| `distillery` | string | Producing distillery from manufacturer logo |
| `product_info` | object | All raw key-value pairs from the product info box |
| `description` | string | Full product description text |
| `breadcrumbs` | array | Category path (e.g. `["Spirits", "Whisky", "Single Malt"]`) |
| `scrape_run_id` | string | Apify Actor run ID |
| `timestamp_utc` | string | UTC timestamp when the item was scraped |
| `last_seen_utc` | string | UTC timestamp of the most recent successful scrape |

### Cost estimation

Helgoland Spirits Scraper uses **Puppeteer (headless Chrome)** which consumes more compute units than plain HTTP scrapers. Typical performance:

- \~1–2 seconds per detail page
- \~50 products per listing page
- A full category (1–3 pages) = roughly 50–150 detail pages

**Rough compute unit estimates:**

| Run scope | Pages | Estimated CUs |
|-----------|-------|---------------|
| 1 category (50 products) | ~51 | ~0.5 CU |
| 5 categories (~250 products) | ~260 | ~2–3 CU |
| Full catalog (~1 750 products) | ~1 800 | ~15–20 CU |

Apify's **Free plan** includes 5 CUs/month — enough for targeted category runs. Use `maxRequestsPerCrawl` to cap cost on test runs.

### Tips

- **Use Start URLs** when you want to scrape a single specific product or a custom listing page
- **Set `maxRequestsPerCrawl: 50`** for a quick test run before committing to a full crawl
- **Enable Apify Proxy** (`useApifyProxy: true`) for large runs to avoid rate limiting
- **Products with size variants** (e.g. 0.7L and 1L options) produce one dataset record per variant, each with its own price and images
- **German language** (`language: "de"`) uses different category slugs — useful if you need DE-language descriptions

### FAQ & Legal

**Is scraping onlineshop-helgoland.de legal?**
Web scraping publicly available product data is generally permitted for personal or research use. Always comply with the site's Terms of Service and do not overload the server. This Actor implements rate limiting and retries to behave as a polite crawler.

**What if some fields are null?**
Fields are null only when the information is genuinely absent from the product page. No values are inferred or generated.

**Products with multiple sizes show duplicate records — is that correct?**
Yes. Each size variant (configurator option) produces its own dataset row with the correct price, image, and bottle size for that variant.

**Something broken or a feature request?**
Open an issue in the Issues tab or contact us via the Apify Console.

# Actor input Schema

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

Directly provide listing or product page URLs to scrape. If provided, the Spirit Categories selection is ignored.

## `spiritCategories` (type: `array`):

Select one or more spirit categories to scrape. URLs are built automatically based on your language selection. Ignored if Start URLs are provided.

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

Language version of the website to scrape. Affects both the base URL prefix (/en/ or /de/) and category slugs.

## `maxPages` (type: `integer`):

Maximum number of listing pages to crawl per category. Set to 0 for unlimited.

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

Maximum total number of product records to save to the dataset. Set to 0 for unlimited.

## `maxRequestsPerCrawl` (type: `integer`):

Maximum number of pages to visit (listing + detail combined). Set to 0 for unlimited.

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

Proxy settings. Recommended to avoid blocks on repeated runs.

## Actor input object example

```json
{
  "startUrls": [],
  "spiritCategories": [
    "whisky-single-malt"
  ],
  "language": "en",
  "maxPages": 1,
  "maxResults": 10,
  "maxRequestsPerCrawl": 0,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

## `runDetails` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "spiritCategories": [
        "whisky-single-malt"
    ],
    "maxPages": 1,
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapyspider/onlineshop-helgoland-wishkey-scp").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 = {
    "spiritCategories": ["whisky-single-malt"],
    "maxPages": 1,
    "maxResults": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapyspider/onlineshop-helgoland-wishkey-scp").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 '{
  "spiritCategories": [
    "whisky-single-malt"
  ],
  "maxPages": 1,
  "maxResults": 10
}' |
apify call scrapyspider/onlineshop-helgoland-wishkey-scp --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapyspider/onlineshop-helgoland-wishkey-scp",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Helgoland Spirits Scraper",
        "description": "Scrape spirits, wine, and beverage products from Onlineshop Helgoland. Extract prices, stock levels, bottle sizes, EANs, distillery details, descriptions, and images in structured JSON. Supports category-based and direct URL scraping.",
        "version": "0.0",
        "x-build-id": "nYHol7eKU7fgKwfhG"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapyspider~onlineshop-helgoland-wishkey-scp/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapyspider-onlineshop-helgoland-wishkey-scp",
                "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/scrapyspider~onlineshop-helgoland-wishkey-scp/runs": {
            "post": {
                "operationId": "runs-sync-scrapyspider-onlineshop-helgoland-wishkey-scp",
                "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/scrapyspider~onlineshop-helgoland-wishkey-scp/run-sync": {
            "post": {
                "operationId": "run-sync-scrapyspider-onlineshop-helgoland-wishkey-scp",
                "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": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Directly provide listing or product page URLs to scrape. If provided, the Spirit Categories selection is ignored.",
                        "default": [],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "spiritCategories": {
                        "title": "Spirit Categories",
                        "type": "array",
                        "description": "Select one or more spirit categories to scrape. URLs are built automatically based on your language selection. Ignored if Start URLs are provided.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "whisky-single-malt",
                                "whisky-blended",
                                "whisky-bourbon",
                                "whisky-scotch",
                                "whisky-ireland",
                                "whisky-usa",
                                "whisky-japan",
                                "rum-brown",
                                "rum-gold",
                                "rum-white",
                                "rum-spiced",
                                "rum-cuba",
                                "gins-dry",
                                "gins-london-dry",
                                "gins-new-western-dry",
                                "gins-flavoured",
                                "gins-germany",
                                "vodka-poland",
                                "vodka-germany",
                                "vodka-usa",
                                "vodka-russia",
                                "other-aquavit",
                                "other-cognac",
                                "other-liqueur",
                                "other-fruit-brandy",
                                "other-tequila",
                                "wines-wine",
                                "wines-port-sherry",
                                "wines-sparkling",
                                "wines-champagne",
                                "wines-large-bottles",
                                "wines-gift-sets",
                                "wines-rarities",
                                "wines-helgoland",
                                "wines-non-alcoholic"
                            ],
                            "enumTitles": [
                                "Whisky — Single Malt",
                                "Whisky — Blended Whisky",
                                "Whisky — Bourbon Whiskey",
                                "Whisky — Scotch / Scotland",
                                "Whisky — Ireland",
                                "Whisky — USA",
                                "Whisky — Japan",
                                "Rum — Brown Rum",
                                "Rum — Gold Rum",
                                "Rum — White Rum",
                                "Rum — Spiced Rum",
                                "Rum — Cuba Rum",
                                "Gins — Dry",
                                "Gins — London Dry",
                                "Gins — New Western Dry",
                                "Gins — Flavoured",
                                "Gins — Germany",
                                "Vodka — Poland",
                                "Vodka — Germany",
                                "Vodka — USA",
                                "Vodka — Russia",
                                "Other — Aquavit",
                                "Other — Cognac & Brandy",
                                "Other — Liqueur & Herbs",
                                "Other — Fruit Brandy & Grappa",
                                "Other — Tequila",
                                "Wines & Co. — Wine",
                                "Wines & Co. — Port Wine & Sherry",
                                "Wines & Co. — Sparkling Wine & Prosecco",
                                "Wines & Co. — Champagne",
                                "Wines & Co. — Large Bottles",
                                "Wines & Co. — Gift Sets",
                                "Wines & Co. — Rarities",
                                "Wines & Co. — Helgoland Spirits",
                                "Wines & Co. — Non-Alcoholic"
                            ]
                        },
                        "default": [
                            "whisky-single-malt"
                        ]
                    },
                    "language": {
                        "title": "Website Language",
                        "enum": [
                            "en",
                            "de"
                        ],
                        "type": "string",
                        "description": "Language version of the website to scrape. Affects both the base URL prefix (/en/ or /de/) and category slugs.",
                        "default": "en"
                    },
                    "maxPages": {
                        "title": "Max Pages Per Category",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of listing pages to crawl per category. Set to 0 for unlimited.",
                        "default": 0
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum total number of product records to save to the dataset. Set to 0 for unlimited.",
                        "default": 0
                    },
                    "maxRequestsPerCrawl": {
                        "title": "Max Requests Per Crawl",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of pages to visit (listing + detail combined). Set to 0 for unlimited.",
                        "default": 0
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Recommended to avoid blocks on repeated runs.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
