# Google Maps Email Scraper (`scraperoka/google-maps-email-scraper`) Actor

📧 Google Maps Email Scraper extracts business emails from Google Maps listings fast and accurately. Great for B2B lead generation, outreach, sales, and market research. 🚀 Save time, grow your pipeline, and reach the right prospects.

- **URL**: https://apify.com/scraperoka/google-maps-email-scraper.md
- **Developed by:** [Scraperoka](https://apify.com/scraperoka) (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.01 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

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

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

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

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

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

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

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

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

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


# README

### Google Maps Email Scraper 🎯 — Extract Business Emails from Local Listings Automatically

Manually searching local listings and opening websites to copy contact emails wastes hours you could spend selling. **Google Maps Email Scraper** finds businesses in a target area and extracts contact details from their websites so you can build leads faster. This **Google Maps email scraper** is ideal for marketers, recruiters, and growth teams that need **extract emails from Google Maps** results at scale—capturing thousands of lead records in a single run.

---

### What You Get: Sample Output

Here's a sample record from a single run:

```json
{
  "name": "Pioneer Coffee Roasters",
  "website": "https://pioneercoffee.example.com/contact",
  "phone": "+1 (305) 555-0148",
  "full_address": "2200 Biscayne Blvd Miami FL 33137 US",
  "city": "Miami",
  "state": "FL",
  "zip": "33137",
  "country_code": "US",
  "scraped_emails": [
    {
      "email": "hello@pioneercoffee.example.com",
      "confidence_score": 92.3,
      "validation_status": "valid",
      "source_url": "https://pioneercoffee.example.com/contact",
      "source_type": "contact_page"
    }
  ],
  "scraped_phones": ["+1-305-555-0199"],
  "scraped_social_media": ["https://www.linkedin.com/company/pioneer-coffee-roasters/"],
  "emails_found": 1,
  "pages_scraped": 6,
  "avg_rating": 4.6,
  "total_reviews": 312,
  "lat": 25.7891,
  "long": -80.1862,
  "place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
  "scrape_status": "success"
}
````

| Field | Type | What It Tells You |
|---|---|---|
| `name` | string | The business name you can use directly in lead lists. |
| `website` | string | The business website the actor used as the starting point for contact extraction. |
| `phone` | string | The phone number associated with the business listing. |
| `full_address` | string | A ready-to-use full address string for enrichment and segmentation. |
| `city` | string | Helps you filter and target specific regions within your chosen location. |
| `state` | string | State-level segmentation for outreach campaigns. |
| `zip` | string | ZIP code to support geo-based targeting and routing. |
| `country_code` | string | Country code for consistent international lead datasets. |
| `scraped_emails` | array | The extracted email contacts (with confidence and source details) from the website. |
| `scraped_phones` | array | Phone numbers found on the website, separate from the listing phone. |
| `scraped_social_media` | array | Social profiles detected on the business website for extra context and verification. |
| `emails_found` | number | Quick count of how many email addresses were extracted for this business. |
| `pages_scraped` | number | Indicates how much website content was processed per business. |
| `avg_rating` | number | Listing rating to help prioritize higher-quality leads. |
| `total_reviews` | number | Review count to gauge business popularity. |
| `scrape_status` | string | Tells you whether the business scrape succeeded, failed, had no website, or had another outcome (for example: `success`, `failed`, `no_website`, or `error`). |
| `place_id` | string | The place identifier used for deduping listings during the run. |

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

***

### Why Google Maps Email Scraper?

There are a lot of ways to pull contact data from local business listings — here’s what sets **Google Maps Email Scraper** apart.

#### Email-first lead building from local listings

This **Google Maps business email extractor** starts by discovering businesses inside your chosen area, then moves to each website to extract contact information. If you’re looking for **Google Maps lead email scraper** style datasets, the output is ready for outreach workflows.

#### Structured, integration-ready results

Each business is saved with consistent fields including `scraped_emails`, `scraped_phones`, `scraped_social_media`, and listing metadata like `avg_rating` and `total_reviews`. This makes the results suitable for researchers, analysts, and marketers who need clean, structured data (including **Google Places email scraper**-style lead research outcomes).

#### Built-in filtering for email-only runs

Turn on **Show Businesses with Email Only** to keep only businesses where emails were successfully extracted from websites. That gives you tighter lead lists when you want **scrape business emails from Google Maps** without extra cleanup.

#### Resilience for large scraping jobs

The actor is designed for real-world runs: it includes retries and fallback behavior when website extraction fails for a business. For higher throughput, it also supports proxy configuration for more reliable scraping at scale.

***

### Configuring Your Run

Drop this into your `input.json` to get started:

```json
{
  "googleMapsSearchTerm": "coffee shops",
  "googleMapsLocation": "Miami, Florida",
  "maxBusinesses": 20,
  "emailOnlyResults": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

| Parameter | Required | What It Does |
|---|---:|---|
| `googleMapsSearchTerm` | ⬜ | The business type or niche to search for (for example: `coffee shops`, `dentists`). |
| `googleMapsLocation` | ✅ | The geographic location to target (for example: `Miami, Florida`). |
| `maxBusinesses` | ⬜ | Limits how many businesses to collect (from `1` to `1000`). The run stops when this target is reached. |
| `emailOnlyResults` | ⬜ | If enabled, only businesses where emails were successfully extracted from their websites are saved. |
| `proxyConfiguration` | ⬜ | Proxy settings for scraping. Recommended for larger-scale scraping runs. |
| ↳ `proxy support` | ⬜ | Use Apify Proxy for the run (set to `true` in the default configuration). |

***

### Core Capabilities

#### Local business discovery for a target niche

With **Google Maps email scraping software**, you choose a `googleMapsSearchTerm` and a `googleMapsLocation`. The actor then discovers businesses in that area and builds a deduplicated set of leads.

#### Website contact extraction (emails, phones, social)

After discovery, **Google Maps contact information scraper** logic focuses on pulling contact details from each business `website`. You’ll get `scraped_emails` (with confidence and validation metadata), plus `scraped_phones` and `scraped_social_media`.

#### Email-only lead filtering for tighter outreach lists

When `emailOnlyResults` is enabled, the actor only saves businesses where emails were successfully extracted from websites. This is ideal if your goal is **find business emails on Google Maps** results that are immediately usable.

#### Output completeness with scrape status

Each business record includes fields that help you understand what happened during the run, including `emails_found`, `pages_scraped`, and `scrape_status`. Even when a business has no website or extraction fails, you still get a clear outcome you can filter later.

#### Proxy-ready runs for scale

You can provide `proxyConfiguration` to support more reliable scraping at scale. This is particularly helpful when running **automated Google Maps email lead generation** for many businesses.

***

### Who Gets the Most Out of This

Here’s how different teams put **Google Maps Email Scraper** to work:

**Marketing and Growth Teams** — Build targeted prospect lists for local campaigns by scraping businesses in a specific niche and location, then extracting website emails for faster outreach. You get lead records enriched with ratings and review counts to help prioritize.

**Sales Development Representatives** — Turn **Google Maps business email extractor** output into a ready-to-call pipeline. The `emails_found` field helps you quickly filter for businesses that actually have contact emails on their websites.

**Recruiters and Staffing Teams** — Source local employers for talent outreach by collecting emails plus phone/social details from business websites. The structured dataset makes it easy to segment by city/state and validate lead coverage.

**Freelance Researchers and Data Analysts** — Produce repeatable datasets that combine local listing info (like `avg_rating` and `total_reviews`) with website-derived contacts. This supports both qualitative research (sources) and quantitative lead analysis (counts and status filtering).

**Automation Specialists (Technical)** — Use the actor as a dependable data source for scheduled enrichment and downstream pipelines. Export results from the Apify dataset tab or trigger runs programmatically through the Apify API for consistent, repeatable lead data.

***

### Step-by-Step: How to Use It

No coding needed. Here's how to run **Google Maps Email Scraper** from start to finish:

1. **Open the actor on Apify** — go to [console.apify.com](https://console.apify.com) and open the actor page.
2. **Enter your inputs** — set `googleMapsSearchTerm` and the required `googleMapsLocation` (plus `maxBusinesses` and `emailOnlyResults` if you want).
3. **Configure proxy settings** — if you’re running bigger batches, enable proxy configuration to help improve scraping reliability.
4. **Hit Run and watch the live log** — monitor progress and see what’s being scraped in real time.
5. **View results in the dataset tab** — records are saved with fields like `scraped_emails`, `emails_found`, and `scrape_status`.
6. **Export as JSON, CSV, or Excel** — download directly from the Apify dashboard for immediate use in outreach tools or spreadsheets.

The whole process takes under 5 minutes to set up.

***

### Integrations & Export Options

Once your data is collected, **Google Maps Email Scraper** plugs directly into your existing workflow.

Export formats include **JSON**, **CSV**, and **Excel** from the Apify dataset tab. This makes it easy to use results in CRMs, spreadsheets, BI tools, and lead enrichment workflows.

You can also access runs via the **Apify API**, connect the output into automation tools like **Zapier / Make**, and trigger downstream actions using webhooks. For scheduled runs, configure the actor to run automatically on a schedule in Apify (useful for continuous **Google Maps listing email scraping** and ongoing lead generation).

For deeper setup details, refer to the Apify docs: [apify.com/docs/api](https://apify.com/docs/api).

***

### Pricing & Free Trial

**Google Maps Email Scraper** runs on the Apify platform, which offers a **free tier** — no credit card required to get started.

You’ll pay based on Apify platform compute (pay-as-you-go), and you typically start small with test runs. Subscription plans may be available for heavier usage—check Apify’s pricing page for the latest details.

Start for free at [apify.com](https://apify.com) and scale when you’re ready.

***

### Reliability & Performance

| What We Handle | How |
|---|---|
| Rate limiting resilience | Designed to keep scraping reliable during high-volume collection. |
| Proxy support for stability | Optional proxy configuration helps reduce disruptions on long runs. |
| Website extraction failures | Records include `scrape_status` so you can identify successes and failures quickly. |
| Email-only filtering | `emailOnlyResults` keeps your dataset focused on businesses where emails were extracted. |
| Progress visibility | The dataset is populated as the actor processes businesses, so you can track outcomes. |
| Scale control | Use `maxBusinesses` (1–1000) to bound the run size for predictable lead volume. |

Limitations: The actor relies on publicly available contact information and website accessibility; if a business doesn’t provide a website or contact info in extractable form, you may see fewer `scraped_emails`. For enterprise-scale lead programs, data coverage and extraction success can vary by niche and how each business publishes contact details.

For enterprise-scale runs, contact us to discuss custom configurations.

***

### Frequently Asked Questions

#### Is there a free plan or trial?

Yes, Apify offers a free tier that lets you run **Google Maps Email Scraper** for testing without committing to paid usage. Availability depends on the current Apify offering and your account.

#### Do I need to log in to use Google Maps Email Scraper?

No. This actor works from publicly accessible information to build leads, and it uses your provided `googleMapsSearchTerm` and `googleMapsLocation` as the starting point.

#### How accurate is the data?

Accuracy depends on what the business publishes on its website. The actor extracts emails (and related metadata) into `scraped_emails`, and you can filter by `emails_found` to focus on businesses that actually yield contact emails.

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

You control the limit with `maxBusinesses` (allowed range: `1` to `1000`). In normal mode, the actor targets that number; in email-only mode, it continues scraping until it collects enough businesses with extracted emails or hits stopping conditions.

#### How often is the data updated / how fresh is it?

Data freshness is based on when you run the actor. If you need fresher leads, run the actor on a schedule in Apify.

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

The actor extracts **publicly available data** and does not access login-gated or private pages. It’s your responsibility to ensure your use complies with GDPR, CCPA, platform terms, and any applicable local regulations.

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

Yes. You can export your Apify dataset as JSON, CSV, or Excel from the Apify dashboard. From there, you can import into Google Sheets or other tools that accept CSV/Excel.

#### Can I run this on a schedule automatically?

Yes. Apify supports scheduled runs, so you can automate continuous **Google Maps lead email scraper** workflows without manually starting each run.

#### Can I access this via API?

Yes. You can use the Apify API to trigger the actor and retrieve results programmatically. See [apify.com/docs/api](https://apify.com/docs/api) for details.

#### What happens if the actor hits an error?

If website scraping fails for a business, you’ll see a record saved with fields like `scrape_status` and (when applicable) error-related fields such as `scrape_error`. That way you can filter and re-run only the missing or failed segments.

***

### Need Help or Have a Request?

Got a question about **Google Maps Email Scraper** or want a new feature added? Reach out at <dataforleads@gmail.com> — we actively maintain this actor and can help with improvements like webhook notifications on completion or batch upload enhancements for smoother lead operations.

***

### Disclaimer & Responsible Use

*Google Maps Email Scraper is the fastest, most reliable way to extract business contact emails from local listings — start your free run today.*

This actor collects **publicly available data** and does not access private accounts, login-gated content, or password-protected pages. You’re responsible for complying with GDPR, CCPA, platform ToS, and any applicable regulations when using the results. For data removal requests, contact <dataforleads@gmail.com>. Use responsibly, ethically, and only for lawful purposes.

# Actor input Schema

## `googleMapsSearchTerm` (type: `string`):

Enter the business type or niche for the google maps email scraper (e.g., 'coffee shops', 'dentists').

## `googleMapsLocation` (type: `string`):

Target geographic location for the google maps email scraper (e.g., 'Miami, Florida').

## `maxBusinesses` (type: `integer`):

Target number of businesses to find (1-1000). The scraper will stop when this target is reached.

## `emailOnlyResults` (type: `boolean`):

Only include businesses where emails were successfully extracted from their websites

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

Proxy settings for scraping. Recommended for large-scale scraping.

## Actor input object example

```json
{
  "googleMapsSearchTerm": "coffee shops",
  "googleMapsLocation": "Miami, Florida",
  "maxBusinesses": 20,
  "emailOnlyResults": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "googleMapsSearchTerm": "coffee shops",
    "googleMapsLocation": "Miami, Florida",
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraperoka/google-maps-email-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "googleMapsSearchTerm": "coffee shops",
    "googleMapsLocation": "Miami, Florida",
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("scraperoka/google-maps-email-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "googleMapsSearchTerm": "coffee shops",
  "googleMapsLocation": "Miami, Florida",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call scraperoka/google-maps-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Maps Email Scraper",
        "description": "📧 Google Maps Email Scraper extracts business emails from Google Maps listings fast and accurately. Great for B2B lead generation, outreach, sales, and market research. 🚀 Save time, grow your pipeline, and reach the right prospects.",
        "version": "1.0",
        "x-build-id": "4xj9RejUQQaPEeuIc"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scraperoka~google-maps-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scraperoka-google-maps-email-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scraperoka~google-maps-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scraperoka-google-maps-email-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scraperoka~google-maps-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scraperoka-google-maps-email-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "googleMapsLocation",
                    "googleMapsSearchTerm"
                ],
                "properties": {
                    "googleMapsSearchTerm": {
                        "title": "Google Maps Search Term",
                        "type": "string",
                        "description": "Enter the business type or niche for the google maps email scraper (e.g., 'coffee shops', 'dentists').",
                        "default": "coffee shops"
                    },
                    "googleMapsLocation": {
                        "title": "Google Maps Location",
                        "type": "string",
                        "description": "Target geographic location for the google maps email scraper (e.g., 'Miami, Florida').",
                        "default": "Miami, Florida"
                    },
                    "maxBusinesses": {
                        "title": "Maximum Businesses",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Target number of businesses to find (1-1000). The scraper will stop when this target is reached.",
                        "default": 20
                    },
                    "emailOnlyResults": {
                        "title": "Show Businesses with Email Only",
                        "type": "boolean",
                        "description": "Only include businesses where emails were successfully extracted from their websites",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings for scraping. Recommended for large-scale scraping."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
