# Commercialrealestate.com.au · AU Commercial · $1.50/1k (`memo23/commercialrealestate-au-scraper`) Actor

Extract commercial property from commercialrealestate.com.au, 40+ fields per row:  offices, retail, industrial, development sites & businesses across for-sale, for-lease, sold and leased. One row per property with agency contacts, agent mobiles, areas, prices and EOI deadline and email harvest

- **URL**: https://apify.com/memo23/commercialrealestate-au-scraper.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** Real estate, Automation, Agents
- **Stats:** 5 total users, 4 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.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

## Commercialrealestate.com.au Scraper — AU Commercial Property + Agent Contacts

Scrape **commercialrealestate.com.au**, Australia's leading commercial property portal (owned by Nine Entertainment / Domain Holdings). Extract for-sale, for-lease, sold, and business-for-sale listings with **40+ fields per property** — including agency contacts, agents with mobile numbers, EOI/auction deadlines, land/build area, transit access, and NBN availability.

![How it works](https://raw.githubusercontent.com/muhamed-didovic/muhamed-didovic.github.io/main/assets/how-it-works-commercialrealestate.png)

### Why use this scraper

- **Commercial-specific fields** — property type (office / retail / industrial / medical / development), land & build area, sale method (EOI / auction / private treaty), and tenancy context. Built for commercial property research, not residential.
- **Full agent + agency contacts** — agency name, website, phone, full address, plus every listing agent's name, mobile, photo, and profile URL. Optional email harvest from each agency's website.
- **Auto-classifies any URL** — paste a search page, an individual property, an agent profile, or an agency profile. The actor routes each one automatically.
- **Pure HTTP, no browser** — fast, cheap, and reliable. No Playwright, no third-party unlocking services.
- **CSV-friendly output** — nested fields are auto-flattened for instant spreadsheet analysis (toggleable).

### Overview

commercialrealestate.com.au is Australia's #1 dedicated commercial property marketplace, listing offices, retail spaces, industrial sheds, medical suites, development sites, and businesses for sale across every state. This actor turns any listing URL into structured rows — ideal for commercial agents, buyers' advocates, property investors, and market-research teams.

### Supported inputs

| Input URL shape | Example | Output |
|---|---|---|
| **Listing search** | `/for-sale/vic/melbourne-3000/` | Fans out to all property rows (paginated) |
| **For lease** | `/for-lease/nsw/sydney-2000/` | Lease listings |
| **Sold** | `/sold/qld/brisbane-4000/` | Sold listings |
| **Business for sale** | `/businesses-for-sale/` | Business listings |
| **Individual property** | `/property/{slug}-vic-3127-2020877408` | 1 property row |
| **Agent profile** | `/agent-profile/{slug}` | That agent's listings |
| **Agency profile** | `/real-estate-agents/{slug}` | That agency's listings |

Mix and match freely in one run — every URL is auto-classified.

### Use cases

- **Commercial buyers' agents** — monitor new listings by region + property type, pull agent contacts for off-market enquiries.
- **Property investors** — track for-sale + sold comparables, EOI deadlines, and yield-relevant data (land/build area, tenancy).
- **Commercial agencies** — competitive intelligence on rival listings + agent activity.
- **PropTech / data teams** — feed structured AU commercial property data into valuation models, CRMs, or market dashboards.
- **Lead generation** — harvest agency contact emails for B2B outreach.

### How it works

1. You provide one or more commercialrealestate.com.au URLs.
2. The actor classifies each URL (search / property / agent / agency).
3. Search URLs fan out to individual property detail pages (paginated).
4. Each detail page is parsed from the site's embedded Next.js data into 40+ structured fields.
5. Optionally, contact emails are harvested from each agency's own website.
6. Rows stream to your dataset — export as JSON or CSV.

### Input configuration

| Field | Type | Default | Description |
|---|---|---|---|
| `startUrls` | array | — | commercialrealestate.com.au URLs to crawl |
| `harvestEmails` | boolean | `true` | Follow each agency website + harvest contact emails |
| `fanOutToDetail` | boolean | `true` | Fetch full detail pages (40+ fields). Disable for cheaper listing-only mode |
| `flatten` | boolean | `true` | Flatten nested fields for CSV-friendly output |
| `maxItems` | integer | `1000` | Hard cap on rows collected |
| `maxConcurrency` | integer | `4` | Parallel detail fetches (CRE is rate-limit sensitive) |

### Output overview

One row per commercial property, with all nested data (agents, calendar events, transit stops) bundled into the single row.

### Output sample

```json
{
  "listingId": "2020877408",
  "displayableAddress": "687 Whitehorse Road Mont Albert VIC 3127",
  "suburb": "Mont Albert",
  "state": "VIC",
  "postcode": "3127",
  "listingMode": "sale",
  "saleType": "Expressions of Interest",
  "propertyTypeNames": ["Offices", "Other"],
  "landArea": "359 m²",
  "buildArea": "502 m²",
  "headline": "Highly versatile office building of 502sqm",
  "eoiClosingDateTime": "25/06/2026 14:00",
  "agency": {
    "agencyName": "Gorman Commercial Real Estate Pty Ltd",
    "agencyWebsite": "http://gormancommercial.com.au/",
    "generalPhoneNumber": "03 98114222",
    "fullAddress": "L1, 415 Riversdale Road Hawthorn East VIC 3123"
  },
  "agents": [
    { "fullName": "Tom Maule", "mobile": "0401 636 049", "agentProfileSeoUrl": "https://www.commercialrealestate.com.au/agent-profile/tom-maule-1936363/" }
  ],
  "nearestTransitMeters": 82,
  "nbnTechType": "HFC",
  "harvestedEmails": []
}
````

### Key output fields

| Field | Description |
|---|---|
| `listingId` | The property's numeric ad ID |
| `displayableAddress`, `suburb`, `state`, `postcode` | Location |
| `listingMode` | sale / lease / sold / business |
| `saleType` | "Expressions of Interest" / "Commercial Auction" / "For Sale" / "Private Treaty" |
| `propertyTypeNames` | Commercial categories (Offices, Retail, Industrial, Medical, etc.) |
| `landArea`, `buildArea` | Floor/land areas with units |
| `priceDisplay` | Displayed price (blank when "Contact Agent") |
| `headline`, `description` | Listing copy |
| `agency` | Agency name, website, phone, full address |
| `agents[]` | Each agent's name, mobile, telephone, photo, profile URL |
| `calendarEvents[]` | Inspection / EOI / auction events with ICS download links |
| `eoiClosingDateTime` | Convenience extract of the EOI closing date |
| `transportStops[]` | Distance-ranked nearby bus / tram / train stops |
| `nbnTechType`, `nbnServiceStatus` | NBN broadband availability |
| `listingFaqList[]` | Pre-generated property FAQ |
| `harvestedEmails[]` | Contact emails found on the agency website (when enabled) |

### FAQ

**Is commercialrealestate.com.au owned by REA Group?**
No. It's owned by Nine Entertainment / Domain Holdings — the same group behind Domain.com.au. It is a separate company from REA Group (realestate.com.au / realcommercial.com.au).

**Why is `priceDisplay` sometimes blank?**
Many commercial listings show "Contact Agent" or run via Expressions of Interest instead of a fixed price. In those cases `priceDisplay` is empty and you'll find pricing context in `saleType` and `headline`.

**Why are some emails empty?**
Email harvest follows the agency's own website. Not all agencies publish a contact email; in those cases `harvestedEmails` is an empty array. Phone numbers are always available via `agency.generalPhoneNumber` and `agents[].mobile`.

**Can I scrape only the listing page without detail fetches?**
Yes — set `fanOutToDetail: false` for a faster, cheaper listing-only mode (~15 fields per row instead of 40+).

### Support

Found a bug or need a new field? Open an issue on the actor's Apify Console page and we'll respond quickly.

### Additional services

Need other Australian property data? See our companion actors below.

### Explore more scrapers

- **[Domain.com.au Scraper](https://apify.com/memo23/domain-com-au-scraper)** — residential rent/sale/sold + full agent data (CRE's sister site)
- **[AU Property Multi-Portal Scraper](https://apify.com/memo23/au-property-multi-portal-scraper)** — Domain + realestate.com.au + Ray White in one actor
- **[Realtor.com Scraper](https://apify.com/memo23/realtor-search-cheerio)** — US residential listings + agents
- **[LoopNet Scraper](https://apify.com/memo23/loopnet-scraper-ppe)** — US + UK commercial property

Full portfolio: [apify.com/memo23](https://apify.com/memo23)

### ⚠️ Disclaimer

This scraper accesses only publicly available data on commercialrealestate.com.au. Use the extracted data in compliance with commercialrealestate.com.au's Terms of Use, the Australian Privacy Act 1988, and all applicable laws. You are responsible for how you use scraped data — particularly any personal information (agent names, phone numbers). Do not use harvested contact data for unsolicited bulk messaging in violation of the Spam Act 2003. This actor is not affiliated with, endorsed by, or connected to commercialrealestate.com.au, Domain Holdings, or Nine Entertainment.

### SEO Keywords

commercialrealestate.com.au scraper, commercial real estate australia scraper, AU commercial property scraper, commercial property data extraction, commercial listings scraper, office space scraper australia, retail property scraper, industrial property listings, commercial property agents scraper, EOI listings scraper, commercial real estate API, australian commercial property data, commercial property leads, agency contact scraper, commercial property for lease scraper, business for sale scraper australia

# Actor input Schema

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

Full commercialrealestate.com.au URLs to crawl. Listing URLs are paginated automatically until `Maximum items to scrape` is reached.

## `harvestEmails` (type: `boolean`):

When enabled (default), each row's `agency.agencyWebsite` is followed and contact emails found there are added to `harvestedEmails`. Per-website deduped across the run. Adds ~0.3-1s per unique agency website.

## `fanOutToDetail` (type: `boolean`):

When enabled (default), each listing-page result fans out to its detail page for full data extraction (40+ fields per row). Disable for a cheaper 'listing-only' mode that uses the partial data visible on the search page (~15 fields per row, ~3x faster, no extra HTTP per row).

## `flatten` (type: `boolean`):

When enabled (default), nested objects (`agency`, `agents`, `calendarEvents`, `transportStops`) are expanded to underscore-separated top-level keys. Arrays of objects become JSON-stringified into `*_json` fields. Disable to keep the full nested JSON for code post-processing.

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

Hard cap on the number of properties collected. Domain listings paginate 20 results per page; use this cap to control billing.

## `maxConcurrency` (type: `integer`):

Maximum number of detail pages processed in parallel. Higher = faster but more proxy bandwidth + higher risk of transient errors. 6-10 is the sweet spot.

## `minConcurrency` (type: `integer`):

Minimum number of detail pages processed in parallel.

## `maxRequestRetries` (type: `integer`):

Number of retries before a failed request is given up. Transient errors (thin or empty bodies) are auto-detected and retried; this counter covers other failures too.

## `proxy` (type: `object`):

Defaults to Apify Residential with `country=AU` — the recommended pool for reliable Domain.com.au runs. Override with your own residential proxy provider if you prefer.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.commercialrealestate.com.au/for-sale/",
    "https://www.commercialrealestate.com.au/for-lease/vic/melbourne-3000/",
    "https://www.commercialrealestate.com.au/sold/nsw/sydney-2000/",
    "https://www.commercialrealestate.com.au/property/687-whitehorse-road-mont-albert-vic-3127-2020877408"
  ],
  "harvestEmails": true,
  "fanOutToDetail": true,
  "flatten": true,
  "maxItems": 10000,
  "maxConcurrency": 8,
  "minConcurrency": 1,
  "maxRequestRetries": 5,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "AU"
  }
}
```

# 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": [
        "https://www.commercialrealestate.com.au/for-sale/",
        "https://www.commercialrealestate.com.au/for-lease/vic/melbourne-3000/",
        "https://www.commercialrealestate.com.au/sold/nsw/sydney-2000/",
        "https://www.commercialrealestate.com.au/property/687-whitehorse-road-mont-albert-vic-3127-2020877408"
    ],
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "AU"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/commercialrealestate-au-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": [
        "https://www.commercialrealestate.com.au/for-sale/",
        "https://www.commercialrealestate.com.au/for-lease/vic/melbourne-3000/",
        "https://www.commercialrealestate.com.au/sold/nsw/sydney-2000/",
        "https://www.commercialrealestate.com.au/property/687-whitehorse-road-mont-albert-vic-3127-2020877408",
    ],
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "AU",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("memo23/commercialrealestate-au-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": [
    "https://www.commercialrealestate.com.au/for-sale/",
    "https://www.commercialrealestate.com.au/for-lease/vic/melbourne-3000/",
    "https://www.commercialrealestate.com.au/sold/nsw/sydney-2000/",
    "https://www.commercialrealestate.com.au/property/687-whitehorse-road-mont-albert-vic-3127-2020877408"
  ],
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "AU"
  }
}' |
apify call memo23/commercialrealestate-au-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Commercialrealestate.com.au · AU Commercial · $1.50/1k",
        "description": "Extract commercial property from commercialrealestate.com.au, 40+ fields per row:  offices, retail, industrial, development sites & businesses across for-sale, for-lease, sold and leased. One row per property with agency contacts, agent mobiles, areas, prices and EOI deadline and email harvest",
        "version": "0.0",
        "x-build-id": "HpTSeEFWjBb8CTMOH"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/memo23~commercialrealestate-au-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-memo23-commercialrealestate-au-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/memo23~commercialrealestate-au-scraper/runs": {
            "post": {
                "operationId": "runs-sync-memo23-commercialrealestate-au-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/memo23~commercialrealestate-au-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-memo23-commercialrealestate-au-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": "commercialrealestate.com.au URLs",
                        "type": "array",
                        "description": "Full commercialrealestate.com.au URLs to crawl. Listing URLs are paginated automatically until `Maximum items to scrape` is reached.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "harvestEmails": {
                        "title": "Harvest contact emails from each agency website",
                        "type": "boolean",
                        "description": "When enabled (default), each row's `agency.agencyWebsite` is followed and contact emails found there are added to `harvestedEmails`. Per-website deduped across the run. Adds ~0.3-1s per unique agency website.",
                        "default": true
                    },
                    "fanOutToDetail": {
                        "title": "Fan out to detail pages",
                        "type": "boolean",
                        "description": "When enabled (default), each listing-page result fans out to its detail page for full data extraction (40+ fields per row). Disable for a cheaper 'listing-only' mode that uses the partial data visible on the search page (~15 fields per row, ~3x faster, no extra HTTP per row).",
                        "default": true
                    },
                    "flatten": {
                        "title": "Flatten nested fields for CSV-friendly output",
                        "type": "boolean",
                        "description": "When enabled (default), nested objects (`agency`, `agents`, `calendarEvents`, `transportStops`) are expanded to underscore-separated top-level keys. Arrays of objects become JSON-stringified into `*_json` fields. Disable to keep the full nested JSON for code post-processing.",
                        "default": true
                    },
                    "maxItems": {
                        "title": "Maximum items to scrape",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Hard cap on the number of properties collected. Domain listings paginate 20 results per page; use this cap to control billing.",
                        "default": 10000
                    },
                    "maxConcurrency": {
                        "title": "Max concurrency",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of detail pages processed in parallel. Higher = faster but more proxy bandwidth + higher risk of transient errors. 6-10 is the sweet spot.",
                        "default": 8
                    },
                    "minConcurrency": {
                        "title": "Min concurrency",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Minimum number of detail pages processed in parallel.",
                        "default": 1
                    },
                    "maxRequestRetries": {
                        "title": "Max request retries",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Number of retries before a failed request is given up. Transient errors (thin or empty bodies) are auto-detected and retried; this counter covers other failures too.",
                        "default": 5
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Defaults to Apify Residential with `country=AU` — the recommended pool for reliable Domain.com.au runs. Override with your own residential proxy provider if you prefer."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
