# Home Service Business Lead Scraper (Canada) (`digitalnomadph/home-service-business-lead-scraper-ca`) Actor

Scrape publicly available Canadian home service business leads (plumbers, electricians, HVAC, and more) from Houzz and Yellow Pages Canada.

- **URL**: https://apify.com/digitalnomadph/home-service-business-lead-scraper-ca.md
- **Developed by:** [DigitalNomadPH](https://apify.com/digitalnomadph) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

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

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

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

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

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

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

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

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

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

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


# README

## Home Service Business Lead Scraper (Canada)

Collect verified contact data — phone numbers, addresses, websites, ratings, and service details — for home service contractors across Canada. The actor scrapes **Houzz** and **Yellow Pages Canada (YP.ca)** by default, with optional additional directories (HomeStars, BBB, and other secondary sources) for even broader coverage. It deduplicates records across sources and scores each lead by data completeness. Use it to build targeted outreach lists for plumbers, electricians, HVAC companies, roofers, landscapers, and more — no code required.

### Features

- Scrapes Canadian home service listings from Houzz and Yellow Pages Canada by default, with optional additional directories including HomeStars and BBB
- Supports 8 home service trade categories
- Deduplicates records across sources by phone, domain, name + location
- Quality scoring: each lead receives a 0–100 quality score and a `high` / `medium` / `low` band
- Configurable result cap (1–1,000 records) with per-source distribution logic
- Optional email extraction (only from explicitly labeled email fields)
- Optional website extraction
- Apify Proxy support for reliable access
- Debug mode for diagnosing source-level parsing issues
- Canadian address parsing: province codes (ON, BC, QC, ...) and postal codes (e.g. `M5V 3A8`)

### Why use Home Service Business Lead Scraper (Canada)?

This actor is useful for anyone who needs a list of local Canadian home service contractors:

- **Sales teams** prospecting HVAC, roofing, or plumbing companies for B2B outreach
- **Marketing agencies** building contact lists for local service verticals
- **Local SEO tools** seeding contractor data for a new market
- **Aggregator platforms** bootstrapping a contractor directory without a manual data entry effort
- **Researchers** studying the density and distribution of trade contractors by metro area

### How much will it cost?

This actor uses the **Pay-Per-Result** pricing model — you pay per lead returned, not for compute time. Your effective price per 1,000 results depends on your Apify plan:

| Plan                | Result             | Actor start (infrequent) |
|---------------------|--------------------|---------------------------|
| Free (no discount)  | $2.00 / 1,000      | $0.005                     |
| Starter (Bronze)    | $1.40 / 1,000      | $0.0035                    |
| Scale (Silver)      | $0.80 / 1,000      | $0.002                     |
| Business (Gold)     | $0.20 / 1,000      | $0.0005                    |

Platform usage is free on all plans. Higher-tier Apify subscriptions unlock a lower price per result, so heavier or recurring usage costs proportionally less as you scale up.

### How to use

1. Go to the [Apify Store](https://apify.com/store) page for this actor and click **Try for free**.
2. In the **Input** tab, select a **Category** (e.g., Plumber) and enter a **Location** (e.g., `Toronto, ON`).
3. Adjust **Maximum results** and select which **Sources** to scrape.
4. Click **Start** to run the actor.
5. When the run completes, open the **Storage** tab to download your leads as JSON, CSV, or Excel.

You can also run this actor via the [Apify API](https://docs.apify.com/api/v2) or schedule it to run on a recurring basis from the **Schedules** tab.

### Input Parameters

| Parameter             | Type    | Required | Default                     | Description |
|-----------------------|---------|----------|------------------------------|-------------|
| `category`            | string  | Yes      | `plumber`                    | Trade category to search. One of: `plumber`, `electrician`, `hvac`, `roofer`, `landscaper`, `cleaning_service`, `handyman`, `general_contractor` |
| `location`            | string  | Yes      | `Toronto, ON`                 | Canadian city or metro area. Example: `Vancouver, BC` or `Montreal, QC` |
| `maxResults`          | integer | No       | `30`                         | Maximum unique records to save (1–1,000). Distributed evenly across sources. |
| `sources`             | array   | No       | `["houzz", "yp"]`            | Directories to scrape. Select one or more. |
| `includeEmails`       | boolean | No       | `false`                      | Extract emails from explicitly labeled email fields on directory pages. |
| `includeWebsite`      | boolean | No       | `true`                       | Extract business website URLs. |
| `deduplicate`         | boolean | No       | `true`                       | Merge duplicate businesses found across sources. |
| `debugMode`           | boolean | No       | `false`                      | Log detailed source and parsing diagnostics to the run log. |
| `proxyConfiguration`  | object  | No       | `{ "useApifyProxy": true }`  | Apify Proxy settings. Recommended to keep enabled for reliable scraping. |

#### Example input

```json
{
  "category": "plumber",
  "location": "Toronto, ON",
  "maxResults": 30,
  "includeEmails": false,
  "includeWebsite": true,
  "deduplicate": true,
  "sources": ["houzz", "yp"],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
````

### Output

Each saved dataset item follows this schema:

```json
{
  "businessName": "ABC Plumbing Ltd",
  "sector": "home_services",
  "category": "plumber",
  "trade": "plumber",
  "phone": "+14165551212",
  "email": null,
  "website": "https://example.com",
  "profileUrl": "https://www.yellowpages.ca/bus/Ontario/Toronto/abc-plumbing-ltd.html",
  "address": "123 Main St",
  "city": "Toronto",
  "region": "ON",
  "postalCode": "M5V 3A8",
  "country": "CA",
  "rating": 4.7,
  "reviewCount": 128,
  "description": "Local plumbing company serving Toronto and surrounding areas.",
  "services": ["Drain cleaning", "Water heater repair"],
  "serviceArea": ["Toronto", "Mississauga"],
  "licenseNumber": null,
  "yearsInBusiness": null,
  "emergencyService": true,
  "source": "yp",
  "sourceName": "Yellow Pages Canada / YP.ca",
  "sourcesSeen": ["yp", "houzz"],
  "profileUrlsSeen": [
    "https://www.yellowpages.ca/bus/Ontario/Toronto/abc-plumbing-ltd.html",
    "https://www.houzz.com/professionals/abc-plumbing"
  ],
  "scrapedAt": "2026-06-15T00:00:00.000Z",
  "qualityScore": 87,
  "qualityBand": "high"
}
```

**Field notes:**

- `qualityScore` — 0–100 based on data completeness (phone, address, website, email, rating, description).
- `qualityBand` — `high` (≥80), `medium` (≥50), or `low` (<50).
- `sourcesSeen` — all source IDs where this business was found (populated after deduplication).
- `profileUrlsSeen` — all directory profile URLs found for this business.
- `emergencyService` — `true` if the description mentions 24/7 or emergency service; `null` if unknown.

### Supported Sources

| Source ID               | Display Name              | Default | Canadian coverage |
|--------------------------|---------------------------|---------|-------------------|
| `houzz`                  | Houzz                     | Yes     | Good — Houzz lists Canadian pros under the same domain. |
| `yp`                     | Yellow Pages Canada / YP.ca| Yes    | Native Canadian directory. |
| `homestars`              | HomeStars                 | No      | Canada's largest home-services directory (Canada-only, no US equivalent). Reliably returns business name, city, rating, review count, and services. Note: this source is a quote-request marketplace, so `phone` and `website` are not available from it — enable it to broaden coverage and ratings data, not for contact details. |
| `bbb`                    | BBB                       | No      | Validated for Canada — real local listings complete with phone, full address, and postal code. Not enabled by default because it needs a residential proxy to access reliably. |
| `manta`                  | Manta                     | No      | US-oriented; unverified for Canadian cities. |
| `chamber_of_commerce`    | Chamber of Commerce       | No      | US-oriented; unverified for Canadian cities. |
| `porch`                  | Porch                     | No      | US-oriented; unverified for Canadian cities. |
| `merchant_circle`        | MerchantCircle            | No      | US-oriented; unverified for Canadian cities. |

Houzz, Yellow Pages Canada, HomeStars, and BBB all require a residential proxy for reliable access — see the **Proxy** tip below. The remaining sources are lighter-weight and opt-in — validate results for your target location before relying on them.

### Supported Categories

| Input value          | Description               |
|----------------------|---------------------------|
| `plumber`            | Plumbers                  |
| `electrician`        | Electricians              |
| `hvac`               | HVAC companies            |
| `roofer`             | Roofers                   |
| `landscaper`         | Landscapers               |
| `cleaning_service`   | Cleaning services         |
| `handyman`           | Handyman services         |
| `general_contractor` | General contractors       |

Category aliases are accepted (e.g. `"plumbing contractor"` normalizes to `"plumber"`).

### Tips

- **Per-source cap:** When multiple sources are selected, the actor applies a per-source limit of `ceil(maxResults / numberOfSources)` to prevent a single fast source from filling the entire result quota before slower sources contribute.
- **Proxy:** Residential proxy is recommended (and set by default). Several sources, including Yellow Pages Canada, Houzz, HomeStars, and BBB, block datacenter IPs on the Apify platform.
- **Location format:** Use `City, PROV` format (e.g. `Toronto, ON`, `Vancouver, BC`). Multi-word cities work fine: `Saint John, NB`.
- **Email extraction:** Enable `includeEmails` only when you specifically need email addresses. Emails are only extracted from labeled email fields on profile pages — not guessed from description text.
- **Deduplication:** When `deduplicate` is `true`, records found across multiple sources are merged and the `sourcesSeen` array reflects all sources where the business was found.

### Limitations

- Canadian locations only.
- Yellow Pages Canada (YP.ca) has not yet been verified against a live production run. Validate a small run before relying on this source in production.
- HomeStars does not expose phone numbers or websites publicly; it contributes name, rating, review, and category data rather than contact details.
- Manta, Chamber of Commerce, Porch, and MerchantCircle are US-oriented directories; Canadian coverage is unverified and likely sparse or empty for many locations.
- Public pages only — no login support.
- No CAPTCHA solving.
- No deep website crawling.
- No email verification.
- No CRM integrations.
- Source selectors may require maintenance when directory layouts change.

### Responsible Use

This actor extracts publicly available business information from supported directory pages. Users are responsible for ensuring that their use of the scraped data complies with applicable laws, platform terms of service, privacy regulations (including CASL, PIPEDA, GDPR where applicable), and marketing rules. The actor must not be used to collect private, login-gated, sensitive, or restricted information.

### Local Development

```bash
npm install
npx playwright install chromium   # required for Houzz, Yellow Pages Canada, HomeStars, and BBB
npm test
npm run build
npm start
```

Local runs use Apify local storage under `storage/`. Set `APIFY_HEADLESS=1` to run Playwright in headless mode locally.

### Support

Found a bug or want to request a new source or category? Open an issue on the actor's GitHub repository or contact the author through Apify.

# Actor input Schema

## `category` (type: `string`):

Home service category to scrape.

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

Canadian city, metro, or region to search, for example Toronto, ON.

## `maxResults` (type: `integer`):

Maximum number of unique records to save.

## `includeEmails` (type: `boolean`):

Extract only emails visibly present on supported public directory pages.

## `includeWebsite` (type: `boolean`):

Extract business website links when visible.

## `deduplicate` (type: `boolean`):

Merge duplicate records across selected sources.

## `sources` (type: `array`):

Public directories to scrape. Houzz and Yellow Pages Canada (YP.ca) are enabled by default. HomeStars is Canada's largest home-services directory — it contributes business name, rating, review count, and city, but not phone or website (it's a quote-request marketplace, not a listing with public contact details). BBB provides real Canadian listings with phone, full address, and postal code. Manta, Chamber of Commerce, Porch, and MerchantCircle are US-oriented directories with uneven Canadian coverage — enable only if you've validated results for your target location.

## `debugMode` (type: `boolean`):

Log extra source and parsing diagnostics.

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

Apify Proxy configuration. Residential proxy is recommended for reliable access to all sources.

## Actor input object example

```json
{
  "category": "plumber",
  "location": "Toronto, ON",
  "maxResults": 30,
  "includeEmails": false,
  "includeWebsite": true,
  "deduplicate": true,
  "sources": [
    "houzz",
    "yp"
  ],
  "debugMode": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

Dataset items containing normalized home service business leads.

## `runSummary` (type: `string`):

Summary of requested sources, successful sources, failed sources, saved records, and source-level counts.

# 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 = {
    "category": "plumber",
    "location": "Toronto, ON"
};

// Run the Actor and wait for it to finish
const run = await client.actor("digitalnomadph/home-service-business-lead-scraper-ca").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 = {
    "category": "plumber",
    "location": "Toronto, ON",
}

# Run the Actor and wait for it to finish
run = client.actor("digitalnomadph/home-service-business-lead-scraper-ca").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 '{
  "category": "plumber",
  "location": "Toronto, ON"
}' |
apify call digitalnomadph/home-service-business-lead-scraper-ca --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=digitalnomadph/home-service-business-lead-scraper-ca",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Home Service Business Lead Scraper (Canada)",
        "description": "Scrape publicly available Canadian home service business leads (plumbers, electricians, HVAC, and more) from Houzz and Yellow Pages Canada.",
        "version": "0.1",
        "x-build-id": "RDolSu83mMaPjEdVy"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/digitalnomadph~home-service-business-lead-scraper-ca/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-digitalnomadph-home-service-business-lead-scraper-ca",
                "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/digitalnomadph~home-service-business-lead-scraper-ca/runs": {
            "post": {
                "operationId": "runs-sync-digitalnomadph-home-service-business-lead-scraper-ca",
                "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/digitalnomadph~home-service-business-lead-scraper-ca/run-sync": {
            "post": {
                "operationId": "run-sync-digitalnomadph-home-service-business-lead-scraper-ca",
                "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": [
                    "category",
                    "location"
                ],
                "properties": {
                    "category": {
                        "title": "Category",
                        "enum": [
                            "plumber",
                            "electrician",
                            "hvac",
                            "roofer",
                            "landscaper",
                            "cleaning_service",
                            "handyman",
                            "general_contractor"
                        ],
                        "type": "string",
                        "description": "Home service category to scrape."
                    },
                    "location": {
                        "title": "Location",
                        "minLength": 1,
                        "type": "string",
                        "description": "Canadian city, metro, or region to search, for example Toronto, ON."
                    },
                    "maxResults": {
                        "title": "Maximum results",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of unique records to save.",
                        "default": 30
                    },
                    "includeEmails": {
                        "title": "Include emails",
                        "type": "boolean",
                        "description": "Extract only emails visibly present on supported public directory pages.",
                        "default": false
                    },
                    "includeWebsite": {
                        "title": "Include websites",
                        "type": "boolean",
                        "description": "Extract business website links when visible.",
                        "default": true
                    },
                    "deduplicate": {
                        "title": "Deduplicate",
                        "type": "boolean",
                        "description": "Merge duplicate records across selected sources.",
                        "default": true
                    },
                    "sources": {
                        "title": "Sources",
                        "type": "array",
                        "description": "Public directories to scrape. Houzz and Yellow Pages Canada (YP.ca) are enabled by default. HomeStars is Canada's largest home-services directory — it contributes business name, rating, review count, and city, but not phone or website (it's a quote-request marketplace, not a listing with public contact details). BBB provides real Canadian listings with phone, full address, and postal code. Manta, Chamber of Commerce, Porch, and MerchantCircle are US-oriented directories with uneven Canadian coverage — enable only if you've validated results for your target location.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "houzz",
                                "yp",
                                "homestars",
                                "bbb",
                                "manta",
                                "chamber_of_commerce",
                                "porch",
                                "merchant_circle"
                            ],
                            "enumTitles": [
                                "Houzz",
                                "Yellow Pages Canada / YP.ca",
                                "HomeStars",
                                "BBB",
                                "Manta",
                                "Chamber of Commerce",
                                "Porch",
                                "MerchantCircle"
                            ]
                        },
                        "default": [
                            "houzz",
                            "yp"
                        ]
                    },
                    "debugMode": {
                        "title": "Debug mode",
                        "type": "boolean",
                        "description": "Log extra source and parsing diagnostics.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify Proxy configuration. Residential proxy is recommended for reliable access to all sources.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
