# Zillow Email Scraper (`scrapeflux/zillow-email-scraper`) Actor

Zillow Email Scraper extracts real estate contacts including agent emails, broker details, phone numbers, property listings, company names, locations, and URLs from Zillow. Ideal for lead generation, real estate outreach, sales prospecting, market research, and CRM enrichment.

- **URL**: https://apify.com/scrapeflux/zillow-email-scraper.md
- **Developed by:** [ScrapeFlux](https://apify.com/scrapeflux) (community)
- **Categories:** Automation, Lead generation, Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 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 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

### Zillow Email Scraper 🚀

If you’re trying to build a Zillow leads email list, manually copying contact details from profiles wastes hours—and you still end up with incomplete results. **Zillow Email Scraper** automatically scrapes emails from Zillow using your keywords and email-domain filters, so you can move faster from prospecting to outreach. It’s also handy for a Zillow email scraper, Zillow contact email finder, and extract seller emails from Zillow workflows. This tool is built for lead generation teams, sales development reps, and researchers who need structured Zillow agent email scraper data at scale. In one run, you can collect up to your chosen `maxEmails` cap (default is 20) and export immediately from the Apify dataset.

---

### See the Data: Sample Output

Here's a real record from a single run:

```json
{
  "network": "Zillow.com",
  "keyword": "founder",
  "title": "Marketing Director",
  "description": "Contact: marketing@acmeproperties.com | www.acmeproperties.com",
  "url": "https://www.zillow.com/profiles/marketing-director-12345/",
  "email": "marketing@acmeproperties.com",
  "proxyGroups": ["apifyProxyGroup"],
  "status": "success"
}
````

| Field | Type | What It Tells You |
|---|---|---|
| `network` | string | Confirms the source network of the record (`Zillow.com`) for consistent reporting. |
| `keyword` | string | The keyword that was used to guide discovery for this record (useful for segmentation). |
| `title` | string | The result title found on the publicly available page content for context. |
| `description` | string | The extracted text snippet where the email was found—great for QA and filtering. |
| `url` | string | The source link for traceability so you can verify where the email came from. |
| `email` | string | The actual email address extracted and saved. |
| `proxyGroups` | array | Proxy configuration context used during scraping (helpful for troubleshooting and reproducibility). |
| `status` | string | Indicates whether the record was successfully pushed to your dataset. |
| `error_message` | string | null | Error details when something goes wrong (see FAQ for how errors are handled). |
| `maxEmails` | integer | Your run’s email collection cap influences how many records you’ll get. |

Export your full dataset as JSON, CSV, or Excel from the Apify dashboard.

***

### Setting It Up

Drop this into your `input.json` and you're ready to go:

```json
{
  "keywords": ["founder", "marketing", "agent"],
  "location": "Austin, TX",
  "platform": "Zillow",
  "customDomains": ["@gmail.com", "@acmeproperties.com"],
  "maxEmails": 50,
  "engine": "legacy",
  "proxyConfiguration": {}
}
```

| Parameter | Required | What It Does |
|---|---:|---|
| `keywords` | ✅ | A list of keywords the actor uses to search for relevant Zillow profile bios and related content. |
| `location` | ⬜ | Filters discovery by location (leave empty to search without a location filter). |
| `platform` | ⬜ | Selects the target platform. For this actor, the supported value is `Zillow`. |
| `customDomains` | ⬜ | Limits extracted emails to the email domains you provide (for example `@gmail.com`). |
| `maxEmails` | ⬜ | Caps how many emails to collect. The run stops once the limit is reached (default is 20). |
| `engine` | ⬜ | Chooses the scraping engine mode: `cost-effective` or `legacy`. |
| `proxyConfiguration` | ⬜ | Lets you configure proxies for the run to improve reliability. |

↳ Tip: For better targeting, use specific `keywords` and focused `customDomains` (like `@gmail.com`)—this is exactly how this Zillow email scraper improves relevance.

***

### What It Does

Zillow Email Scraper scrapes emails from Zillow profiles using your chosen keywords and custom email domains, then writes each result into your Apify dataset as it’s found.

#### Scrapes Zillow emails based on your keywords

The actor extracts emails from Zillow bios and posts related to the keywords you provide. This makes it useful as a Zillow listing email scraper tool when you’re building outreach lists from Zillow profile content.

#### Email-domain filtering for cleaner lead lists

Use `customDomains` to control which email addresses are collected. This helps avoid collecting irrelevant addresses and is ideal for a Zillow leads email scraper where you only want certain domains.

#### Runs without manual profile copying

You don’t need to open profiles one by one. Zillow Email Scraper automates the workflow end-to-end: you set the filters, start the run, and get a structured dataset you can export right away.

#### Output you can use immediately in outreach workflows

Each pushed record includes the extracted `email`, the source `url`, and the text `description` where the email was found. That means your Zillow contact email finder output is audit-friendly—easy to review before importing into your CRM.

#### Includes resilience for larger runs

The actor supports engine modes and proxy configuration to keep scraping reliable when results are sparse or access is restricted. For large searches or higher `maxEmails`, you can increase the run timeout in Run Options (default is 3600 s / 1 hr).

Overall, this is a practical Zillow email list builder workflow for prospecting at speed—without the manual copy-paste grind.

***

### Why Zillow Email Scraper?

There are plenty of ways to pull data from Zillow—but here’s why Zillow Email Scraper stands out.

#### Targeted results using keywords + domains

Instead of collecting “everything,” Zillow Email Scraper uses your `keywords` and `customDomains` to find the most relevant contacts. This approach is what makes it effective as a Zillow agent email scraper for outreach-ready lists.

#### Adjustable limits to control cost and runtime

With `maxEmails`, you can stop exactly when you’ve collected enough leads. That helps keep large prospecting jobs predictable and cost-conscious.

#### Built-in proxy support for reliable scraping

Proxy configuration is supported via the `proxyConfiguration` input to improve scraping reliability. That’s especially helpful when you’re using Zillow outreach email automation for bigger batches.

***

### Real-World Use Cases

Here's how different teams put Zillow Email Scraper to work:

**Sales Development Teams**\
A sales team has a weekly task to refresh outreach lists with agents and relevant leadership contacts. They run Zillow Email Scraper with a tight set of role keywords and domain filters, then export the dataset for CRM import and immediate follow-up. The result is a faster Zillow email list builder cycle, with less time spent on manual data collection.

**Real Estate Marketing Ops**\
A marketing coordinator wants to build segments by targeting specific email domains for partnerships and campaigns. They configure custom domains and set `maxEmails` to capture enough contacts for multiple ad and email sequences. This makes the Zillow property email extraction output easier to map to campaign audiences.

**Freelance Researchers & Lead Sourcing**\
A researcher is collecting contact emails for a report or outreach project with deadlines. They run multiple keyword/domain combinations and export the results for structured analysis. Because each record includes a source `url` and `description`, they can verify and clean the dataset quickly.

**Automation & Data Pipelines**\
A developer wants to trigger Zillow contact email finder runs on a schedule and push results downstream. They run the actor, export JSON, and ingest it into their pipeline using Apify dataset access. This supports Zillow direct mail email list workflows where formatting and traceability matter.

***

### How to Run It

No code required. Here's how to get your first results in under 5 minutes:

1. **Open the actor on Apify**\
   Go to the actor page on Apify (search “Zillow Email Scraper” on [console.apify.com](https://console.apify.com)).

2. **Enter your inputs**\
   Add at least `keywords` (required). Optionally set `location`, `customDomains`, and `maxEmails` to control relevance and volume.

3. **Choose your engine & proxies**\
   Select `engine` (`cost-effective` or `legacy`) and configure `proxyConfiguration` if needed for your workload.

4. **Start the run and watch the live log**\
   Use the live run log to monitor progress and quickly identify if you need broader `keywords` or more domains.

5. **Open the Dataset tab**\
   Your dataset fills as results are pushed—so you can begin reviewing early.

6. **Export your results**\
   Download from the dataset tab in your preferred format (JSON, CSV, or Excel).

7. **Re-run if you need more coverage**\
   If results seem low, re-run with broader keywords and more related terms or additional `customDomains`.

The whole setup takes under 5 minutes — results start appearing within seconds of launch.

***

### Export & Integration Options

Once your data is collected, Zillow Email Scraper fits directly into your existing workflow.

You can export your dataset from the Apify dashboard as JSON, CSV, or Excel from the dataset tab. This is useful for a Zillow listing email scraper tool workflow where marketers want spreadsheet-ready outputs fast.

For automation, you can connect via Apify’s API and schedule runs. You can also use no-code tools like Zapier or Make to move the results into CRMs, spreadsheets, or outreach systems, including Zillow outreach email automation pipelines.

***

### Pricing

Zillow Email Scraper runs on Apify, which includes a **free tier** — no credit card needed to start. Free tier includes $5 platform credits on sign-up, enough for several real test runs. For heavier workloads, you can scale with Apify’s paid plans and pay-as-you-go compute based on Actor compute units (CU). Start free at [apify.com](https://apify.com) — scale up when you need to.

***

### Reliability & Limitations

| What We Handle | How |
|---|---|
| Proxy reliability | You can configure proxies via `proxyConfiguration` to keep scraping consistent. |
| Different scraping modes | You can switch between `engine` values to balance reliability and cost. |
| Run size control | `maxEmails` caps output so you can manage runtime and spending. |
| Larger jobs | You can increase the timeout in Run Options (default is 3600 s / 1 hr) for bigger runs. |
| Sparse results | If results are low, the README guidance recommends re-running with broader keywords and more domains. |
| Dataset safety | Each found record is pushed to your dataset during the run. |

**Limitations:** This actor works on publicly available Zillow bios and related content. It cannot access login-gated or private information. If a profile doesn’t include an email matching your `customDomains`, it won’t appear in your extracted results.

For enterprise-scale needs or custom configurations, reach out and we’ll help.

***

### Frequently Asked Questions

#### Is there a free plan?

Yes. Apify offers a free tier so you can run Zillow Email Scraper with credits included on sign-up. For larger runs, you may need to use a paid plan depending on compute usage.

#### Do I need to log in or create an account on Zillow?

No. Zillow Email Scraper only scrapes from publicly available data and does not require a Zillow account. If content is not publicly visible, it won’t be accessible to the actor.

#### How accurate is the extracted data?

Accuracy depends on what’s actually published on Zillow profile content. The actor extracts emails from Zillow bios and related text tied to your keywords, and it filters emails using your `customDomains` to improve relevance.

#### How many results can I get per run?

You can collect up to your `maxEmails` cap. The default is 20, and increasing it may increase runtime and does not guarantee reaching the cap if fewer matching emails exist.

#### How fresh is the data?

Data is as fresh as the moment the actor runs and scrapes the publicly available pages. If you need fresher lists, schedule more frequent runs.

#### Is this legal? Does it comply with GDPR / CCPA?

You should treat this as lead-list enrichment from publicly available data and ensure your use complies with applicable laws and platform terms. It’s your responsibility to follow GDPR, CCPA, spam regulations, and Zillow’s Terms of Service.

#### Can I export to Google Sheets or Excel?

Yes. You can export your full dataset from the Apify dashboard as JSON, CSV, or Excel. From there, you can import into Google Sheets or any spreadsheet tool.

#### Can I schedule this to run automatically?

Yes. You can schedule runs on Apify so Zillow Email Scraper runs automatically at the cadence you choose. This works well for ongoing Zillow email list builder maintenance.

#### Can I access results via the API?

Yes. You can access the Apify dataset outputs programmatically using Apify API integrations. This is ideal when building a Zillow contact email finder workflow into your own systems.

#### What happens when the actor encounters an error?

When errors occur, the run continues with the data it can collect and pushes records into your dataset as they’re found. If results are low, the guidance is to broaden `keywords` and add more related terms or additional `customDomains`.

***

### Get Help & Use Responsibly

Got a question about Zillow Email Scraper or a feature you'd like added? Reach out at <dataforleads@gmail.com>. We welcome requests like keyword/domain targeting improvements and better output for outreach workflows.

This actor collects **publicly available data**. It does not access private accounts, login-gated pages, or password-protected content. It’s your responsibility to ensure your use complies with GDPR, CCPA, and Zillow’s Terms of Service. For data removal requests, contact <dataforleads@gmail.com>. Use responsibly, ethically, and only for lawful purposes.

# Actor input Schema

## `keywords` (type: `array`):

A list of keywords to search for.

## `location` (type: `string`):

Location to filter search results.

## `platform` (type: `string`):

Select platform.

## `customDomains` (type: `array`):

List of custom email domains

## `maxEmails` (type: `integer`):

Maximum number of emails to collect. The scraper will stop once this limit is reached. Setting a higher limit allows for more potential results but doesn't guarantee reaching that number. This helps save costs by controlling scraping time.

## `engine` (type: `string`):

Choose scraping engine. 🚀 Cost Effective (New): Uses residential proxies with async requests for faster, cheaper scraping. 🔧 Legacy: Uses GOOGLE\_SERP proxy with traditional selectors - more reliable but slower and more expensive.

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

Configure proxies for this Actor.

## Actor input object example

```json
{
  "keywords": [
    "founder",
    "marketing"
  ],
  "location": "",
  "platform": "Zillow",
  "customDomains": [
    "@gmail.com"
  ],
  "maxEmails": 20,
  "engine": "legacy"
}
```

# 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 = {
    "keywords": [
        "founder",
        "marketing"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapeflux/zillow-email-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 = {
    "keywords": [
        "founder",
        "marketing",
    ],
    "location": "",
    "customDomains": ["@gmail.com"],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapeflux/zillow-email-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 '{
  "keywords": [
    "founder",
    "marketing"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com"
  ]
}' |
apify call scrapeflux/zillow-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Zillow Email Scraper",
        "description": "Zillow Email Scraper extracts real estate contacts including agent emails, broker details, phone numbers, property listings, company names, locations, and URLs from Zillow. Ideal for lead generation, real estate outreach, sales prospecting, market research, and CRM enrichment.",
        "version": "0.0",
        "x-build-id": "uBUSEe9yIzic01ORu"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapeflux~zillow-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapeflux-zillow-email-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/scrapeflux~zillow-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapeflux-zillow-email-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/scrapeflux~zillow-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapeflux-zillow-email-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",
                "required": [
                    "keywords"
                ],
                "properties": {
                    "keywords": {
                        "title": "Keywords",
                        "type": "array",
                        "description": "A list of keywords to search for.",
                        "default": [
                            "founder",
                            "marketing"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Location to filter search results.",
                        "default": ""
                    },
                    "platform": {
                        "title": "Platform",
                        "enum": [
                            "Zillow"
                        ],
                        "type": "string",
                        "description": "Select platform.",
                        "default": "Zillow"
                    },
                    "customDomains": {
                        "title": "Custom Email Domains",
                        "type": "array",
                        "description": "List of custom email domains",
                        "default": [
                            "@gmail.com"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxEmails": {
                        "title": "Max Emails",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of emails to collect. The scraper will stop once this limit is reached. Setting a higher limit allows for more potential results but doesn't guarantee reaching that number. This helps save costs by controlling scraping time.",
                        "default": 20
                    },
                    "engine": {
                        "title": "Engine",
                        "enum": [
                            "cost-effective",
                            "legacy"
                        ],
                        "type": "string",
                        "description": "Choose scraping engine. 🚀 Cost Effective (New): Uses residential proxies with async requests for faster, cheaper scraping. 🔧 Legacy: Uses GOOGLE_SERP proxy with traditional selectors - more reliable but slower and more expensive.",
                        "default": "legacy"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Configure proxies for this Actor."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
