# NZ Active Lifestyle Retailer Discovery (`k0nkupa/nz-active-lifestyle-retailer-discovery`) Actor

Discovers likely New Zealand active-lifestyle retailers from public sources, scores evidence, and extracts catalog intelligence where available.

- **URL**: https://apify.com/k0nkupa/nz-active-lifestyle-retailer-discovery.md
- **Developed by:** [Tony Le](https://apify.com/k0nkupa) (community)
- **Categories:** E-commerce, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 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

## NZ Active Lifestyle Retailer Discovery

### What it does

NZ Active Lifestyle Retailer Discovery finds likely New Zealand active-lifestyle retailers from configured public sources, scores the evidence for each candidate, and extracts catalog intelligence where public catalog data is available.

This Actor discovers likely retailers from configured public sources and crawlable public pages. It does not guarantee complete coverage of the New Zealand retail market.

Use it to build a working discovery dataset for outdoor, camping, hiking, surf, sports, activewear, travel gear, footwear, hunting, fishing, pack, and apparel retailers. It can emit retailer rows, product rows, and a summary row in the default Apify dataset.

### What it does not guarantee

This Actor does not guarantee that every New Zealand retailer is discovered, that every discovered candidate is definitely a retailer, or that every retailer has an extractable product catalog.

Public sources can be incomplete, stale, blocked, or unavailable. Some retailers block catalog endpoints, use unsupported commerce platforms, hide products behind JavaScript or bot protection, or expose only partial public pages. Those cases are still useful signals, so the Actor keeps retailer rows with `catalogStatus` and `failureReason` values instead of silently dropping them.

### Firecrawl API key

Firecrawl is used for discovery crawling and generic product extraction from crawlable public pages. Provide `firecrawlApiKey` for `discoverAndExtract` and `discoverOnly` runs.

`extractOnly` can run without Firecrawl when you provide direct Shopify storefront URLs in `storeUrls`; in that case the Actor attempts public `/products.json` extraction only. If Firecrawl is configured for `extractOnly`, the Actor can also sample product-like data from non-Shopify public pages.

You control Firecrawl cost and limits. Use run mode, `useDefaultDiscoverySources`, `discoverySources`, `queryThemes`, `maxRetailers`, `maxProductsPerGenericStore`, and your Firecrawl account settings to cap the amount of crawling and extraction. The Actor does not bypass Firecrawl account limits.

### Run modes

- `discoverAndExtract`: discovers retailer candidates, scores them, then attempts catalog extraction for candidates that meet the confidence threshold.
- `discoverOnly`: discovers and scores retailer candidates without product extraction.
- `extractOnly`: skips discovery and extracts from `storeUrls`; this is the lowest-cost mode for known Shopify storefronts.

### Inputs

- `mode`: selects discovery, extraction, or both.
- `firecrawlApiKey`: Firecrawl key for discovery and generic extraction.
- `useDefaultDiscoverySources`: includes curated public New Zealand tourism and shopping source pages.
- `discoverySources`: additional public source URLs to crawl for retailer candidates.
- `queryThemes`: search phrases used during discovery.
- `storeUrls`: direct retailer URLs for extraction, especially in `extractOnly`.
- `scopeKeywords`: active-lifestyle terms used for evidence scoring.
- `excludeDomains`: domains to skip.
- `maxRetailers`: maximum scored retailers retained for extraction or output.
- `maxProductsPerShopifyStore`: cap for public Shopify `/products.json` rows per store.
- `maxProductsPerGenericStore`: cap for Firecrawl generic product extraction per store.
- `minRetailerConfidence`: minimum retailer confidence required before extraction.
- `currency`: currency label for prices, usually `NZD`.
- `includeSummaries`: emits a summary row when enabled.

### Output rows

The default dataset can contain three row types:

- `retailer`: one row per discovered or supplied retailer, including `retailerName`, `canonicalDomain`, `platform`, `catalogStatus`, confidence scores, source evidence, and failure details when extraction is not available.
- `product`: one row per extracted product or variant, including `title`, `classifiedCategory`, `price`, `compareAtPrice`, `isMarkdown`, `discountPct`, `extractionMethod`, `productConfidence`, `sourceUrl`, and `productUrl`.
- `summary`: aggregate counts for discovered retailers, extracted retailers, catalog statuses, platforms, confidence tiers, and product categories.

You can download the default dataset from Apify in JSON, CSV, Excel, HTML, XML, or RSS formats.

Blocked and unsupported retailers remain visible as retailer rows. For example, a store can have `catalogStatus` values such as `blocked`, `unsupported`, `failed`, `noProducts`, `notAttempted`, `extracted`, or `partial`, with `failureReason` explaining the reason when known.

### Confidence and evidence

`retailerConfidence` reflects evidence that the candidate is a New Zealand retailer. `activeLifestyleConfidence` reflects evidence that the candidate fits the active-lifestyle scope. `confidenceTier` summarizes the combined signal as `high`, `medium`, or `low`.

Product rows also include `productConfidence`. Shopify `/products.json` rows are higher confidence because they come from structured catalog data. Firecrawl product extraction rows are lower confidence because they are inferred from crawlable public page content.

Confidence scores are evidence scores, not guarantees. Review `sourceUrls`, evidence snippets, product URLs, and failure reasons before using the data for operational decisions.

### Local run

Install dependencies and run from this actor directory:

```bash
npm install
npx --yes apify-cli run
````

For local input, create `storage/key_value_stores/default/INPUT.json`:

```json
{
  "mode": "discoverAndExtract",
  "firecrawlApiKey": "fc_your_key",
  "useDefaultDiscoverySources": true,
  "discoverySources": ["https://example.co.nz/outdoor-retailers"],
  "storeUrls": ["https://www.bivouac.co.nz"],
  "maxRetailers": 25,
  "maxProductsPerShopifyStore": 250,
  "maxProductsPerGenericStore": 25,
  "includeSummaries": true
}
```

Local Apify storage is written under `storage/` and is not uploaded to Apify Console.

### Deploy

Deploy from this actor directory only:

```bash
npx --yes apify-cli validate-schema
npm test
npx --yes apify-cli push
```

Do not commit Firecrawl keys, Apify tokens, private storefront credentials, or scraped private data. Keep secrets in Apify Console or local environment variables.

### Validation

Before publishing changes, run:

```bash
npx --yes apify-cli validate-schema
npm test
git diff --check
```

These checks validate the Apify input schema, run the Vitest suite, and catch whitespace errors in the git diff.

# Actor input Schema

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

Choose whether to discover retailers, extract product catalogs, or do both.

## `firecrawlApiKey` (type: `string`):

Firecrawl API key for discovery and generic extraction. Treat this value as secret; Apify input schema does not hide arbitrary fields by itself.

## `useDefaultDiscoverySources` (type: `boolean`):

Seed discovery from curated New Zealand tourism and shopping source pages.

## `discoverySources` (type: `array`):

Optional source URLs to crawl for retailer discovery.

## `queryThemes` (type: `array`):

Search phrases used to discover relevant New Zealand retailers.

## `storeUrls` (type: `array`):

Direct retailer storefront URLs to extract, especially for extractOnly runs without Firecrawl.

## `scopeKeywords` (type: `array`):

Keywords used to decide whether a discovered retailer fits the active lifestyle scope.

## `excludeDomains` (type: `array`):

Domains to exclude from discovery and extraction.

## `maxRetailers` (type: `integer`):

Maximum number of retailers to keep after discovery scoring.

## `maxProductsPerShopifyStore` (type: `integer`):

Maximum number of products to fetch from each Shopify products.json catalog.

## `maxProductsPerGenericStore` (type: `integer`):

Maximum number of product-like items to extract from non-Shopify retailer pages.

## `minRetailerConfidence` (type: `number`):

Minimum confidence score required for a discovered retailer candidate.

## `currency` (type: `string`):

Currency code to label prices with. Shopify products.json prices do not include currency.

## `includeSummaries` (type: `boolean`):

Emit summary dataset rows for retailer and extraction results.

## Actor input object example

```json
{
  "mode": "discoverAndExtract",
  "useDefaultDiscoverySources": true,
  "discoverySources": [],
  "queryThemes": [
    "outdoor gear nz",
    "camping stores nz",
    "hiking gear nz",
    "surf shops nz",
    "activewear nz",
    "sports stores nz",
    "travel gear nz",
    "hunting fishing stores nz"
  ],
  "storeUrls": [
    "https://www.bivouac.co.nz"
  ],
  "scopeKeywords": [
    "outdoor",
    "camping",
    "hiking",
    "tramping",
    "climbing",
    "surf",
    "sports",
    "activewear",
    "travel gear",
    "footwear",
    "boots",
    "hunting",
    "fishing",
    "packs",
    "apparel"
  ],
  "excludeDomains": [],
  "maxRetailers": 150,
  "maxProductsPerShopifyStore": 500,
  "maxProductsPerGenericStore": 50,
  "minRetailerConfidence": 0.45,
  "currency": "NZD",
  "includeSummaries": true
}
```

# Actor output Schema

## `retailerDiscoveryResults` (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 = {
    "discoverySources": [],
    "queryThemes": [
        "outdoor gear nz",
        "camping stores nz",
        "hiking gear nz",
        "surf shops nz",
        "activewear nz",
        "sports stores nz",
        "travel gear nz",
        "hunting fishing stores nz"
    ],
    "storeUrls": [
        "https://www.bivouac.co.nz"
    ],
    "scopeKeywords": [
        "outdoor",
        "camping",
        "hiking",
        "tramping",
        "climbing",
        "surf",
        "sports",
        "activewear",
        "travel gear",
        "footwear",
        "boots",
        "hunting",
        "fishing",
        "packs",
        "apparel"
    ],
    "excludeDomains": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("k0nkupa/nz-active-lifestyle-retailer-discovery").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 = {
    "discoverySources": [],
    "queryThemes": [
        "outdoor gear nz",
        "camping stores nz",
        "hiking gear nz",
        "surf shops nz",
        "activewear nz",
        "sports stores nz",
        "travel gear nz",
        "hunting fishing stores nz",
    ],
    "storeUrls": ["https://www.bivouac.co.nz"],
    "scopeKeywords": [
        "outdoor",
        "camping",
        "hiking",
        "tramping",
        "climbing",
        "surf",
        "sports",
        "activewear",
        "travel gear",
        "footwear",
        "boots",
        "hunting",
        "fishing",
        "packs",
        "apparel",
    ],
    "excludeDomains": [],
}

# Run the Actor and wait for it to finish
run = client.actor("k0nkupa/nz-active-lifestyle-retailer-discovery").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 '{
  "discoverySources": [],
  "queryThemes": [
    "outdoor gear nz",
    "camping stores nz",
    "hiking gear nz",
    "surf shops nz",
    "activewear nz",
    "sports stores nz",
    "travel gear nz",
    "hunting fishing stores nz"
  ],
  "storeUrls": [
    "https://www.bivouac.co.nz"
  ],
  "scopeKeywords": [
    "outdoor",
    "camping",
    "hiking",
    "tramping",
    "climbing",
    "surf",
    "sports",
    "activewear",
    "travel gear",
    "footwear",
    "boots",
    "hunting",
    "fishing",
    "packs",
    "apparel"
  ],
  "excludeDomains": []
}' |
apify call k0nkupa/nz-active-lifestyle-retailer-discovery --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=k0nkupa/nz-active-lifestyle-retailer-discovery",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "NZ Active Lifestyle Retailer Discovery",
        "description": "Discovers likely New Zealand active-lifestyle retailers from public sources, scores evidence, and extracts catalog intelligence where available.",
        "version": "1.0",
        "x-build-id": "0MkNDaUpT5nTfnuFi"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/k0nkupa~nz-active-lifestyle-retailer-discovery/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-k0nkupa-nz-active-lifestyle-retailer-discovery",
                "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/k0nkupa~nz-active-lifestyle-retailer-discovery/runs": {
            "post": {
                "operationId": "runs-sync-k0nkupa-nz-active-lifestyle-retailer-discovery",
                "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/k0nkupa~nz-active-lifestyle-retailer-discovery/run-sync": {
            "post": {
                "operationId": "run-sync-k0nkupa-nz-active-lifestyle-retailer-discovery",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "mode": {
                        "title": "Run mode",
                        "enum": [
                            "discoverAndExtract",
                            "discoverOnly",
                            "extractOnly"
                        ],
                        "type": "string",
                        "description": "Choose whether to discover retailers, extract product catalogs, or do both.",
                        "default": "discoverAndExtract"
                    },
                    "firecrawlApiKey": {
                        "title": "Firecrawl API key",
                        "type": "string",
                        "description": "Firecrawl API key for discovery and generic extraction. Treat this value as secret; Apify input schema does not hide arbitrary fields by itself."
                    },
                    "useDefaultDiscoverySources": {
                        "title": "Use default discovery sources",
                        "type": "boolean",
                        "description": "Seed discovery from curated New Zealand tourism and shopping source pages.",
                        "default": true
                    },
                    "discoverySources": {
                        "title": "Additional discovery sources",
                        "type": "array",
                        "description": "Optional source URLs to crawl for retailer discovery.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "queryThemes": {
                        "title": "Query themes",
                        "type": "array",
                        "description": "Search phrases used to discover relevant New Zealand retailers.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "storeUrls": {
                        "title": "Store URLs",
                        "type": "array",
                        "description": "Direct retailer storefront URLs to extract, especially for extractOnly runs without Firecrawl.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "scopeKeywords": {
                        "title": "Scope keywords",
                        "type": "array",
                        "description": "Keywords used to decide whether a discovered retailer fits the active lifestyle scope.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "excludeDomains": {
                        "title": "Exclude domains",
                        "type": "array",
                        "description": "Domains to exclude from discovery and extraction.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxRetailers": {
                        "title": "Max retailers",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of retailers to keep after discovery scoring.",
                        "default": 150
                    },
                    "maxProductsPerShopifyStore": {
                        "title": "Max products per Shopify store",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum number of products to fetch from each Shopify products.json catalog.",
                        "default": 500
                    },
                    "maxProductsPerGenericStore": {
                        "title": "Max products per generic store",
                        "minimum": 1,
                        "maximum": 250,
                        "type": "integer",
                        "description": "Maximum number of product-like items to extract from non-Shopify retailer pages.",
                        "default": 50
                    },
                    "minRetailerConfidence": {
                        "title": "Minimum retailer confidence",
                        "minimum": 0,
                        "maximum": 1,
                        "type": "number",
                        "description": "Minimum confidence score required for a discovered retailer candidate.",
                        "default": 0.45
                    },
                    "currency": {
                        "title": "Currency",
                        "type": "string",
                        "description": "Currency code to label prices with. Shopify products.json prices do not include currency.",
                        "default": "NZD"
                    },
                    "includeSummaries": {
                        "title": "Include summary rows",
                        "type": "boolean",
                        "description": "Emit summary dataset rows for retailer and extraction results.",
                        "default": 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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
