# Real Estate Agents Google Maps Scraper (`mukeshrana90/real-estate-agents-google-maps-scraper`) Actor

Scrape real estate agents and brokerages from Google Maps with email, social, brokerage, specializations, property types, designations, languages, services, listing portals, sentiment, booking / free-valuation, metro & agent-type classification.

- **URL**: https://apify.com/mukeshrana90/real-estate-agents-google-maps-scraper.md
- **Developed by:** [Mukesh Kumar](https://apify.com/mukeshrana90) (community)
- **Categories:** Lead generation, Real estate
- **Stats:** 4 total users, 3 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 results

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

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

## Real Estate Agents Google Maps Scraper

Scrape real estate agents, REALTORs, and brokerages from Google Maps and enrich each result with emails, social media links, brokerage affiliation, specializations, property types, NAR designations, languages spoken, services offered, listing-portal presence, customer review sentiment, online-booking / free-home-valuation detection, metro area classification, and agent-type classification (solo / team / brokerage office).

Built for real-estate-tech SaaS, mortgage lenders, title companies, recruiting brokerages, real-estate marketing agencies, and investors who need structured, CRM-ready data from Google Maps.

### What data do you get?

Each scraped agent / brokerage includes up to **35+ fields** across these categories:

| Category | Fields |
|----------|--------|
| **Identity** | name, category, subCategories, brokerageName |
| **Location** | address, city, state, postalCode, country, latitude, longitude |
| **Contact** | phone, website, email |
| **Social Media** | instagram, facebook, linkedin, twitter |
| **Real Estate** | specializations, propertyTypes, designations, languagesSpoken, servicesOffered, listingPlatforms |
| **Niche** | hasOnlineBooking, bookingPlatform, bookingUrl, hasFreeValuation, freeValuationEvidence, freeValuationUrl, isMetroArea, metroName, metroTier, agentType, agentTypeLabel, agentTypeConfidence |
| **Reputation** | rating, reviewCount, reviewSentiment (label, score, topThemes, snippets) |
| **Operational** | hours, isOpenNow |
| **Metadata** | placeId, mapsUrl, scrapedAt, searchTerm, searchLocation |

### Sample output

```json
{
    "name": "Jane Doe — Compass Real Estate",
    "category": "Real estate agent",
    "subCategories": ["Real estate agent", "Luxury real estate agency"],
    "brokerageName": "Compass",
    "specializations": ["Residential", "Luxury", "Investment"],
    "propertyTypes": ["Single-Family Home", "Condo / Townhouse"],
    "designations": ["Certified Residential Specialist", "Accredited Buyer's Representative"],
    "address": "90 5th Ave",
    "fullAddress": "90 5th Ave, New York, NY 10011, United States",
    "city": "New York",
    "state": "NY",
    "country": "United States",
    "postalCode": "10011",
    "latitude": 40.7368,
    "longitude": -73.9929,
    "phone": "+12125550100",
    "website": "https://janedoe-nyc.com/",
    "email": "jane@janedoe-nyc.com",
    "instagram": "https://instagram.com/janedoe.nyc",
    "facebook": "https://facebook.com/janedoenyc",
    "linkedin": "https://linkedin.com/in/janedoe-realtor",
    "twitter": null,
    "languagesSpoken": ["Spanish", "Mandarin"],
    "servicesOffered": ["Buyer Representation", "Seller Representation", "Free Home Valuation", "Home Staging"],
    "listingPlatforms": ["zillow.com", "realtor.com", "compass.com"],
    "hasOnlineBooking": true,
    "bookingPlatform": "calendly.com",
    "bookingUrl": "https://calendly.com/janedoe-nyc/30min",
    "hasFreeValuation": true,
    "freeValuationEvidence": "free home valuation",
    "freeValuationUrl": "https://janedoe-nyc.com/home-value",
    "isMetroArea": true,
    "metroName": "New York Metro",
    "metroTier": 1,
    "agentType": "solo_agent",
    "agentTypeLabel": "Solo Real Estate Agent",
    "agentTypeConfidence": "medium",
    "rating": 4.9,
    "reviewCount": 64,
    "reviewSentiment": {
        "label": "Positive",
        "score": 92,
        "topThemes": ["expertise", "communication", "negotiation"],
        "reviewsAnalysed": 10,
        "avgRating": 4.9,
        "snippets": {
            "positive": [
                "Jane was incredibly knowledgeable and negotiated $40k off our asking price...",
                "Smooth process from listing to close — she communicated with us every step..."
            ],
            "negative": []
        }
    },
    "hours": {
        "Monday": "9 am–6 pm",
        "Tuesday": "9 am–6 pm",
        "Wednesday": "9 am–6 pm",
        "Thursday": "9 am–6 pm",
        "Friday": "9 am–6 pm",
        "Saturday": "10 am–4 pm",
        "Sunday": "Closed"
    },
    "isOpenNow": true,
    "placeId": "0x89c2598ad12f1a8b:0x123abc456def7890",
    "mapsUrl": "https://www.google.com/maps/place/...",
    "scrapedAt": "2026-05-26T14:30:00.000Z",
    "searchTerm": "real estate agent",
    "searchLocation": "New York, USA"
}
````

### How to use

1. **Search terms** — Enter categories like `real estate agent`, `realtor`, `real estate broker`, `luxury real estate`, `commercial real estate`, `property management`.
2. **Locations** — Enter cities or regions like `New York, USA`, `London, UK`, `Toronto, Canada`, `Dubai, UAE`.
3. **Max results** — Set how many places to return (up to 500).
4. **Toggle enrichment** — Enable or disable email extraction, social media, real-estate fields, and niche classification independently.

### Input example

```json
{
    "searchTerms": ["real estate agent", "luxury real estate"],
    "locations": ["New York, USA", "Los Angeles, USA"],
    "maxResults": 100,
    "minRating": 4.0,
    "enrichEmails": true,
    "enrichSocials": true,
    "enrichRealEstate": true,
    "enrichRealEstateNiche": true
}
```

### Enrichment pipeline

The scraper runs a 3-phase enrichment pipeline for each agent:

#### 1. Google Maps scraping

Extracts name, category, sub-category tags, address, phone, website, rating, reviews, hours, coordinates, and place ID directly from Google Maps search results.

#### 2. Maps Overview enrichment (single Maps navigation)

- **Brokerage** — Detected from the agent's name (e.g. "Jane Doe — RE/MAX Realty") against a curated list of major US / UK / Australia / Canada brokerages.
- **Specializations** — Residential, commercial, luxury, investment, new construction, land, foreclosures, rentals, property management, first-time buyers, relocation, multi-family, waterfront, equestrian — inferred from Maps category + sub-category tags.
- **Languages** — Scanned from the Maps "About" attributes panel.
- **Online booking / free valuation** — Detected from action buttons on the Maps Overview tab.
- **Metro area** — Classified against a curated database of metros across USA, UK, India, UAE, Australia, and Canada with tier rankings (1-3).
- **Review sentiment** — Clicks the Reviews tab on Maps, extracts up to 10 reviews, and runs keyword-based sentiment analysis tuned for real-estate vocabulary (expertise, communication, negotiation, process, market care). Returns a label (Positive/Mixed/Negative), a 0-100 score, top themes, and representative snippets.

#### 3. Website enrichment (single agent-website visit)

- **Email** — Visits the agent / brokerage website and extracts the best email using domain matching and scoring. Prefers role mailboxes like `agent@`, `broker@`, `sales@`, `listings@`, `leasing@`. Tries `/contact` as fallback. Filters out generic addresses (noreply, support, etc.).
- **Social media** — Extracts Instagram, Facebook, LinkedIn, and Twitter/X profile links.
- **Brokerage (fallback)** — If not detected from the name, scans the website for major brokerage names.
- **Specializations (union)** — Adds website signals on top of Maps-derived specializations.
- **Property types** — Single-family / condo / multi-family / land / commercial / industrial / etc.
- **Designations** — CRS, ABR, GRI, SRES, CCIM, SIOR, RENE, CLHMS, e-PRO, REALTOR® badge, and broker labels (Broker Associate, Managing Broker, Designated Broker).
- **Languages (union)** — Adds website signals on top of Maps-derived languages.
- **Services** — Buyer representation, seller representation, CMA / free home valuation, property management, investment consulting, relocation, staging, mortgage referrals, short sale / foreclosure, 1031 exchange, etc.
- **Listing portals** — Detects Zillow / Realtor.com / Redfin / Trulia / Compass / Rightmove / Zoopla / Bayut / PropertyFinder / realestate.com.au / realtor.ca links found on the agent's site.
- **Online booking (fallback)** — Calendly, Cal.com, Acuity, ShowingTime, ShowMojo, Rently, HubSpot Meetings, ChiliPiper, SavvyCal — plus native-form heuristic.
- **Free home valuation (fallback)** — "Free home valuation", "What's my home worth", "Free CMA", and other valuation CTAs.

#### Agent-type classification (pure compute)

After enrichment completes, the agent is classified as:

- `solo_agent` — single-agent listing on Maps
- `team` — team / group naming, or solo agent with high review volume
- `brokerage_office` — agency / brokerage office category
- `unknown` — insufficient signals

### Use cases

- **Real-estate-tech SaaS** — Lead lists of agents by brokerage, specialization, and online presence (CRM, listing tools, CMA software, transaction management).
- **Mortgage lenders & title companies** — Find local agents / brokerages by metro and property type.
- **Recruiting brokerages** — Target solo agents not yet on top brokerage rosters; filter by review volume and specialization.
- **Real-estate marketing agencies** — Build outbound lists by metro, agent type, and online maturity (no booking tool, no CMA page, etc.).
- **Investors** — Find agents specialising in foreclosures, investment property, or multi-family.
- **Market research** — Analyze agent density, brokerage mix, designation prevalence, and sentiment by metro.

### Proxy

This actor requires **residential proxies** to avoid Google Maps blocks. Apify residential proxy is configured by default. For best results, use the `RESIDENTIAL` proxy group.

### Cost estimate

Each Google Maps search page processes up to ~20 results. With all enrichment enabled, each agent takes 20-40 seconds (one website visit per agent for emails, designations, services, listing-portal scan, booking/valuation fallback). A typical run of 100 results with full enrichment uses approximately 0.5-1.0 compute units on Apify.

### Limitations

- Google Maps may return different results based on proxy location.
- Review sentiment analysis uses keyword matching (no LLM) — works best with 5+ reviews.
- Brokerage detection is name-driven first, then a website scan — small independent brokerages without national affiliation will read as `null`.
- Designation detection relies on the agent's website displaying the credentials in body text (NAR member directories aren't scraped).
- Metro area classification covers major metros in USA, UK, India, UAE, Australia, and Canada.

# Actor input Schema

## `searchTerms` (type: `array`):

Real-estate categories to search for (e.g. real estate agent, realtor, real estate broker, luxury real estate, commercial real estate)

## `locations` (type: `array`):

Cities, regions, or countries to search in (e.g. New York, USA or London, UK)

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

Maximum number of agents / brokerages to scrape in total across all search term + location combinations

## `minRating` (type: `number`):

Only include agents / brokerages with this Google rating or above (0 = no filter)

## `enrichEmails` (type: `boolean`):

Visit each agent's / brokerage's website and extract the best contact email (homepage + /contact fallback). Prefers agent@ / broker@ / sales@ / listings@ over generic addresses.

## `enrichSocials` (type: `boolean`):

Extract Instagram, Facebook, LinkedIn, and X/Twitter profile links from the agent's website

## `enrichRealEstate` (type: `boolean`):

Extract brokerage affiliation (RE/MAX, Compass, Keller Williams, …), specializations (residential / commercial / luxury / investment / land / rentals), property types, NAR designations (CRS, ABR, GRI, SRES, CCIM…), languages spoken, services offered, listing-portal presence (Zillow / Realtor.com / Redfin / Trulia), and review sentiment

## `enrichRealEstateNiche` (type: `boolean`):

Detect online booking (Calendly, ShowingTime, Acuity), free-home-valuation availability, metro area, and agent type (solo agent / team / brokerage office)

## `proxyConfig` (type: `object`):

Residential proxies recommended for high-volume runs to avoid Google Maps blocks

## Actor input object example

```json
{
  "searchTerms": [
    "real estate agent",
    "realtor"
  ],
  "locations": [
    "New York, USA"
  ],
  "maxResults": 20,
  "minRating": 0,
  "enrichEmails": false,
  "enrichSocials": false,
  "enrichRealEstate": false,
  "enrichRealEstateNiche": false,
  "proxyConfig": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `defaultDataset` (type: `string`):

Dataset containing scraped real estate agents and brokerages with 35+ fields including contact info, social media, brokerage affiliation, specializations, property types, designations, languages, services, listing-portal presence, review sentiment, online-booking / free-home-valuation detection, metro classification, and agent-type classification.

# 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 = {
    "searchTerms": [
        "real estate agent",
        "realtor"
    ],
    "locations": [
        "New York, USA"
    ],
    "maxResults": 20,
    "minRating": 0
};

// Run the Actor and wait for it to finish
const run = await client.actor("mukeshrana90/real-estate-agents-google-maps-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 = {
    "searchTerms": [
        "real estate agent",
        "realtor",
    ],
    "locations": ["New York, USA"],
    "maxResults": 20,
    "minRating": 0,
}

# Run the Actor and wait for it to finish
run = client.actor("mukeshrana90/real-estate-agents-google-maps-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 '{
  "searchTerms": [
    "real estate agent",
    "realtor"
  ],
  "locations": [
    "New York, USA"
  ],
  "maxResults": 20,
  "minRating": 0
}' |
apify call mukeshrana90/real-estate-agents-google-maps-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=mukeshrana90/real-estate-agents-google-maps-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Real Estate Agents Google Maps Scraper",
        "description": "Scrape real estate agents and brokerages from Google Maps with email, social, brokerage, specializations, property types, designations, languages, services, listing portals, sentiment, booking / free-valuation, metro & agent-type classification.",
        "version": "1.0",
        "x-build-id": "yDunbfIHMO9LD10SY"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/mukeshrana90~real-estate-agents-google-maps-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-mukeshrana90-real-estate-agents-google-maps-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/mukeshrana90~real-estate-agents-google-maps-scraper/runs": {
            "post": {
                "operationId": "runs-sync-mukeshrana90-real-estate-agents-google-maps-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/mukeshrana90~real-estate-agents-google-maps-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-mukeshrana90-real-estate-agents-google-maps-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": {
                    "searchTerms": {
                        "title": "Search terms",
                        "type": "array",
                        "description": "Real-estate categories to search for (e.g. real estate agent, realtor, real estate broker, luxury real estate, commercial real estate)",
                        "default": [
                            "real estate agent"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "locations": {
                        "title": "Locations",
                        "type": "array",
                        "description": "Cities, regions, or countries to search in (e.g. New York, USA or London, UK)",
                        "default": [
                            "New York, USA"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max results per search",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of agents / brokerages to scrape in total across all search term + location combinations",
                        "default": 50
                    },
                    "minRating": {
                        "title": "Minimum rating filter",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "number",
                        "description": "Only include agents / brokerages with this Google rating or above (0 = no filter)",
                        "default": 0
                    },
                    "enrichEmails": {
                        "title": "Extract emails",
                        "type": "boolean",
                        "description": "Visit each agent's / brokerage's website and extract the best contact email (homepage + /contact fallback). Prefers agent@ / broker@ / sales@ / listings@ over generic addresses.",
                        "default": false
                    },
                    "enrichSocials": {
                        "title": "Extract social media links",
                        "type": "boolean",
                        "description": "Extract Instagram, Facebook, LinkedIn, and X/Twitter profile links from the agent's website",
                        "default": false
                    },
                    "enrichRealEstate": {
                        "title": "Real-estate enrichment",
                        "type": "boolean",
                        "description": "Extract brokerage affiliation (RE/MAX, Compass, Keller Williams, …), specializations (residential / commercial / luxury / investment / land / rentals), property types, NAR designations (CRS, ABR, GRI, SRES, CCIM…), languages spoken, services offered, listing-portal presence (Zillow / Realtor.com / Redfin / Trulia), and review sentiment",
                        "default": false
                    },
                    "enrichRealEstateNiche": {
                        "title": "Niche classification",
                        "type": "boolean",
                        "description": "Detect online booking (Calendly, ShowingTime, Acuity), free-home-valuation availability, metro area, and agent type (solo agent / team / brokerage office)",
                        "default": false
                    },
                    "proxyConfig": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Residential proxies recommended for high-volume runs to avoid Google Maps blocks",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
