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

📧 Google Maps Email Scraper extracts business emails from Google Maps listings fast and accurately. Perfect for B2B lead generation, outreach, market research & customer discovery. 🚀 Boost your sales pipeline with verified contacts!

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

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

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

### Google Maps Email Scraper ⚡

Trying to build a local business email list but wasting hours copying contacts one-by-one is brutal. **Google Maps Email Scraper** automates that workflow by scraping businesses from a location and search niche, then extracting email addresses (plus phones and social links) from their websites. If you’re looking for a *Google Maps email scraper tool* or a way to *extract emails from Google Maps*, this actor was built for outreach and lead building. It’s perfect for sales teams, marketers, and researchers who want structured results fast, at the scale of hundreds of businesses per run.

---

### See the Data: Sample Output

Here's a real record from a single run:

```json
{
  "street_address": "123 Ocean Ave",
  "city": "Miami",
  "zip": "33101",
  "state": "FL",
  "country_code": "US",
  "full_address": "123 Ocean Ave Miami FL 33101 US",
  "website": "https://examplecoffee.com",
  "avg_rating": 4.6,
  "total_reviews": 312,
  "name": "Example Coffee Roasters",
  "place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
  "phone": "+1 305-555-0142",
  "lat": 25.7617,
  "long": -80.1918,
  "scraped_emails": [
    {
      "email": "hello@examplecoffee.com",
      "confidence_score": 86.4,
      "validation_status": "unknown",
      "source_url": "https://examplecoffee.com/contact",
      "source_type": "body"
    }
  ],
  "scraped_phones": ["+1-305-555-0199"],
  "scraped_social_media": ["https://www.instagram.com/examplecoffee/"],
  "emails_found": 1,
  "pages_scraped": 7,
  "place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
  "scrape_status": "success",
  "scrape_error": null
}
````

#### Output Fields

| Field | Type | What It Tells You |
|---|---|---|
| `name` | string | The business name you can use for personalization in outreach. |
| `website` | string | The website the actor used to extract contact details. |
| `phone` | string | The phone associated with the listing record (when available). |
| `full_address` | string | A ready-to-use address string for CRM fields and verification. |
| `city` | string | Helps confirm geographic targeting and segmentation. |
| `state` | string | Useful for state-level campaign reporting. |
| `zip` | string | Lets you filter or enrich records by postal code. |
| `country_code` | string | Useful for international rollups and data normalization. |
| `scraped_emails` | array | Extracted email results from the business website (each includes source + confidence metadata). |
| `scraped_phones` | array | Phone numbers found on the website, separate from the listing phone. |
| `scraped_social_media` | array | Social profile links extracted from the website. |
| `emails_found` | number | Quick count to filter out low-yield records fast. |
| `pages_scraped` | number | Indicates how much site content was processed for this business. |
| `avg_rating` | number | Listing rating, helpful for prioritizing higher-quality leads. |
| `total_reviews` | number | Review count to estimate business popularity. |
| `lat` | number | Location latitude for mapping and geo-based routing. |
| `long` | number | Location longitude for mapping and geo-based routing. |
| `place_id` | string | A unique listing identifier used to avoid duplicates. |
| `scrape_status` | string | Overall result state for the record (for example, `success`, `failed`, `no_website`, or `error`). |
| `scrape_error` | string | Populated when a scraping error occurs so you can troubleshoot. |

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

***

### Setting It Up

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

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

#### Input Parameters

| Parameter | Required | What It Does |
|---|---|---|
| `googleMapsSearchTerm` | ✅ | The business type or niche you want (for example, `coffee shops`, `dentists`). |
| `googleMapsLocation` | ✅ | The geographic target for the scrape (for example, `Miami, Florida`). |
| `maxBusinesses` | ⬜ | The target number of businesses to find (must be between 1 and 1000). The actor stops when the target is reached. |
| `emailOnlyResults` | ⬜ | When enabled, only businesses with extracted emails are saved to the dataset. |
| `proxyConfiguration` | ⬜ | Proxy settings for scraping. Recommended for larger runs to improve reliability. |
| `↳ proxyConfiguration.proxy support` | ⬜ | Routes requests through Apify Proxy (enabled by default in the UI prefill). |

***

### What It Does

This actor collects local business listings for your search niche in a chosen location, then enriches each business by scraping the business website for contact details.

#### Google Maps business discovery for your niche

Google Maps Email Scraper finds businesses for your `googleMapsSearchTerm` within your `googleMapsLocation`. It builds a set of unique listing identifiers so you don’t repeatedly capture the same place.

#### Extracts contact details from each business website

After discovery, it scrapes each business’s `website` to extract `scraped_emails`, `scraped_phones`, and `scraped_social_media`. You can also run email-only mode using `emailOnlyResults` to focus your dataset on businesses where emails were found.

#### Clean, structured output you can import directly

Every record is written to the Apify dataset with consistent fields like `name`, `website`, address fields, coordinates (`lat`, `long`), and the enriched contact arrays. This makes Google Maps email scraper tool results easy to load into Sheets, a CRM, or a database.

#### Statuses for success, failure, and edge cases

Each output includes a `scrape_status` field so you can quickly see whether enrichment succeeded. If the actor can’t use a website, the record is still pushed with `scrape_status` set accordingly and empty scraped lists.

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

For larger jobs, Google Maps Email Scraper supports proxy configuration via `proxyConfiguration`. This helps reduce interruptions and makes high-volume Google Maps email scraping software runs more stable.

Overall, Google Maps Email Scraper turns local business listings into a ready-to-use contact dataset.

***

### Why Google Maps Email Scraper?

There are plenty of ways to pull contact data from local listings — here’s why Google Maps Email Scraper stands out.

#### Email-focused enrichment for outreach

Instead of just collecting listing data, Google Maps Email Scraper enriches each business by scraping their `website` to extract emails and other contact signals. If your goal is a Google Maps business email finder workflow, the output is built for outreach readiness.

#### Built for the “data pipeline” mindset

Results land in the dataset with fields like `emails_found`, `pages_scraped`, and `scrape_status`, so analysts can filter, validate, and prioritize without extra cleanup. This makes it a practical choice for local business email scraper use cases and email list builder projects.

#### Reliability features for real runs

The actor includes retries and fallbacks for resilience and ensures partial results are still saved. That means you’re less likely to lose work if something fails mid-run, which is crucial for scrape contact emails from Google Maps tasks.

***

### Real-World Use Cases

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

**Sales Teams**\
A sales manager has a niche list like “coffee shops” but no verified emails for the outreach sequence. They run Google Maps Email Scraper for a target location, then use `emails_found` and `scraped_emails` to prioritize leads with the highest conversion potential. The workflow cuts prospecting time down dramatically because contact data is structured and ready to import.

**Local SEO and Market Researchers**\
A researcher wants to map competitors and assess market density by neighborhood and business rating. They collect listing details (including `avg_rating`, `total_reviews`, and coordinates) and join them with website-derived contacts. The dataset supports both geo analysis and lead building without switching tools.

**Marketing Agencies**\
An agency managing multiple local clients needs repeatable lead generation across cities. They set `maxBusinesses` per client, enable `emailOnlyResults` when they only want usable contacts, and then export the Apify dataset to bring everything into the client’s CRM. They can run consistent campaigns while keeping the dataset clean and filtered.

**Freelance Researchers**\
A freelancer delivering “Google Maps leads email scraper” results to clients needs consistent output fields and easy exports. They run the actor with the requested `googleMapsLocation` and niche term, then deliver the enriched dataset as JSON or Excel. The `scrape_status` field helps them explain any missing contact details transparently.

**Automation & Data Engineers**\
A developer triggers Google Maps Email Scraper via the Apify API and pushes dataset results into downstream services. Because records are written with stable field names like `scraped_emails`, `scraped_phones`, and `scraped_social_media`, the integration remains predictable for dashboards and pipelines. This is especially useful for email scraping for local SEO lead lists that need frequent refreshes.

***

### How to Run It

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

1. **Open the actor on Apify**\
   Go to the actor page on Apify Console at https://console.apify.com and find **Google Maps Email Scraper**.

2. **Enter your inputs**\
   Set `googleMapsSearchTerm` (your niche like `coffee shops`) and `googleMapsLocation` (like `Miami, Florida`). Optionally set `maxBusinesses` and `emailOnlyResults` depending on whether you want all leads or email-only records.

3. **Configure proxy settings (optional but recommended)**\
   Use `proxyConfiguration` and enable proxy support for more reliable scraping on larger runs.

4. **Start the run and watch the live log**\
   Launch the run and monitor progress in the logs as Google Maps business email finder discovery and website enrichment proceed.

5. **Open the Dataset tab to see live results**\
   Each enriched business record is pushed to the dataset as the actor processes it.

6. **Export in your preferred format**\
   Download from the Apify dashboard as JSON, CSV, or Excel, or connect via your preferred integration.

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

***

### Export & Integration Options

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

You can export the dataset from the Apify dashboard in **JSON**, **CSV**, or **Excel**. The dataset is stored with the enriched fields including `scraped_emails`, `scraped_phones`, `scraped_social_media`, and `scrape_status`.

For automation, you can use **Apify API access** to pull results programmatically, and connect it to tools like **Zapier / Make** or other systems using Apify-native integrations and webhooks. If you need continuous lead refreshes, you can also schedule runs via Apify’s scheduling features (cron-based).

***

### Pricing

Google Maps Email Scraper runs on Apify, which includes a **free tier** — no credit card needed to start. Apify provides **free tier platform credits** on sign-up that are often enough for several real test runs.

For larger lead volumes, you’ll pay **pay-as-you-go compute** (billed per Actor compute unit / CU) rather than per-row pricing. Check the Apify pricing page for the latest plan and CU details, then scale when you’re ready.

Start free at [apify.com](https://apify.com) — scale up when you need to.

***

### Reliability & Limitations

| What We Handle | How |
|---|---|
| Rate limits and interruptions | Uses resilient scraping behavior with retries and fallbacks. |
| Larger runs | Supports proxy configuration via `proxyConfiguration` for improved reliability. |
| Partial results | Enriched records are pushed to the dataset as they’re processed, so you keep what you already captured. |
| Record-level failures | Each record includes `scrape_status` so you can see success vs failure at a glance. |
| No usable website | Records are pushed with empty scraped lists and an appropriate `scrape_status` (for example `no_website`). |
| Email filtering focus | `emailOnlyResults` ensures you can save only businesses where emails were extracted. |

Limitations: This actor relies on publicly available business websites to extract contact details. If a business doesn’t have an accessible website or doesn’t publish emails, you may see empty `scraped_emails` (especially when not using `emailOnlyResults`). As with any public-data workflow, results depend on what businesses make available on their websites.

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

***

### Frequently Asked Questions

#### Is there a free plan for Google Maps Email Scraper?

Yes. Apify offers a free tier on sign-up, and that usually includes enough platform credits for several real test runs.

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

No. This actor is designed to work without your logins, focusing on publicly accessible business and website data for results.

#### How accurate is the extracted data?

Accuracy depends on what the businesses publish on their websites. Google Maps Email Scraper extracts `scraped_emails`, `scraped_phones`, and `scraped_social_media` from the business `website`, so results reflect real published content.

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

You control the cap using `maxBusinesses` (between 1 and 1000). The actor stops once the target is reached.

#### How fresh is the data?

Data freshness depends on how recently the underlying public pages changed and how often you run the actor. If you need up-to-date email lists, schedule regular runs.

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

You should treat this as a tool for working with **publicly available data**. Whether your use complies with GDPR, CCPA, and applicable regulations depends on how you store, process, and contact individuals.

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

Yes. You can export from the Apify dashboard as JSON, CSV, or Excel. From there, you can import into Google Sheets or load into your CRM.

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

Yes. Apify supports scheduled runs, so you can automate recurring local business email scraper updates without manual intervention.

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

Yes. You can retrieve dataset results programmatically via the Apify API for integration with your pipeline and dashboards.

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

When errors occur at the record level, the actor uses `scrape_status` (and `scrape_error` when present) so you can understand which records failed and why. It also aims to continue saving what it already processed.

***

### Get Help & Use Responsibly

Got a question about Google Maps Email Scraper or a feature you'd like added? Reach out at <dataforleads@gmail.com> — we respond quickly and actively maintain this actor based on user feedback. If you want enhancements like additional lead filtering options (beyond `emailOnlyResults`) or more targeting fields, tell us what your pipeline needs.

***

**This actor collects data only from publicly available data.** It does not access private accounts, login-gated pages, or password-protected content. You are responsible for complying with GDPR, CCPA, platform Terms of Service, and any applicable local regulations. 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("scrapeflux/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("scrapeflux/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 scrapeflux/google-maps-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapeflux/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. Perfect for B2B lead generation, outreach, market research & customer discovery. 🚀 Boost your sales pipeline with verified contacts!",
        "version": "1.0",
        "x-build-id": "uZUawrY55in6HBRgZ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapeflux~google-maps-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapeflux-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/scrapeflux~google-maps-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapeflux-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/scrapeflux~google-maps-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapeflux-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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
