# Wildfire Asset Exposure Screener — Live Perimeter Distance (`malonestar/wildfire-asset-exposure-screener`) Actor

Screen assets - offices, homes, facilities, portfolios - against live NIFC wildfire perimeters plus USFS Wildfire Hazard Potential class and historical burn history. Per point: distance to nearest fire, hazard class, past burn year. MCP-ready wildfire risk API.

- **URL**: https://apify.com/malonestar/wildfire-asset-exposure-screener.md
- **Developed by:** [Kyle Maloney](https://apify.com/malonestar) (community)
- **Categories:** Agents, Developer tools, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.50 / 1,000 results

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

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

## What's an Apify Actor?

Actors are 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/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Wildfire Asset Exposure Screener — Live Perimeter Distance

Screen any list of asset locations against **live US wildfire perimeters** from NIFC WFIGS
(the interagency system behind official fire maps). For every point you supply, this actor
answers the question insurers, portfolio managers, and ops teams actually ask:

> **"Is this location inside or near an active wildfire — and how close, exactly?"**

One input row in, one enriched row out: **in-perimeter flag, distance in miles to the
nearest active fire perimeter edge, fire name, acres, containment %, a simple
exposure level** (`IN_PERIMETER` / `WITHIN_5_MI` / `WITHIN_25_MI` / `CLEAR`) — **plus
two background risk signals looked up at the same point: USFS Wildfire Hazard Potential
class and whether the point has ever burned before.**

All active-fire geometry math (ray-casting point-in-polygon with holes, point-to-perimeter-edge
distance) runs locally against the live perimeter polygons — no geocoding services,
no API keys, no rate-limited third parties. The two background signals are live per-point
lookups against USFS and NIFC ArcGIS services.

### Who it's for

- **Insurance & underwriting teams** — screen a book of insured properties every morning; triage anything `WITHIN_5_MI`.
- **Real-estate & asset portfolio managers** — exposure roll-up across hundreds of sites in one run.
- **Risk, BCP & security ops** — automatic checks of offices, warehouses, cell sites, substations; alert on level changes.
- **Supply-chain teams** — screen supplier plants and distribution centers during fire season.
- **AI agents** — a clean, chainable "wildfire check" tool: coordinates in, structured verdict out.

### Example input

```json
{
  "assets": [
    { "lat": 34.05, "lon": -118.24, "label": "Los Angeles office" },
    { "lat": 38.58, "lon": -121.49, "label": "Sacramento site" }
  ],
  "radiusMiles": 25,
  "states": [],
  "includeIncidentPoints": true,
  "includeWhp": true,
  "includeHistoricalBurn": true
}
````

### Output fields (one row per asset = one $0.01 check)

| Field | Meaning |
|---|---|
| `asset_label`, `asset_lat`, `asset_lon` | Your input point, echoed back |
| `exposure_level` | `IN_PERIMETER`, `WITHIN_5_MI`, `WITHIN_25_MI`, `CLEAR`, or `ERROR` |
| `in_perimeter` | True when the point is inside an active fire perimeter polygon |
| `nearest_fire_name` | Incident name of the nearest active fire within `radiusMiles` |
| `distance_miles` | Miles to the nearest perimeter **edge** (0 when inside); point distance for fires without a mapped perimeter |
| `fire_acres`, `percent_contained` | Size and containment of that fire |
| `fire_state`, `fire_county`, `fire_discovery_date` | Where and when it started |
| `fire_source` | `perimeter` (polygon) or `incident_point` (new/small fire, no perimeter yet) |
| `fires_within_radius` | How many active fires are within the reporting radius |
| `whp_class`, `whp_class_label` | USFS Wildfire Hazard Potential class at the point: 1 Very Low, 2 Low, 3 Moderate, 4 High, 5 Very High, 6 Non-burnable (developed/open land), 7 Water |
| `historical_burn`, `last_burn_year`, `last_burn_fire_name` | Whether the point has ever burned before (NIFC historical fire-perimeter archive), and if so, the most recent year and fire name |
| `whp_source_url`, `historical_burn_source_url` | The exact ArcGIS services each background signal was looked up from |
| `enrichment_note` | Set (and `whp_class`/`historical_burn` left null) when a background lookup was skipped or an upstream service failed — never blocks the run |
| `checked_at`, `error`, `disclaimer`, `source_url` | Run metadata and advisory notice |

Invalid points produce an `ERROR` row and the run continues — one bad coordinate never
fails a 500-asset batch. The two background lookups follow the same rule: an unreachable
USFS or NIFC service degrades that asset's row to `null` fields + a note in
`enrichment_note`, it never fails the whole run.

### Data sources

- **NIFC WFIGS Current Interagency Fire Perimeters** (ArcGIS FeatureServer, updated continuously
  through the fire day) — fetched with full polygon geometry once per run.
- **WFIGS Current Incident Locations** (points) — catches brand-new or small wildfires that
  have no mapped perimeter yet; deduplicated against perimeters by IRWIN id.
- **USFS Wildfire Hazard Potential (WHP), classified raster** — a 270m landscape-scale
  fuels-and-fire-behavior rating from the USFS Rocky Mountain Research Station, served via
  the USFS Interagency Image and Point Product (IIPP) ImageServer. **This is a background
  wildland-fuels metric, not a structure-level risk score or a prediction that a specific
  building will burn** — treat it as one input to a broader risk picture, alongside the
  live perimeter distance above.
- **NIFC InterAgency Fire Perimeter History (All Years)** — the historical companion to the
  WFIGS *Current* layers; mapped perimeters going back decades, contributed independently
  by multiple agencies (this actor takes the most recent burn year per point when a fire is
  mapped more than once).

Keyless, official, and free — you pay only for the per-asset checks. The two background
lookups can be turned off (`includeWhp: false`, `includeHistoricalBurn: false`) if you only
want the live-perimeter distance check.

### Use as an MCP tool

This actor is exposed via [mcp.apify.com](https://mcp.apify.com) — AI agents (Claude, Cursor,
etc.) can call it as a wildfire-exposure verification tool. The input schema (lat/lon/label
list) and the field-level output descriptions are designed to be read and chained by agents:
geocode an address upstream, screen it here, branch on `exposure_level` downstream.

### FAQ

**Is this an official evacuation source?**
No. Perimeters can lag real fire spread by hours. This is an advisory screening layer —
every row carries a disclaimer. For life-safety decisions use local authorities and
[inciweb.wildfire.gov](https://inciweb.wildfire.gov).

**How do I check if an address is near a wildfire?**
Geocode the address to lat/lon (any geocoder), then pass it in `assets`. The row tells you
the nearest active fire and the distance in miles.

**What does `distance_miles: 0` mean?**
The point is inside the fire perimeter polygon (`in_perimeter: true`, `exposure_level:
IN_PERIMETER`).

**Why did a fire I saw in the news not appear?**
If it is fully contained and dropped from the *Current* WFIGS layers it is no longer an
active fire. Very new starts may exist only as incident points (keep
`includeIncidentPoints: true`).

**Can I screen only one state?**
Yes — set `states: ["CA"]` to fetch only fires originating in California. Leave it empty
when assets sit near state lines (fires cross borders; the point of origin determines the
state tag).

**How is the distance computed?**
Locally: ray-casting point-in-polygon (holes and multi-part perimeters respected) plus
haversine-based point-to-segment distance to every perimeter edge, taking the minimum.
No server-side geometry calls, so 500 assets screen in seconds.

**What does a "Non-burnable" WHP class mean — is that an error?**
No. The USFS raster classifies developed land and open water as `Non-burnable` /
`Water` rather than assigning a hazard tier — a town center or a lake pixel legitimately
comes back that way even in a fire-prone region. Check the surrounding wildland (or the
live perimeter distance above) for the actual local exposure picture.

**Has this location ever burned before?**
`historical_burn` checks the point against NIFC's historical fire-perimeter archive
(decades of mapped fires, independent of the *current* active-fire layers). `true` means
the point falls inside a past fire perimeter; `last_burn_year` and `last_burn_fire_name`
give the most recent one on record.

**Is WHP a guarantee a property will or won't burn?**
No. It's a landscape-scale (270m) wildland-fuels and fire-behavior potential rating, not
a structure-level risk score, defensible-space assessment, or insurance underwriting
verdict — use it as one input alongside the live perimeter/historical-burn signals, not
a standalone yes/no answer.

# Actor input Schema

## `assets` (type: `array`):

List of asset locations to screen against live wildfire perimeters. Each item is an object: {"lat": \<number -90..90>, "lon": \<number -180..180>, "label": "<your name for the asset>"}. One dataset row (one billable check) is produced per asset. Invalid points produce an ERROR row and the run continues.

## `radiusMiles` (type: `integer`):

Maximum distance at which the nearest fire is reported for an asset. Fires farther than this are ignored (row comes back CLEAR with null fire fields). Exposure bands stay fixed at IN\_PERIMETER / WITHIN\_5\_MI / WITHIN\_25\_MI regardless of this radius. Default 25.

## `states` (type: `array`):

Optional list of 2-letter US state codes (e.g. CA, OR, MT). When set, only fires whose point of origin is in these states are fetched — faster runs for single-state portfolios. Leave empty to screen against ALL active US fires (recommended for assets near state lines).

## `includeIncidentPoints` (type: `boolean`):

Also screen against the WFIGS incident-locations point layer (small or brand-new wildfires that have no mapped perimeter yet). Distances to these are point distances, not perimeter-edge distances. Incidents already represented by a perimeter are deduplicated by IRWIN id. Default true.

## `includeWhp` (type: `boolean`):

Look up the USFS Wildfire Hazard Potential (WHP) class at each asset point — a landscape-scale (270m) wildland-fuels hazard rating: Very Low / Low / Moderate / High / Very High, or Non-burnable / Water for developed and open-water land cover. This is a background fuels metric, not a structure-level risk score. One extra lookup per asset. Default true.

## `includeHistoricalBurn` (type: `boolean`):

Check whether each asset point falls inside any historical fire perimeter from the NIFC InterAgency Fire Perimeter History archive, and if so the most recent burn year and fire name. One extra lookup per asset. Default true.

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

Safety cap on the number of assets screened (one dataset row per asset). Assets beyond this cap are skipped with a warning.

## Actor input object example

```json
{
  "assets": [
    {
      "lat": 34.05,
      "lon": -118.24,
      "label": "Los Angeles office"
    },
    {
      "lat": 38.58,
      "lon": -121.49,
      "label": "Sacramento site"
    }
  ],
  "radiusMiles": 25,
  "includeIncidentPoints": true,
  "includeWhp": true,
  "includeHistoricalBurn": true,
  "maxResults": 1000
}
```

# Actor output Schema

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

The default dataset with one wildfire-exposure row per asset.

# 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 = {
    "assets": [
        {
            "lat": 34.05,
            "lon": -118.24,
            "label": "Los Angeles office"
        },
        {
            "lat": 38.58,
            "lon": -121.49,
            "label": "Sacramento site"
        }
    ],
    "radiusMiles": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("malonestar/wildfire-asset-exposure-screener").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 = {
    "assets": [
        {
            "lat": 34.05,
            "lon": -118.24,
            "label": "Los Angeles office",
        },
        {
            "lat": 38.58,
            "lon": -121.49,
            "label": "Sacramento site",
        },
    ],
    "radiusMiles": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("malonestar/wildfire-asset-exposure-screener").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 '{
  "assets": [
    {
      "lat": 34.05,
      "lon": -118.24,
      "label": "Los Angeles office"
    },
    {
      "lat": 38.58,
      "lon": -121.49,
      "label": "Sacramento site"
    }
  ],
  "radiusMiles": 25
}' |
apify call malonestar/wildfire-asset-exposure-screener --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=malonestar/wildfire-asset-exposure-screener",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Wildfire Asset Exposure Screener — Live Perimeter Distance",
        "description": "Screen assets - offices, homes, facilities, portfolios - against live NIFC wildfire perimeters plus USFS Wildfire Hazard Potential class and historical burn history. Per point: distance to nearest fire, hazard class, past burn year. MCP-ready wildfire risk API.",
        "version": "1.0",
        "x-build-id": "RZrwwAfnyE4ZvWQIa"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/malonestar~wildfire-asset-exposure-screener/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-malonestar-wildfire-asset-exposure-screener",
                "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/malonestar~wildfire-asset-exposure-screener/runs": {
            "post": {
                "operationId": "runs-sync-malonestar-wildfire-asset-exposure-screener",
                "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/malonestar~wildfire-asset-exposure-screener/run-sync": {
            "post": {
                "operationId": "run-sync-malonestar-wildfire-asset-exposure-screener",
                "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": {
                    "assets": {
                        "title": "Assets to screen",
                        "type": "array",
                        "description": "List of asset locations to screen against live wildfire perimeters. Each item is an object: {\"lat\": <number -90..90>, \"lon\": <number -180..180>, \"label\": \"<your name for the asset>\"}. One dataset row (one billable check) is produced per asset. Invalid points produce an ERROR row and the run continues."
                    },
                    "radiusMiles": {
                        "title": "Reporting radius (miles)",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum distance at which the nearest fire is reported for an asset. Fires farther than this are ignored (row comes back CLEAR with null fire fields). Exposure bands stay fixed at IN_PERIMETER / WITHIN_5_MI / WITHIN_25_MI regardless of this radius. Default 25.",
                        "default": 25
                    },
                    "states": {
                        "title": "State filter (optional)",
                        "type": "array",
                        "description": "Optional list of 2-letter US state codes (e.g. CA, OR, MT). When set, only fires whose point of origin is in these states are fetched — faster runs for single-state portfolios. Leave empty to screen against ALL active US fires (recommended for assets near state lines).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeIncidentPoints": {
                        "title": "Include incident points",
                        "type": "boolean",
                        "description": "Also screen against the WFIGS incident-locations point layer (small or brand-new wildfires that have no mapped perimeter yet). Distances to these are point distances, not perimeter-edge distances. Incidents already represented by a perimeter are deduplicated by IRWIN id. Default true.",
                        "default": true
                    },
                    "includeWhp": {
                        "title": "Include USFS Wildfire Hazard Potential class",
                        "type": "boolean",
                        "description": "Look up the USFS Wildfire Hazard Potential (WHP) class at each asset point — a landscape-scale (270m) wildland-fuels hazard rating: Very Low / Low / Moderate / High / Very High, or Non-burnable / Water for developed and open-water land cover. This is a background fuels metric, not a structure-level risk score. One extra lookup per asset. Default true.",
                        "default": true
                    },
                    "includeHistoricalBurn": {
                        "title": "Include historical burn flag",
                        "type": "boolean",
                        "description": "Check whether each asset point falls inside any historical fire perimeter from the NIFC InterAgency Fire Perimeter History archive, and if so the most recent burn year and fire name. One extra lookup per asset. Default true.",
                        "default": true
                    },
                    "maxResults": {
                        "title": "Max asset checks",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Safety cap on the number of assets screened (one dataset row per asset). Assets beyond this cap are skipped with a warning.",
                        "default": 1000
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
