# Illinois Cannabis Dispensary Data (`wallman_3rd/illinois-cannabis-dispensary-data`) Actor

Official Illinois cannabis license data merged with major platforms (Weedmaps, Leafly & more) into one deduplicated feed — automatic change detection, trend tracking, and self-healing monitoring, the same engine as our 47-state Actor. Need more states? See our multi-state Actor.

- **URL**: https://apify.com/wallman\_3rd/illinois-cannabis-dispensary-data.md
- **Developed by:** [Z W](https://apify.com/wallman_3rd) (community)
- **Categories:** Lead generation, Automation
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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

## Illinois Cannabis Dispensary Data

**Official Illinois cannabis dispensary and license data**, merged from the state's official license registry and major platforms (Weedmaps, Leafly, and more) into one deduplicated dataset.

This is the single-state edition of our [multi-state Cannabis Dispensary Monitor](https://apify.com/wallman_3rd/cannabis-dispensary-scraper) — same data quality, same change detection, trend tracking, and self-healing source monitoring, scoped to Illinois at a lower price. If you need multiple states, the full Actor covers 47 states and territories.

### What you get

- Every licensed Illinois dispensary, deduplicated across the state's official registry and platform listings
- License number, status, and issue/expiry dates where the state publishes them
- Contact email, scraped from each dispensary's own website when the source doesn't already publish one
- Change detection — new openings, closures, and license changes flagged every run
- Historical trend tracking and market intelligence computed automatically
- Self-monitoring: a source going silently dead gets flagged the same run, not weeks later

### Sample output

Real Illinois records from this Actor's dataset — "Source" shows whether the row came from the state's official registry or a platform listing, illustrating the merge:

| Name | City | Source | License # |
|---|---|---|---|
| nuEra East Peoria (Recreational) | East Peoria | Leafly | — |
| nuEra East Peoria (Medical) | East Peoria | Leafly | — |
| nuEra - Pekin (Recreational) | Pekin | Leafly | — |


### Input

Same input options as the full Actor (sources, proxy configuration, menu data, webhooks, etc.) — see the Input tab for details. The `states` field is locked to IL in this edition.

### FAQ

**Where can I get Illinois cannabis dispensary data?**
This Actor. It pulls every licensed Illinois dispensary from the official state registry plus Weedmaps and Leafly, deduplicated into one feed.

**What data is included for each dispensary?**
Name, address, license number, license status, category (medical/recreational), coordinates where available, and contact details.

**How fresh is the data?**
It reads the live state source on every run, so it is as current as the state publishes.

**Can I get it as CSV, JSON, or an API?**
Yes: JSON, CSV, or Excel, or via the Apify API.

**Is this legal?**
It uses only publicly available official Illinois government data and public listings.

**Do you cover other states?**
Yes. If you need multiple states, the national Cannabis Dispensary Monitor covers 47 US states plus Canada in one run, usually cheaper per state than running several single-state editions.

### Need more states?

See the full [Cannabis Dispensary Monitor](https://apify.com/wallman_3rd/cannabis-dispensary-scraper) — 47 US states and territories, same data model, one Actor.

# Actor input Schema

## `testMode` (type: `boolean`):

When enabled, collects only 3 results per source per state and does NOT update the run snapshot or change detection baseline. Use this to verify the Actor works before running a full job. Costs nearly nothing.
## `sources` (type: `array`):

Which platform sources to scrape. Weedmaps and Leafly are enabled by default and cover all US states with no extra setup. iHeartJane is also enabled by default but blocks non-residential traffic — it silently returns 0 results unless you configure a residential Proxy Configuration below. Dutchie requires the same residential proxy. Potguide and AllBud are included for completeness but currently return 0 results regardless of setup (potguide.com now redirects to an unrelated retailer; allbud.com requires JS rendering with no accessible API) — left selectable in case either comes back online, but not recommended.
## `states` (type: `array`):

Locked to Illinois (IL) in this single-state edition — any value submitted here is ignored, every run scopes to IL only. Need other states? See our multi-state Cannabis Dispensary Monitor Actor.
## `includeStateSources` (type: `boolean`):

When enabled, also pulls from official state licensing databases. Adds license numbers, license status, issue/expiry dates, and verified addresses the platforms may not have.
## `maxResultsPerSource` (type: `integer`):

Maximum number of dispensaries to collect per source per state. Set to 0 for unlimited. Ignored when Test Mode is enabled. Default kept low (100) so a first run without a proxy stays well inside Apify's automated 5-minute reliability check — raise it for a full production run.
## `sourceTimeoutSecs` (type: `integer`):

Maximum seconds a single source is allowed to run before being cut off. Prevents one broken source from blocking the entire run and blowing up your compute budget. Default: 300 (5 minutes).
## `includeMenuData` (type: `boolean`):

When enabled, scrapes basic menu statistics per dispensary: product counts by category and price ranges. Significantly increases run time and cost.
## `includeEnforcementData` (type: `boolean`):

When enabled and Colorado is in your states list, scrapes Colorado MED's public enforcement/disciplinary action records (citations, fines, suspensions, license denials) into a separate 'enforcement_actions' dataset. Not merged into dispensary records — CO's list only has business names, no license numbers, so it can't be reliably matched by name alone. Currently Colorado only; more states planned.
## `proxyConfiguration` (type: `object`):

Optional proxy settings. Recommended for large runs to avoid rate limiting. Required for Dutchie (currently blocks direct HTTP).
## `geocodeMissingCoordinates` (type: `boolean`):

When enabled, uses the free OpenStreetMap Nominatim API to fill in lat/lng for dispensaries where state databases did not publish location data. Rate limited to 1 request/second. Adds significant run time for large datasets. Results are cached between runs.
## `maxMenuItemsPerDispensary` (type: `integer`):

Maximum number of menu products to fetch per dispensary when 'Include Menu Stats' is enabled. Hard cap at 500. Higher values increase run time and cost significantly.
## `webhookUrl` (type: `string`):

Optional HTTPS endpoint to receive change alerts after each run. When set, the Actor POSTs structured JSON events for new dispensary openings, closures, license suspensions, and expiring licenses. Useful for real-time monitoring without polling.
## `webhookStateFilter` (type: `array`):

If set, only send webhook events for dispensaries in these states. Leave empty to receive events for all scraped states.
## `licenseExpiryAlertDays` (type: `array`):

Alert thresholds (in days) for license expiry detection. Dispensaries whose license expires within any of these windows are included in the EXPIRING_LICENSES KV store key and webhook events.
## `suppressInitialStateChanges` (type: `boolean`):

When enabled (default), prevents webhook floods when adding a new state to an existing run. Adding CA for the first time would otherwise fire 1,200+ new_dispensary events — with this on, those events are suppressed on the first run and detected normally in subsequent runs.
## `onlyOutputChanges` (type: `boolean`):

When enabled, the dataset only contains dispensaries that are new or changed since the last run — not the full multi-thousand-record dataset every time. Built for recurring/scheduled monitoring: if you're running this weekly to track openings, closures, and license changes rather than re-extracting the full market each time, this can cut per-run dataset costs dramatically. MARKET_INTELLIGENCE, TREND_HISTORY, and the standby API still reflect the full current dataset regardless — only what's written to the default dataset changes. The very first run (no previous snapshot) always outputs everything, since there's nothing yet to diff against. Ignored in testMode.
## `enrichSocialMedia` (type: `boolean`):

When enabled, fetches each dispensary's website homepage and extracts publicly linked social media profiles (Instagram, Facebook, Twitter/X, TikTok, YouTube, LinkedIn). Results populate the socialMedia field. Adds significant run time — capped at 1,000 dispensaries per run. Disabled in testMode.
## `enrichEmail` (type: `boolean`):

When enabled, fetches each dispensary's website homepage and extracts a publicly listed contact email (mailto: links first, then visible page text as a fallback). Results populate the email field for dispensaries whose source didn't already publish one. Adds significant run time — capped at 1,000 dispensaries per run. Disabled in testMode.

## Actor input object example

```json
{
  "testMode": false,
  "sources": [
    "weedmaps",
    "leafly",
    "iheartjane"
  ],
  "states": [
    "IL"
  ],
  "includeStateSources": true,
  "maxResultsPerSource": 100,
  "sourceTimeoutSecs": 300,
  "includeMenuData": false,
  "includeEnforcementData": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "geocodeMissingCoordinates": false,
  "maxMenuItemsPerDispensary": 200,
  "licenseExpiryAlertDays": [
    30,
    60,
    90
  ],
  "suppressInitialStateChanges": true,
  "onlyOutputChanges": false,
  "enrichSocialMedia": false,
  "enrichEmail": false
}
````

# Actor output Schema

## `dispensaries` (type: `string`):

No description

## `runHealth` (type: `string`):

No description

## `changes` (type: `string`):

No description

## `marketIntelligence` (type: `string`):

No description

## `expiringLicenses` (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 = {
    "sources": [
        "weedmaps",
        "leafly",
        "iheartjane"
    ],
    "states": [
        "IL"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("wallman_3rd/illinois-cannabis-dispensary-data").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 = {
    "sources": [
        "weedmaps",
        "leafly",
        "iheartjane",
    ],
    "states": ["IL"],
}

# Run the Actor and wait for it to finish
run = client.actor("wallman_3rd/illinois-cannabis-dispensary-data").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 '{
  "sources": [
    "weedmaps",
    "leafly",
    "iheartjane"
  ],
  "states": [
    "IL"
  ]
}' |
apify call wallman_3rd/illinois-cannabis-dispensary-data --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=wallman_3rd/illinois-cannabis-dispensary-data",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Illinois Cannabis Dispensary Data",
        "description": "Official Illinois cannabis license data merged with major platforms (Weedmaps, Leafly & more) into one deduplicated feed — automatic change detection, trend tracking, and self-healing monitoring, the same engine as our 47-state Actor. Need more states? See our multi-state Actor.",
        "version": "0.1",
        "x-build-id": "wwX11R2etq4LFaBsL"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/wallman_3rd~illinois-cannabis-dispensary-data/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-wallman_3rd-illinois-cannabis-dispensary-data",
                "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/wallman_3rd~illinois-cannabis-dispensary-data/runs": {
            "post": {
                "operationId": "runs-sync-wallman_3rd-illinois-cannabis-dispensary-data",
                "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/wallman_3rd~illinois-cannabis-dispensary-data/run-sync": {
            "post": {
                "operationId": "run-sync-wallman_3rd-illinois-cannabis-dispensary-data",
                "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": {
                    "testMode": {
                        "title": "Test Mode",
                        "type": "boolean",
                        "description": "When enabled, collects only 3 results per source per state and does NOT update the run snapshot or change detection baseline. Use this to verify the Actor works before running a full job. Costs nearly nothing.",
                        "default": false
                    },
                    "sources": {
                        "title": "Platform Sources",
                        "type": "array",
                        "description": "Which platform sources to scrape. Weedmaps and Leafly are enabled by default and cover all US states with no extra setup. iHeartJane is also enabled by default but blocks non-residential traffic — it silently returns 0 results unless you configure a residential Proxy Configuration below. Dutchie requires the same residential proxy. Potguide and AllBud are included for completeness but currently return 0 results regardless of setup (potguide.com now redirects to an unrelated retailer; allbud.com requires JS rendering with no accessible API) — left selectable in case either comes back online, but not recommended.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "weedmaps",
                                "leafly",
                                "iheartjane",
                                "dutchie",
                                "potguide",
                                "allbud"
                            ]
                        },
                        "default": [
                            "weedmaps",
                            "leafly",
                            "iheartjane"
                        ]
                    },
                    "states": {
                        "title": "States / Provinces",
                        "type": "array",
                        "description": "Locked to Illinois (IL) in this single-state edition — any value submitted here is ignored, every run scopes to IL only. Need other states? See our multi-state Cannabis Dispensary Monitor Actor.",
                        "default": [
                            "IL"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeStateSources": {
                        "title": "Include Official State Databases",
                        "type": "boolean",
                        "description": "When enabled, also pulls from official state licensing databases. Adds license numbers, license status, issue/expiry dates, and verified addresses the platforms may not have.",
                        "default": true
                    },
                    "maxResultsPerSource": {
                        "title": "Max Results Per Source Per State",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of dispensaries to collect per source per state. Set to 0 for unlimited. Ignored when Test Mode is enabled. Default kept low (100) so a first run without a proxy stays well inside Apify's automated 5-minute reliability check — raise it for a full production run.",
                        "default": 100
                    },
                    "sourceTimeoutSecs": {
                        "title": "Per-Source Timeout (seconds)",
                        "minimum": 30,
                        "maximum": 1800,
                        "type": "integer",
                        "description": "Maximum seconds a single source is allowed to run before being cut off. Prevents one broken source from blocking the entire run and blowing up your compute budget. Default: 300 (5 minutes).",
                        "default": 300
                    },
                    "includeMenuData": {
                        "title": "Include Menu Stats",
                        "type": "boolean",
                        "description": "When enabled, scrapes basic menu statistics per dispensary: product counts by category and price ranges. Significantly increases run time and cost.",
                        "default": false
                    },
                    "includeEnforcementData": {
                        "title": "Include Enforcement & Compliance Actions",
                        "type": "boolean",
                        "description": "When enabled and Colorado is in your states list, scrapes Colorado MED's public enforcement/disciplinary action records (citations, fines, suspensions, license denials) into a separate 'enforcement_actions' dataset. Not merged into dispensary records — CO's list only has business names, no license numbers, so it can't be reliably matched by name alone. Currently Colorado only; more states planned.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Optional proxy settings. Recommended for large runs to avoid rate limiting. Required for Dutchie (currently blocks direct HTTP).",
                        "default": {
                            "useApifyProxy": false
                        }
                    },
                    "geocodeMissingCoordinates": {
                        "title": "Geocode Missing Coordinates",
                        "type": "boolean",
                        "description": "When enabled, uses the free OpenStreetMap Nominatim API to fill in lat/lng for dispensaries where state databases did not publish location data. Rate limited to 1 request/second. Adds significant run time for large datasets. Results are cached between runs.",
                        "default": false
                    },
                    "maxMenuItemsPerDispensary": {
                        "title": "Max Menu Items Per Dispensary",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of menu products to fetch per dispensary when 'Include Menu Stats' is enabled. Hard cap at 500. Higher values increase run time and cost significantly.",
                        "default": 200
                    },
                    "webhookUrl": {
                        "title": "Webhook URL",
                        "type": "string",
                        "description": "Optional HTTPS endpoint to receive change alerts after each run. When set, the Actor POSTs structured JSON events for new dispensary openings, closures, license suspensions, and expiring licenses. Useful for real-time monitoring without polling."
                    },
                    "webhookStateFilter": {
                        "title": "Webhook State Filter",
                        "type": "array",
                        "description": "If set, only send webhook events for dispensaries in these states. Leave empty to receive events for all scraped states.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "licenseExpiryAlertDays": {
                        "title": "License Expiry Alert Window (days)",
                        "type": "array",
                        "description": "Alert thresholds (in days) for license expiry detection. Dispensaries whose license expires within any of these windows are included in the EXPIRING_LICENSES KV store key and webhook events.",
                        "default": [
                            30,
                            60,
                            90
                        ]
                    },
                    "suppressInitialStateChanges": {
                        "title": "Suppress Initial State Change Events",
                        "type": "boolean",
                        "description": "When enabled (default), prevents webhook floods when adding a new state to an existing run. Adding CA for the first time would otherwise fire 1,200+ new_dispensary events — with this on, those events are suppressed on the first run and detected normally in subsequent runs.",
                        "default": true
                    },
                    "onlyOutputChanges": {
                        "title": "Only Output Changed Dispensaries",
                        "type": "boolean",
                        "description": "When enabled, the dataset only contains dispensaries that are new or changed since the last run — not the full multi-thousand-record dataset every time. Built for recurring/scheduled monitoring: if you're running this weekly to track openings, closures, and license changes rather than re-extracting the full market each time, this can cut per-run dataset costs dramatically. MARKET_INTELLIGENCE, TREND_HISTORY, and the standby API still reflect the full current dataset regardless — only what's written to the default dataset changes. The very first run (no previous snapshot) always outputs everything, since there's nothing yet to diff against. Ignored in testMode.",
                        "default": false
                    },
                    "enrichSocialMedia": {
                        "title": "Enrich Social Media Handles",
                        "type": "boolean",
                        "description": "When enabled, fetches each dispensary's website homepage and extracts publicly linked social media profiles (Instagram, Facebook, Twitter/X, TikTok, YouTube, LinkedIn). Results populate the socialMedia field. Adds significant run time — capped at 1,000 dispensaries per run. Disabled in testMode.",
                        "default": false
                    },
                    "enrichEmail": {
                        "title": "Enrich Contact Email",
                        "type": "boolean",
                        "description": "When enabled, fetches each dispensary's website homepage and extracts a publicly listed contact email (mailto: links first, then visible page text as a fallback). Results populate the email field for dispensaries whose source didn't already publish one. Adds significant run time — capped at 1,000 dispensaries per run. Disabled in testMode.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
