# US Liquor Licensing Watch — State ABC Boards (`jakedata/liquor-licensing-watch`) Actor

Monitor US state alcohol-licensing authority pages for changes. Curated pack of 39 server-rendered state boards, noise-filtered diffs, optional AI significance summaries. No PII.

- **URL**: https://apify.com/jakedata/liquor-licensing-watch.md
- **Developed by:** [Jake Mac](https://apify.com/jakedata) (community)
- **Categories:** Automation, Developer tools, News
- **Stats:** 2 total users, 0 monthly users, 66.7% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 page checks

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## US Liquor Licensing Watch — 51 State ABC Boards

**What a liquor licence costs and requires in all 51 US states — plus the local city permit
almost nobody accounts for — returned on every run, and flagged when it changes.**

Most licensing tools tell you a page changed. That is useless until something moves, and
even then it is a raw diff. This Actor returns the **answer** on the first call: every
record carries the state's licence types with their fees, precomputed cost scenarios by
business type, requirements, restrictions, timelines, primary sources, and the city-level
local-permit overlay. Change detection then runs on top of that, not instead of it.

**Why this one:** it is the only Actor on the Store carrying 51-state licence facts plus the
**1,638-of-1,970-city local permit overlay** — the layer that catches people out, because a
state licence is only half the cost. Generic change monitors return `{"changed": true}`; this
returns what the licence costs, who issues it, and what your city adds on top.

### What you get

- **All 51 states, every run** — 547 licence types with application/annual/issuance/renewal
  fees, and 359 precomputed scenarios ("restaurant with full liquor → permit 020 → $350/yr")
- **City permit overlay** — for each state, how many cities require a separate local permit,
  the indicative cost range, and the largest cities with permit name, timeline and clerk URL
- **Provenance on every record** — `last_updated` per state and `sources[]` pointing at the
  official state pages, so you can check our work
- **Change detection** — `no_change` / `changed` with line-level diffs, optional AI
  significance summaries using your own Anthropic key
- **Honest coverage** — 13 states serve JS-only pages or block datacenter IPs. We do not
  pretend to monitor them: they return `facts_only` with a `monitoring_note`, still carrying
  full licence data, and are not charged a page check


### Why this one

1. **Curated coverage.** The working authority pages are pre-loaded. Run it as-is to watch all covered states, or pass `states: ["TX","FL","PA"]` to watch a subset.
2. **Noise-filtered.** Timestamps, counters and boilerplate are stripped — you get regulatory substance, not page churn.
3. **AI summaries, your key.** Turn on `aiSummary` with your own Anthropic API key: each change gets a plain-English summary + significance rating framed for licensing impact. Your key is used per-run, never stored.
4. **Government sources only.** Watches official state ABC-board pages. Respects robots.txt by default. **No personal data collected — ever.**
5. **Schedule it.** Pair with Apify Schedules for daily/weekly monitoring; route changes to Slack, n8n, or your own webhook.

### How it works

````

YOU CONFIGURE              EACH SCHEDULED RUN              YOU RECEIVE
─────────────────────      ──────────────────────         ────────────────────────
states: \["TX","FL"]   ──►  fetch each board page     ──►  one JSON record per state
(empty = all 39 covered)   strip boilerplate/noise          • no\_change
compare to last snapshot          • changed + exactly what

- aiSummary (your key)                                         text was added / removed
- webhookUrl          ──►  optional AI summary        ──►    • + AI summary & low/med/
  optional webhook POST                high significance
  • baseline\_captured
  • low\_content (JS-only page)

````

Pair with **Apify Schedules** to run it daily or weekly; route `changed` records straight to Slack, n8n, or your own endpoint via `webhookUrl`.

### Input

Run it with no input at all — you get all 51 states. Everything else is optional:

| Field | What it does |
|---|---|
| `states` | Limit to specific states, e.g. `["CA","NY","TX"]`. Your filter is absolute — you get exactly those states, including ones we cannot page-monitor. |
| `includeFacts` | Attach licence fees, types, requirements and city permits to every record. On by default — turn off for a lean change-only feed. |
| `includeCityDetail` | Include the largest cities per state with permit name, indicative cost, timeline and clerk URL. On by default. |
| `aiSummary` + `anthropicApiKey` | Plain-English significance summary when a page changes. Uses **your** key, so there is no marked-up AI fee. |
| `respectRobotsTxt` | On by default. |
| `webhookUrl` | POST the run summary somewhere when it finishes. |

See the **Input** tab for the full schema with tooltips.

### Output record

```json
{
  "state": "New York",
  "state_code": "NY",
  "authority": "New York State Liquor Authority (SLA)",
  "authority_url": "https://sla.ny.gov",
  "status": "no_change",
  "fee_period": "2-3 years (varies by license type)",
  "application_timeline": "3-6 months typical. 6-12+ months if 500-foot rule hearing required.",
  "license_types": [
    { "code": "OP", "name": "On-Premises Liquor License", "business_types": ["bar", "event-venue"],
      "on_premise": true, "off_premise": false, "two_year_fee_usd": 4352,
      "notes": "Fee range $1,792-$4,352 depending on county (4 tiers by population)." }
  ],
  "common_scenarios": [
    { "business_type": "restaurant", "scenario": "Restaurant with full liquor service",
      "permits": ["OP"], "total_fee_usd": 4352, "fee_period": "2 years" }
  ],
  "local_permits": {
    "cities_tracked": 40,
    "cities_requiring_local_permit": 40,
    "largest_cities": [
      { "city": "New York City", "population": 8336817, "local_permit_required": true,
        "local_permit_name": "NYC Community Board Notification + DCA License",
        "local_permit_cost_usd_ai_estimate": 110, "typical_timeline_days": 180,
        "city_clerk_url": "https://www.nyc.gov/site/dcwp/index.page" }
    ]
  },
  "provenance": {
    "license_type_fees": "sourced",
    "common_scenarios": "derived",
    "local_permit_names": "sourced",
    "local_permit_costs": "ai_estimate",
    "local_permit_notes": "ai_authored"
  },
  "last_updated": "2026-07-08",
  "sources": ["https://sla.ny.gov/retail-license-fee-chart", "https://sla.ny.gov/500-foot-law"],
  "llc_state_url": "https://liquorlicensecost.com/states/ny",
  "llc_guide_url": "https://liquorlicensecost.com/guides/new-york-liquor-license-guide",
  "checkedAt": "2026-07-19T14:57:00.000Z"
}
````

#### Data honesty — provenance is machine-readable

Every record carries a `provenance` block stating, per value class, where that value came
from. This follows the SDMX observation-status convention used by Eurostat, the IMF and the
FAO: provenance attaches to the **value**, not to the dataset, so it survives being filtered,
joined or read by an agent that never sees this README.

| Level | Meaning |
|---|---|
| `sourced` | Researched against the official pages listed in `sources` |
| `derived` | Computed from sourced values; wording AI-composed |
| `ai_estimate` | **Modelled by AI, not researched.** Indicative only — do not quote as a fee |
| `ai_authored` | Explanatory prose written by AI from sourced material; figures within are sourced |
| `observed` | Directly observed by this Actor when it fetched the page |
| `ai_generated` | Written by an LLM at run time (only when `aiSummary` is on) |

**State licence fees are `sourced`. City permit costs are `ai_estimate`** — and the field name
says so too (`local_permit_cost_usd_ai_estimate`), so the caveat travels into any spreadsheet,
join or agent answer. Permit names, requirement flags, timelines and clerk URLs are `sourced`.

We label AI-derived values explicitly rather than burying the caveat, both because quoting a
modelled number as a fee would be wrong, and because the EU AI Act's transparency rules
(Article 50, applicable 2 August 2026) expect AI-generated content to be marked in a
machine-readable form.

First run per page captures a baseline; changes are reported from the second run onward.

#### Every record links to the full context

A diff tells you a fee line moved. It does not tell you what that license costs in total,
which of the state's licence types you actually need, or how long approval takes. So every
record carries two links into the reference data behind it:

- `llc_state_url` — that state's full fee table, licence types, requirements and timelines on
  [LiquorLicenseCost.com](https://liquorlicensecost.com)
- `llc_guide_url` — the long-form state guide, e.g.
  [California](https://liquorlicensecost.com/guides/california-liquor-license-guide),
  [Texas](https://liquorlicensecost.com/guides/texas-liquor-license-guide),
  [New York](https://liquorlicensecost.com/guides/new-york-liquor-license-guide)

City-level rules layer on top of state rules — 1,638 of 1,970 US cities require a separate
local permit — so the [city directory](https://liquorlicensecost.com/city) is where a
specific location's extra permit, cost and clerk contact live.

### How much does it cost to monitor liquor licensing?

A `page-check` is $0.005 and an `ai-summary` is $0.01. Checking all 38 default state pages
once costs about **$0.19**. Watching every state daily for a month is roughly **$5.70**;
watching five states you actually operate in is about **$0.75/month**. AI summaries are
charged only when a page actually changed, so a quiet month costs nothing extra.

You supply your own Anthropic API key for summaries, so there is no marked-up AI fee.

### Pricing

Pay-per-event — `page-check` and `ai-summary` only. Watch one state or all 51; you only pay
for what runs. Worked examples above.

### How does this compare to a generic website change monitor?

| | Generic change monitor | US Liquor Licensing Watch |
|---|---|---|
| Tells you a page changed | yes | yes |
| Returns licence fees and types | no | yes — 547 types across 51 states |
| Precomputed cost by business type | no | yes — 359 scenarios |
| City-level local permit overlay | no | yes — 1,638 of 1,970 cities |
| Useful on the very first run | no — only baselines | yes — full facts immediately |
| Cites primary sources per record | no | yes — `sources[]` + `last_updated` |
| Curated targets | no — you supply URLs | yes — 51 state authorities |

If you want to watch arbitrary URLs of your own, use the sibling Actor below instead — this
one is purpose-built for US alcohol licensing.

### Other Actors by jakedata

- [AI Change Monitor](https://apify.com/jakedata/ai-change-monitor) — watch any list of URLs
  you supply, with noise-filtered diffs and optional AI significance summaries. Use it when
  your targets are not liquor-licensing pages.

### FAQ

**Is this legal?** Yes. Every monitored page is a US state government alcohol-licensing
authority page — public record, published by the agency itself. No login, no paywall, no
personal data. The Actor collects **no PII** by design.

**How current is the data?** Each record carries `last_updated` for that state (currently
2026-06 to 2026-07) and `sources[]` linking the official pages the figures came from. Check
our work — that is what the sources are for.

**Are the fees exact?** State licence fees are researched against those primary sources.
City-level permit costs are **modelled estimates**, labelled as such in both the field name
and the `cost_basis` note on every record. Do not quote a city permit estimate as a fee.

**Why are 13 states not monitored?** Their authority pages are JS-only or block automated
access from datacenter IPs. Rather than pretend, those states return `facts_only` with a
`monitoring_note` — full licence data, no page check charged. Pass them in `states` to force
a fetch attempt.

**Can I get a state that is not in the default set?** Yes — pass it in `states`.

**Something looks wrong.** Open an issue on the Issues tab. Data corrections get priority.

***

Curated from official state sources. Openly AI-built, human-supervised, with automated daily
health checks. No PII. Support: jakeatthekeyboard@gmail.com

# Actor input Schema

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

Two-letter state codes, e.g. \["CA","NY","TX"]. Leave empty to watch all 51 (incl. DC).

## `aiSummary` (type: `boolean`):

Summarize each detected change and rate significance (low/medium/high) using an LLM. Requires your own Anthropic API key below.

## `anthropicApiKey` (type: `string`):

Your own key, used only when AI summaries are on. Never stored.

## `respectRobotsTxt` (type: `boolean`):

Skip any authority page disallowed for generic crawlers.

## `webhookUrl` (type: `string`):

POST each change record to this URL as JSON.

## `includeFacts` (type: `boolean`):

Attach the full fee/licence-type/requirement data for each state to every record — so a run answers "what does a licence cost here?" even when nothing changed. Turn off for a lean change-only feed.

## `includeCityDetail` (type: `boolean`):

Include the largest cities per state with their local permit name, indicative cost, timeline and clerk URL. 1,638 of 1,970 US cities require a separate local permit on top of the state licence.

## Actor input object example

```json
{
  "states": [],
  "aiSummary": false,
  "respectRobotsTxt": true,
  "includeFacts": true,
  "includeCityDetail": true
}
```

# 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 = {
    "states": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("jakedata/liquor-licensing-watch").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 = { "states": [] }

# Run the Actor and wait for it to finish
run = client.actor("jakedata/liquor-licensing-watch").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 '{
  "states": []
}' |
apify call jakedata/liquor-licensing-watch --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=jakedata/liquor-licensing-watch",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "US Liquor Licensing Watch — State ABC Boards",
        "description": "Monitor US state alcohol-licensing authority pages for changes. Curated pack of 39 server-rendered state boards, noise-filtered diffs, optional AI significance summaries. No PII.",
        "version": "0.1",
        "x-build-id": "OEiRq7FLIE1PwD1QN"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/jakedata~liquor-licensing-watch/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-jakedata-liquor-licensing-watch",
                "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/jakedata~liquor-licensing-watch/runs": {
            "post": {
                "operationId": "runs-sync-jakedata-liquor-licensing-watch",
                "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/jakedata~liquor-licensing-watch/run-sync": {
            "post": {
                "operationId": "run-sync-jakedata-liquor-licensing-watch",
                "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": {
                    "states": {
                        "title": "States to watch (optional)",
                        "type": "array",
                        "description": "Two-letter state codes, e.g. [\"CA\",\"NY\",\"TX\"]. Leave empty to watch all 51 (incl. DC).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "aiSummary": {
                        "title": "AI significance summary",
                        "type": "boolean",
                        "description": "Summarize each detected change and rate significance (low/medium/high) using an LLM. Requires your own Anthropic API key below.",
                        "default": false
                    },
                    "anthropicApiKey": {
                        "title": "Anthropic API key (only for AI summaries)",
                        "type": "string",
                        "description": "Your own key, used only when AI summaries are on. Never stored."
                    },
                    "respectRobotsTxt": {
                        "title": "Respect robots.txt",
                        "type": "boolean",
                        "description": "Skip any authority page disallowed for generic crawlers.",
                        "default": true
                    },
                    "webhookUrl": {
                        "title": "Webhook URL (optional)",
                        "type": "string",
                        "description": "POST each change record to this URL as JSON."
                    },
                    "includeFacts": {
                        "title": "Include licence facts",
                        "type": "boolean",
                        "description": "Attach the full fee/licence-type/requirement data for each state to every record — so a run answers \"what does a licence cost here?\" even when nothing changed. Turn off for a lean change-only feed.",
                        "default": true
                    },
                    "includeCityDetail": {
                        "title": "Include city permit detail",
                        "type": "boolean",
                        "description": "Include the largest cities per state with their local permit name, indicative cost, timeline and clerk URL. 1,638 of 1,970 US cities require a separate local permit on top of the state licence.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
