# Chicago Restaurant Inspections Scraper | CDPH Data (`parseforge/chicago-restaurant-inspections-scraper`) Actor

Pull Chicago Department of Public Health restaurant inspection records with name, address, facility type, risk, results, and violations. Filter by ward or result. Ideal for food safety research, restaurant prospecting, and city compliance monitoring.

- **URL**: https://apify.com/parseforge/chicago-restaurant-inspections-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Lead generation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.00 / 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.md):

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

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

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

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

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

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

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

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

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


# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🌭 Chicago Food Inspection Scraper

> 🚀 **Pull Chicago Department of Public Health food inspection results with pass/fail outcomes, risk levels, and violation details.**

> 🕒 **Last updated:** 2026-05-25 · **📊 20 fields** per record · **250,000+ inspection records** · **all licensed Chicago food establishments**

The Chicago Food Inspection Scraper pulls live results from the City of Chicago Department of Public Health open data portal. Each record carries the establishment name, license number, address, risk category, inspection type, pass/fail outcome, and the full text of violations cited.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Journalists and civic-tech researchers | Public-records reporting, accountability dashboards |
| Real-estate and insurance analysts | Neighborhood risk modeling, due diligence |
| Marketers and lead-gen teams | Business prospecting, market sizing |
| Data engineers and BI teams | ETL pipelines, automated alerting |
| Academics and urban planners | Policy research, public-health analysis |

### 📋 What the Chicago Food Inspections Scraper does

- Pulls live records from the official open-data API in batches of up to 1,000 rows per request
- Lets you filter by the source's own native columns before download (no post-processing required)
- Returns one normalized JSON row per record with stable, predictable field names
- Pushes results to a clean Apify dataset that exports to CSV, Excel, JSON, or XML
- Auto-paginates so you can pull thousands of records in one run

> 💡 **Why it matters:** government open-data portals throttle, rate-limit, and break under heavy load. This actor wraps the official endpoint, handles pagination, normalizes nulls, and gives you a stable schema even when the source UI rearranges its dashboard.

### 🎬 Full Demo

_🚧 Coming soon - GIF demo of the actor running in Apify Console._

### ⚙️ Input

<table>
<tr><th>Field</th><th>Type</th><th>Required</th><th>Description</th></tr>
<tr><td>maxItems</td><td>integer</td><td>No</td><td>How many records to pull. Free plan caps at 10.</td></tr>
<tr><td>Filters</td><td>string</td><td>No</td><td>Optional source-native filters narrow results before download.</td></tr>
</table>

```json
{
  "maxItems": 100
}
````

```json
{
  "maxItems": 500
}
```

> ⚠️ **Good to Know:** the source endpoint is a public government open-data API. Records reflect what the agency has published as of its most recent refresh cycle and may not be real-time.

### 📊 Output

| Field | Description |
|---|---|
| `imageUrl` | Image URL (always null for tabular records) |
| `title` | Primary record title (business name or activity) |
| `url` | Link back to the open data portal page |
| `id` | Stable identifier for this record |
| `inspection_id` | Source field `inspection_id` |
| `dba_name` | Source field `dba_name` |
| `aka_name` | Source field `aka_name` |
| `license_` | Source field `license_` |
| `facility_type` | Source field `facility_type` |
| `risk` | Source field `risk` |
| `address` | Source field `address` |
| `city` | Source field `city` |
| `state` | Source field `state` |
| `zip` | Source field `zip` |
| `inspection_date` | Source field `inspection_date` |
| `inspection_type` | Source field `inspection_type` |
| `results` | Source field `results` |
| `violations` | Source field `violations` |
| `latitude` | Source field `latitude` |
| `longitude` | Source field `longitude` |
| `sourceUrl` | Open data portal URL |
| `scrapedAt` | ISO timestamp when the row was collected |
| `error` | Error message (null on success) - always last |

#### Sample records

```json
[
  {
    "imageUrl": null,
    "title": "SUBWAY 24453",
    "url": "https://data.cityofchicago.org/Health-Human-Services/Food-Inspections/4ijn-s7e5",
    "id": "2637321",
    "inspection_id": "2637321",
    "dba_name": "SUBWAY 24453",
    "aka_name": "SUBWAY 24453",
    "license_": "2856691",
    "facility_type": "Restaurant",
    "risk": "Risk 1 (High)",
    "address": "111 N WABASH AVE",
    "city": "CHICAGO",
    "state": "IL",
    "zip": "60602",
    "inspection_date": "2026-05-22T00:00:00.000",
    "inspection_type": "Canvass",
    "results": "Pass w/ Conditions",
    "violations": "3. MANAGEMENT, FOOD EMPLOYEE AND CONDITIONAL EMPLOYEE; KNOWLEDGE, RESPONSIBILITIES AND REPORTING - Comments: OBSERVED SEVERAL MISSING SIGNED EMPLOYEE HEALTH POLICIES FOR EMPLOYEES MUST PROVIDE AND MAINTAIN.(PRIORITY FOUNDATION 7-38-010)(CITATION ISSUED) | 36. THERMOMETERS PROVIDED & ACCURATE - Comments: OBSERVED NO INTERIOR THERMOMETER FOR 2- DOOR PREP COOLER IN FRONT PREP AREA MUST PROVIDE AND MAINTAIN. | 37. FOOD PROPERLY LABELED; ORIGINAL CONTAINER - Comments: MUST LABEL FOOD STORAGE CONTAINERS WHEN FOOD IS NOT IN ORIGINAL PACKAGE WITH COMMON NAME(SHAKERS) | 39. CONTAMINATION PREVENTED DURING FOOD PREPARATION, STORAGE & DISPLAY - Comments: MUST PROVIDE A SPLASH GAURD AT FRONT HAND SINK NEXT TO PANS ON COUNTER TOP TO PREVENT CONTAMINATION. | 47. FOOD & NON-FOOD CONTACT SURFACES CLEANABLE, PROPERLY DESIGNED, CONSTRUCTED & USED - Comments: MUST REPAIR OR REPLACE WORN CUTTING BOARDS ON TOPSIDE OF COLD LINE TO BE IN GOOD REPAIR. | 49. NON-FOOD/FOOD CONTACT SURFACES CLEAN - Comments: MUST CLEAN SPILLAGE IN LOWER CABINET AT SODA MACHINE IN DINING AREA. | 55. PHYSICAL FACILITIES INSTALLED, MAINTAINED & CLEAN - Comments: MUST PROVIDE A HOOKING SYSTEM TO HANG UP WET MOPS. | 58. ALLERGEN TRAINING AS REQUIRED - Comments: OBSERVED NO FOOD ALLERGEN TRAINING FOR FOOD MANAGERS MUST PROVIDE AND MAINTAIN. | 60. PREVIOUS CORE VIOLATION CORRECTED - Comments: PREVIOUS CORE VIOLATION FROM REPORT #2628354 12/11/25 NOT CORRECTED-#57-2-102.13: EXPIRED FOOD HANDLER CERTIFICATES PROVIDED FOR ALL FOOD HANDLERS. INSTRUCTED TO PROVIDE PROOF OF FOOD HANDLER TRAINING FOR ALL FOOD HANDLERS.(PRIORITY FOUNDATION 7-42-090)(CITATION ISSUED) | 64. MISCELLANEOUS / PUBLIC HEALTH ORDERS - Comments: OBSERVED DEFAULT BEVERAGE ON KIDS MEAL CHOCOLATE MILK AT 140 CALORIES NEEDS TO BE 130 OR LESS CALORIES AND MAINTAIN.",
    "latitude": 41.88352649174743,
    "longitude": -87.62608219678731,
    "sourceUrl": "https://data.cityofchicago.org/Health-Human-Services/Food-Inspections/4ijn-s7e5",
    "scrapedAt": "2026-05-25T17:54:47.085Z",
    "error": null
  },
  {
    "imageUrl": null,
    "title": "NICKY'S",
    "url": "https://data.cityofchicago.org/Health-Human-Services/Food-Inspections/4ijn-s7e5",
    "id": "2637326",
    "inspection_id": "2637326",
    "dba_name": "NICKY'S",
    "aka_name": "NICKY'S",
    "license_": "7813",
    "facility_type": "Restaurant",
    "risk": "Risk 1 (High)",
    "address": "5801 S KEDZIE AVE",
    "city": "CHICAGO",
    "state": "IL",
    "zip": "60629",
    "inspection_date": "2026-05-22T00:00:00.000",
    "inspection_type": "Short Form Complaint",
    "results": "Pass",
    "violations": "10. ADEQUATE HANDWASHING SINKS PROPERLY SUPPLIED AND ACCESSIBLE - Comments: OBSERVED NO HANDWASHING SIGNAGE IN CUSTOMER RESTROOM. INSTRUCTED PERSON IN CHARGE HANDWASHING SIGNAGE IS REQUIRED AT ALL HANDSINKS.  | 16. FOOD-CONTACT SURFACES: CLEANED & SANITIZED - Comments: OBSERVED RUST ON INTERIOR SIDE OF ICE MACHINE/SCREWS. INSTRUCTED PERSON TO REMOVE AND REPLACE. | 49. NON-FOOD/FOOD CONTACT SURFACES CLEAN - Comments:  OBSERVED BUILD UP ON INTERIOR OF 2-DOOR COLD HOLD UNIT IN REAR OF FACILITY. INSTRUCTED PERSON IN CHARGE TO CLEAN AND MAINTAIN.",
    "latitude": 41.787976364169765,
    "longitude": -87.70325124213517,
    "sourceUrl": "https://data.cityofchicago.org/Health-Human-Services/Food-Inspections/4ijn-s7e5",
    "scrapedAt": "2026-05-25T17:54:47.151Z",
    "error": null
  }
]
```

### ✨ Why choose this Actor

| Feature | What it means |
|---|---|
| 🟢 Live data | Pulls directly from the source API on every run |
| 🔄 Auto-pagination | Walks the dataset 1,000 rows at a time |
| 🎯 Native filters | Filter by the columns the source already indexes |
| 📦 Stable schema | One row, one record, no nested table reshapes |
| 💾 Multiple formats | CSV, Excel, JSON, XML on the dataset page |

### 📈 How it compares to alternatives

| Option | Effort | Pagination | Filters | Refresh |
|---|---|---|---|---|
| **This actor** | Run once | Built-in | Built-in | Per run |
| Direct API | Write SoQL by hand | DIY | DIY | DIY |
| CSV portal export | Download megabytes every time | None | Limited | Manual |
| Custom scraper | Weeks of engineering | DIY | DIY | DIY |

### 🚀 How to use

1. [Create a free Apify account](https://console.apify.com/sign-up?fpr=vmoqkp) (free credits included)
2. Open the actor page
3. Set `maxItems` and any filters you need
4. Click **Run**
5. Download the dataset as CSV, Excel, JSON, or XML

### 💼 Business use cases

#### Market intelligence

Track the volume, type, and geography of records over time to surface trends before competitors do.

#### Compliance and risk

Pull official records for due diligence, vendor screening, insurance underwriting, or KYC workflows.

#### Lead generation

Filter the feed to surface businesses or properties matching a target profile.

#### Reporting and BI

Pipe the dataset into BI tools for ongoing public-records dashboards.

### 🔌 Automating Chicago Food Inspections Scraper

Connect this actor to **Make**, **Zapier**, **Slack**, **Airbyte**, **GitHub Actions**, **n8n**, **Pipedream**, or **Google Drive** through the standard Apify integrations to run the scraper on a schedule and push results downstream automatically.

### 🌟 Beyond business use cases

#### Research

Academics use this data for urban studies, public-health epidemiology, and policy analysis.

#### Personal

Curious citizens can audit their own neighborhood or block-level activity.

#### Non-profit

Civic-tech and accountability organizations track service delivery, equity, and government performance.

#### Experimentation

Data-science learners get a clean real-world dataset for ML practice.

### 🤖 Ask an AI assistant about this scraper

Paste the URL of this page into ChatGPT, Claude, Perplexity, or GitHub Copilot and ask: *"How would I use this scraper to build X?"*

### ❓ Frequently Asked Questions

**🟦 Is this real-time?**
It pulls the most recent data the source agency has published. Refresh cadence depends on the agency (often nightly or weekly).

**🟦 Do I need an API key?**
No. The source endpoint is public.

**🟦 What if a filter returns zero rows?**
The actor pushes a single `{error: ...}` record explaining the empty result so your pipelines do not silently fail.

**🟦 Can I run this on a schedule?**
Yes. Configure a schedule on the Apify Console for hourly, daily, or weekly runs.

**🟦 Can I get more than 10 records?**
Upgrade to a paid plan. Free users get a 10-record preview.

**🟦 What export formats are supported?**
CSV, Excel (XLSX), JSON, XML, RSS, and HTML from the dataset page.

**🟦 Does this respect rate limits?**
Yes. The actor uses a single sequential pagination loop.

**🟦 Will field names change?**
Field names are pinned to source API column names. If the source changes column IDs you may need an updated actor build.

**🟦 Can I use this commercially?**
The source data is public-domain government information. Always re-read the source's terms of use for your specific commercial application.

**🟦 What about privacy?**
This actor only returns data the agency has chosen to publish to the open-data portal. Records the agency suppresses are not included.

### 🔌 Integrate with any app

Make · Zapier · Slack · Airbyte · GitHub Actions · Google Drive · Webhooks · REST API · n8n · Pipedream · Bubble · Retool · Power Automate · Airtable · Notion.

### 🔗 Recommended Actors

| Actor | What it does |
|---|---|
| [NYC Restaurant Inspections](https://apify.com/parseforge/nyc-restaurant-inspections-scraper) | NYC DOHMH grades and violations |
| [Chicago Food Inspections](https://apify.com/parseforge/chicago-restaurant-inspections-scraper) | Chicago Department of Public Health results |
| [LA Business Licenses](https://apify.com/parseforge/la-business-licenses-scraper) | LA City active business registry |
| [NYC DCWP Business Licenses](https://apify.com/parseforge/nyc-business-licenses-scraper) | Every NYC consumer-protection licensed business |
| [Chicago 311 Service Requests](https://apify.com/parseforge/chicago-311-complaints-scraper) | All Chicago non-emergency complaints |

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge).

**🆘 Need Help?** [Open our contact form](https://tally.so/r/BzdKgA)

> **⚠️ Disclaimer:** independent tool, not affiliated with Chicago Food Inspections or its publishing agency. Only publicly available data is collected.

# Actor input Schema

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `result` (type: `string`):

Filter to a specific outcome.

## `risk` (type: `string`):

Filter by facility risk category.

## Actor input object example

```json
{
  "maxItems": 10
}
```

# Actor output Schema

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

Scraped Chicago Food Inspections records

# 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 = {
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/chicago-restaurant-inspections-scraper").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 = { "maxItems": 10 }

# Run the Actor and wait for it to finish
run = client.actor("parseforge/chicago-restaurant-inspections-scraper").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 '{
  "maxItems": 10
}' |
apify call parseforge/chicago-restaurant-inspections-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/chicago-restaurant-inspections-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Chicago Restaurant Inspections Scraper | CDPH Data",
        "description": "Pull Chicago Department of Public Health restaurant inspection records with name, address, facility type, risk, results, and violations. Filter by ward or result. Ideal for food safety research, restaurant prospecting, and city compliance monitoring.",
        "version": "0.1",
        "x-build-id": "AH1ZkNgGJpGqOWjJ7"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~chicago-restaurant-inspections-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-chicago-restaurant-inspections-scraper",
                "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/parseforge~chicago-restaurant-inspections-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-chicago-restaurant-inspections-scraper",
                "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/parseforge~chicago-restaurant-inspections-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-chicago-restaurant-inspections-scraper",
                "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": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    },
                    "result": {
                        "title": "Inspection Result",
                        "enum": [
                            "",
                            "Pass",
                            "Pass w/ Conditions",
                            "Fail",
                            "Not Ready",
                            "No Entry",
                            "Out of Business",
                            "Business Not Located"
                        ],
                        "type": "string",
                        "description": "Filter to a specific outcome."
                    },
                    "risk": {
                        "title": "Risk Level",
                        "enum": [
                            "",
                            "Risk 1 (High)",
                            "Risk 2 (Medium)",
                            "Risk 3 (Low)",
                            "All"
                        ],
                        "type": "string",
                        "description": "Filter by facility risk category."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
