# Zillow Detail Scraper (`cirkit/zillow-detail-scraper`) Actor

Scrape full property details from Zillow Home Detail Pages (HDP) by URL or zpid. Extracts 99 to 141 fields per listing including address, price, bedrooms, bathrooms, lat/lon, schools, price history, tax history, photos, broker info, and RESO facts.

- **URL**: https://apify.com/cirkit/zillow-detail-scraper.md
- **Developed by:** [Crikit](https://apify.com/cirkit) (community)
- **Categories:** Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 results

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

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

### What this Zillow Detail Scraper does

This Zillow Detail Scraper takes property detail URLs (or zpids) and returns the full property record for each one. For each input URL, the actor fetches Zillow's Home Detail Page (HDP), parses the server-rendered JSON payload, and emits a single record per listing with up to 141 fields. No login, no cookies, no API key.

Use it after the [Zillow Search Scraper](https://apify.com/Cirkit/zillow-search-scraper) to enrich discovered zpids into full property records, or call it on its own with a list of URLs.

### What you get per property

The actor extracts the property record Zillow embeds in each detail page. Typical fields include:

- **Identity**: `zpid`, `hdpUrl`, `url`
- **Address**: `streetAddress`, `city`, `state`, `zipcode`, `neighborhood`, `county`, `countyFIPS`, `address`, `latitude`, `longitude`, `country`
- **Listing**: `homeStatus`, `homeType`, `daysOnZillow`, `timeOnZillow`, `datePostedString`, `pageViewCount`, `favoriteCount`, `contingentListingType`, `comingSoonOnMarketDate`
- **Physical**: `bedrooms`, `bathrooms`, `livingArea`, `livingAreaUnits`, `lotSize`, `lotAreaValue`, `yearBuilt`, `propertyTypeDimension`
- **Pricing**: `price`, `currency`, `zestimate`, `rentZestimate`, `taxAssessedValue`, `taxAssessedYear`, `monthlyHoaFee`, `propertyTaxRate`, `annualHomeownersInsurance`, `mortgageRates`
- **History**: `priceHistory[]`, `taxHistory[]`
- **Media**: `responsivePhotos[]` (multi-resolution srcset), `photos[]` (legacy URLs), `hasVRModel`, `hasPublicVideo`, `interactiveFloorPlanUrl`
- **Schools**: `schools[]` (up to 3: elementary, middle, high with rating + distance + grades)
- **Broker / agent**: `brokerageName`, `brokerId`, `listedBy`, `listingProvider`, `attributionInfo`
- **RESO compliance**: `resoFacts` (21 keys on stripped showcase listings, 180+ keys on regular listings)
- **Content**: `description`, `whatILove`, `homeInsights`
- **Flags**: `isZillowOwned`, `isFeatured`, `isShowcaseListing`, `isNonOwnerOccupied`, `isRecentStatusChange`
- **Provenance** (added by the actor): `addressOrUrlFromInput`, `url`

Every field that Zillow returns flows through to your dataset, so when Zillow adds a new attribute, your dataset gets it on the next run without a schema change.

### Why use this Zillow Detail Scraper

- **30% cheaper than the leading competitor** on Apify Store ($0.0025 per property on FREE tier vs the leader's $0.0036). Apify tier discounts apply automatically.
- **No cookies, no logins**. You never paste credentials. Works from a clean residential session.
- **Crawlee + Cheerio + Apify residential proxy**, so it survives Zillow's PerimeterX anti-bot stack without spinning up a browser. About 5x faster and 5x cheaper than browser-based scrapers.
- **Pairs with [Zillow Search Scraper](https://apify.com/Cirkit/zillow-search-scraper)**. Use search to discover zpids, then enrich each with this detail scraper.

### Input

| Field | Type | Description |
|---|---|---|
| `startUrls` | array of `{url}` | Zillow detail URLs. Supports `/homedetails/.../<zpid>_zpid/` plus `/apartments/`, `/community/`, `/b/` variants. |
| `zpids` | array of strings | Convenience input: pass zpids directly; each becomes `https://www.zillow.com/homedetails/<zpid>_zpid/`. |
| `maxItems` | integer | Hard cap on the number of properties returned. `0` = unlimited. |
| `proxyConfiguration` | object | Apify proxy settings. **Residential US strongly recommended**. |

You must supply at least one of `startUrls` or `zpids`.

### Sample input

```json
{
  "startUrls": [
    { "url": "https://www.zillow.com/homedetails/3204-Lyons-Rd-1-Austin-TX-78702/461831807_zpid/" }
  ],
  "zpids": ["29348440", "29472346"],
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "US"
  }
}
````

### Sample output (truncated)

```json
{
  "zpid": 461831807,
  "hdpUrl": "/homedetails/3204-Lyons-Rd-1-Austin-TX-78702/461831807_zpid/",
  "url": "https://www.zillow.com/homedetails/3204-Lyons-Rd-1-Austin-TX-78702/461831807_zpid/",
  "streetAddress": "3204 Lyons Rd #1",
  "city": "Austin",
  "state": "TX",
  "zipcode": "78702",
  "latitude": 30.2502,
  "longitude": -97.7012,
  "price": 720000,
  "homeStatus": "FOR_SALE",
  "homeType": "TOWNHOUSE",
  "bedrooms": 3,
  "bathrooms": 3,
  "livingArea": 1700,
  "yearBuilt": 2026,
  "daysOnZillow": 7,
  "pageViewCount": 318,
  "favoriteCount": 12,
  "priceHistory": [{ "date": "2026-05-08", "price": 720000, "event": "Listed for sale" }],
  "schools": [{ "name": "Sims Elementary", "rating": 6, "grades": "PK-5", "type": "Public", "distance": 0.3 }, ...],
  "responsivePhotos": [{ "mixedSources": { "jpeg": [...], "webp": [...] } }, ...],
  "description": "Brand new construction with rooftop deck...",
  "brokerageName": "Compass RE Texas, LLC",
  "addressOrUrlFromInput": "https://www.zillow.com/homedetails/3204-Lyons-Rd-1-Austin-TX-78702/461831807_zpid/"
}
```

### Field coverage by listing type (measured, 2026-05)

Coverage depends on whether the property is a regular Zillow Home Detail Page or a "Showcase" (premium upgraded) listing. We ran an extensive QA pass across 7 cities and 65 properties; here are the measured numbers.

| Listing type | Fields per record | Real-world frequency in tested markets | Notes |
|---|---|---|---|
| Regular FOR\_SALE / SOLD / FOR\_RENT HDP | 130 to 141 | ~40% | Full record including `priceHistory`, `taxHistory`, `schools`, `yearBuilt`, `listedBy`, `photos[]` (27+ entries), full `resoFacts` (180+ keys). |
| **Showcase (premium upgraded)** | 97 to 99 | **~60%** in tested markets | Stripped initial cache. Missing: `priceHistory`, `taxHistory`, `schools`, `yearBuilt`, `listedBy`, legacy `photos[]`. Still has: `responsivePhotos` (30+ entries), `description` (87% coverage), `resoFacts` (21-key subset), `bedrooms`/`bathrooms`/`price`/`address`/`latitude`/`longitude`/`homeStatus` (100% coverage). |
| Apartment community / building (`/apartments/`, `/b/`, `/community/`) | warning row only | varies | The actor emits `{warning: "URL type needs the search scraper"}` rather than failing. |

**Be aware that approximately 60% of active listings in major US markets surface as showcase variants.** This is a real and significant coverage gap on premium-listing-heavy markets (Manhattan, Aspen, San Francisco). If you need the missing fields (price history, schools, year built) on showcase listings specifically, this v1 is not a complete substitute for the leading competitor at $0.0036.

The actor attempts a best-effort GraphQL enrichment call for showcase listings to recover the stripped fields. The follow-up call is currently blocked by PerimeterX without a JA3-bound `_px3` cookie; it will be hardened in v2 via a stealth-browser bootstrap.

If you need the full record for every listing regardless of showcase status, use the [Zillow Search Scraper](https://apify.com/Cirkit/zillow-search-scraper) on the listing's region. Search-page results include all 61 listing-card fields regardless of premium status.

### Pricing

Pay-per-result, **$0.0025 per property** on the FREE tier. Apify's tier discounts apply automatically (BRONZE/SILVER/GOLD/PLATINUM/DIAMOND).

Worked examples (FREE tier):

- 100 properties: $0.25
- 1,000 properties: $2.50
- 10,000 properties: $25.00

Compare to the leading Zillow detail scraper on Apify Store at $0.0036 per property on FREE tier (about 44% more).

### Limits and edge cases

- **PerimeterX anti-bot**. Always run on Apify residential US proxy. Datacenter IPs get flagged within a few requests.
- **Showcase variant**. Premium upgraded listings return a stripped 97-99 field cache. The actor's enrichment call recovers some fields when PX allows; otherwise the record ships with the SSR-only data.
- **Apartment / building / community URLs**. The actor accepts them but does not (yet) parse their distinct data shapes. Records ship with a `warning` field.
- **Synthetic zpids**. Some apartment-building listings on Zillow use a synthetic zpid (e.g. a lat-lng composite). Treat zpids as opaque strings when deduping.
- **Live data**. Zillow updates listing fields continuously. Running the same input twice may show price changes, status changes, or new photo counts.

### Technical details

- **Stack**: Node.js 20 + Crawlee `CheerioCrawler` + `got-scraping` with Chrome header generator. No browser, no JavaScript execution.
- **Memory footprint**: 1024 MB recommended.
- **Throughput**: about 30,000 properties per hour at default concurrency on Apify residential proxy.

### FAQ

**Does this Zillow Detail Scraper need an API key?** No. Zillow's detail pages are publicly accessible; the actor reads the same data anyone can see in a browser.

**Does it need my Zillow login or cookies?** No. This scraper never asks for user credentials.

**What is the difference between this and `Cirkit/zillow-search-scraper`?** The search scraper finds listings by location and returns 61 listing-card fields per result (lightweight). This detail scraper takes a specific property URL or zpid and returns up to 141 fields including price history, schools, RESO facts.

**Can I run it via the Apify API or schedule it?** Yes, like any Apify actor. Use the standard Run actor API or attach a schedule in the Apify Console.

### Changelog

- **0.1.5** (2026-05-14): post-QA hardening. Fixed `maxItems` concurrency race (claimed-count pattern); pinned all 4 dependencies to exact versions to immunize against upstream breakage; updated README with measured per-bucket field coverage from extensive QA (65 records across 7 cities).
- **0.1** (2026-05-14): initial release. HDP HTML extraction returns up to 141 fields per regular listing. Showcase (premium) listings return ~97-99 fields with the GraphQL enrichment attempt as a best-effort path. Building / apartment / community URLs accepted with a warning record.

# Actor input Schema

## `startUrls` (type: `array`):

Zillow detail URLs. Supported forms: /homedetails/<slug>/<zpid>\_zpid/, /apartments/<city>/<slug>/<id>/, /community/<slug>/<plid>\_plid/, /b/<location>/<lat>,<lng>\_ll/. Apartment / community / building URLs are accepted but currently return fewer fields than /homedetails/ URLs.

## `zpids` (type: `array`):

Convenience input: pass numeric Zillow property identifiers (zpids) directly. Each gets converted to a https://www.zillow.com/homedetails/<zpid>\_zpid/ URL.

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

Hard cap on the number of properties returned. 0 means unlimited.

## `proxyConfiguration` (type: `object`):

Proxy settings. Apify residential proxies in the US are strongly recommended; Zillow runs PerimeterX bot detection on the origin and datacenter IPs are flagged within a few requests.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.zillow.com/homedetails/3204-Lyons-Rd-1-Austin-TX-78702/461831807_zpid/"
    }
  ],
  "zpids": [],
  "maxItems": 0,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `datasetItems` (type: `string`):

All properties collected by this run, one record per listing.

## `datasetItemsCsv` (type: `string`):

All properties in CSV format.

## `datasetItemsXlsx` (type: `string`):

All properties in Excel format.

## `consoleRun` (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 = {
    "startUrls": [
        {
            "url": "https://www.zillow.com/homedetails/3204-Lyons-Rd-1-Austin-TX-78702/461831807_zpid/"
        }
    ],
    "zpids": [],
    "maxItems": 0,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("cirkit/zillow-detail-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 = {
    "startUrls": [{ "url": "https://www.zillow.com/homedetails/3204-Lyons-Rd-1-Austin-TX-78702/461831807_zpid/" }],
    "zpids": [],
    "maxItems": 0,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("cirkit/zillow-detail-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 '{
  "startUrls": [
    {
      "url": "https://www.zillow.com/homedetails/3204-Lyons-Rd-1-Austin-TX-78702/461831807_zpid/"
    }
  ],
  "zpids": [],
  "maxItems": 0,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call cirkit/zillow-detail-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Zillow Detail Scraper",
        "description": "Scrape full property details from Zillow Home Detail Pages (HDP) by URL or zpid. Extracts 99 to 141 fields per listing including address, price, bedrooms, bathrooms, lat/lon, schools, price history, tax history, photos, broker info, and RESO facts.",
        "version": "0.1",
        "x-build-id": "Vpw2jjGc41cB2BycU"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/cirkit~zillow-detail-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-cirkit-zillow-detail-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/cirkit~zillow-detail-scraper/runs": {
            "post": {
                "operationId": "runs-sync-cirkit-zillow-detail-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/cirkit~zillow-detail-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-cirkit-zillow-detail-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": {
                    "startUrls": {
                        "title": "Property detail URLs",
                        "type": "array",
                        "description": "Zillow detail URLs. Supported forms: /homedetails/<slug>/<zpid>_zpid/, /apartments/<city>/<slug>/<id>/, /community/<slug>/<plid>_plid/, /b/<location>/<lat>,<lng>_ll/. Apartment / community / building URLs are accepted but currently return fewer fields than /homedetails/ URLs.",
                        "default": [],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "zpids": {
                        "title": "Zpids",
                        "type": "array",
                        "description": "Convenience input: pass numeric Zillow property identifiers (zpids) directly. Each gets converted to a https://www.zillow.com/homedetails/<zpid>_zpid/ URL.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Hard cap on the number of properties returned. 0 means unlimited.",
                        "default": 0
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxy settings. Apify residential proxies in the US are strongly recommended; Zillow runs PerimeterX bot detection on the origin and datacenter IPs are flagged within a few requests.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "US"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
