# Beauty Salon Email Scraper (`solid-scraper/beauty-salon-email-scraper`) Actor

💇‍♀️ Find beauty salon emails fast! Our Beauty Salon Email Scraper extracts targeted contact leads by niche and location—perfect for marketing, outreach, and client growth. ⚡📩 Save time, reach more salons, get results.

- **URL**: https://apify.com/solid-scraper/beauty-salon-email-scraper.md
- **Developed by:** [SolidScraper](https://apify.com/solid-scraper) (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

### Beauty Salon Email Scraper 📬

**Beauty Salon Email Scraper** is an Apify actor designed to help you build a **beauty salon marketing email list** by scraping contact details for salons in your target areas—extracting emails, phone numbers, and social media links from publicly available sources. If you’re looking for a **salon email list scraper**, a **beauty business email finder**, or a **contact email extractor** for outreach, lead generation, or research, this tool helps you automate what would otherwise take hours of manual searching and verification—at scale.

---

### What is Beauty Salon Email Scraper?

**Beauty Salon Email Scraper** automates the process of finding **beauty salons** in specific geographic locations and then collecting their **website-based contact information**. It’s built to help marketers, analysts, and researchers turn local business directories and public web pages into structured leads by extracting emails plus supporting contact signals (like phone numbers and social media profiles).

Whether you’re building an **email list building for salons** workflow, validating outreach targets for a **hair salon email scraper** or **spa email scraper** use case, or compiling a **local business email scraper** dataset for later analysis, this actor enables faster, repeatable results—saving you hours of manual work.

---

### Why choose Beauty Salon Email Scraper?

| Feature | Benefit |
| --- | --- |
| ✅ All-in-one salon contact extraction | Extracts emails, phone numbers, and social media profiles in one run |
| ✅ Reliability-focused scraping workflow | Includes built-in resilience and fallback behavior so runs complete more consistently |
| ✅ Structured output for easy downstream use | Produces a clean dataset you can import into CRMs, spreadsheets, and analytics tools |
| ✅ Targeted limits for predictable results | Lets you cap the number of businesses you want to process and stop once you reach your target |
| ✅ Proxy configuration support | Helps keep large scraping tasks stable with configurable proxy settings |
| ✅ Email-focused dataset flattening | Outputs one dataset row per extracted email when emails are found |

---

### Key features

- 🌐 **Website email extraction tool**: Scrapes each business website to find contact emails and related contact details  
- 📧 **Accurate email capture**: Returns the email address in `email_found` and tracks totals using `emails_found`  
- 📞 **Phone number extraction**: Collects phone numbers into `scraped_phones` (from scraped website data)  
- 🔗 **Social media profile extraction**: Collects social links into `scraped_social_media`  
- 🧠 **Email validation option**: Supports `validate_emails` (enabled via input) to validate extracted emails  
- 🛡️ **Built-in proxy support**: Uses your `proxyConfiguration` to help maintain scraping stability  
- 💾 **Real-time dataset saving**: Pushes results to the Apify dataset as it goes, reducing the risk of losing progress  
- 🧾 **Flattened results for marketing workflows**: When multiple emails are found for one business, each email becomes its own row (with the same business metadata)

---

### Input

Provide input via an `input.json` file. Example structure:

```json
{
  "googleMapsSearchTerm": "Beauty Salon",
  "googleMapsLocation": ["New York"],
  "maxBusinesses": 5,
  "scrapeMaxBusinessesPerLocation": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
````

#### Input Fields

| Field | Required | Description |
| --- | --- | --- |
| `googleMapsSearchTerm` | Yes | Business type or niche to search for (for example, “beauty salons” or “hair stylists”). |
| `googleMapsLocation` | Yes | One or more geographic locations to target (for example, `["Miami, Florida"]`). |
| `maxBusinesses` | No | Target number of businesses (with emails) to collect, between **1 and 1000**. The actor stops when this target is reached. |
| `scrapeMaxBusinessesPerLocation` | No | If enabled, the actor collects up to `maxBusinesses` results per location. If disabled, it combines all locations up to a single total limit. |
| `proxyConfiguration` | No | Proxy settings for scraping. Recommended for larger-scale runs to help avoid rate limits and blocks. |
| `proxyConfiguration.proxy support` | No | When set, enables using Apify Proxy (recommended for large batches). |

***

### Output

The actor saves businesses with contact information into the **Apify dataset** as JSON objects (and flattens results so each extracted email becomes a dataset row when available).

Example output row:

```json
{
  "name": "Example Beauty Salon",
  "website": "https://example.com",
  "phone": "123-456-7890",
  "full_address": "123 Main St New York NY 10001 US",
  "city": "New York",
  "state": "NY",
  "zip": "10001",
  "country_code": "US",
  "email_found": "contact@example.com",
  "scraped_phones": ["+1 123 456 7890"],
  "scraped_social_media": ["https://instagram.com/examplebeautysalon"],
  "emails_found": 3,
  "pages_scraped": 7,
  "avg_rating": 4.6,
  "total_reviews": 120,
  "lat": 40.7128,
  "long": -74.006,
  "place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
  "scrape_status": "success"
}
```

#### Output Fields

| Field | Type | Description |
| --- | --- | --- |
| `name` | string | Business name |
| `website` | string | Business website URL (scraped from the listing) |
| `phone` | string | Main phone value associated with the business listing |
| `full_address` | string | Combined address string (`street_address`, `city`, `state`, `zip`, `country_code`) |
| `city` | string | City |
| `state` | string | State |
| `zip` | string | ZIP/postal code |
| `country_code` | string | Country code |
| `email_found` | string | The specific email address saved for this row (empty string when no emails are saved) |
| `scraped_phones` | array | Array of scraped phone numbers from the business website |
| `scraped_social_media` | array | Array of scraped social media profile links from the business website |
| `emails_found` | number | Number of emails found for the business |
| `pages_scraped` | number | Number of processed URLs/pages during website scraping |
| `avg_rating` | number | Average rating from the business listing data |
| `total_reviews` | number | Total number of reviews from the business listing data |
| `lat` | number | Latitude |
| `long` | number | Longitude |
| `place_id` | string | Place identifier used to deduplicate businesses |
| `scrape_status` | string | Status for the business (for example: `success`, `failed`, `no_website`, or `error`) |

Note: If a business has multiple emails, the actor outputs multiple dataset rows—one per `email_found` value—using the same business metadata.

***

### How to use Beauty Salon Email Scraper (via Apify Console)

1. **Open Apify Console**\
   Log in at [console.apify.com](https://console.apify.com) and go to the **Actors** section.

2. **Find the actor**\
   Search for **Beauty Salon Email Scraper** and open its listing.

3. **Add your input**\
   In the **INPUT** panel, fill in:
   `googleMapsSearchTerm` (e.g., “beauty salons”) and `googleMapsLocation` (one or more locations).

4. **Set limits for predictable output**\
   Optionally set `maxBusinesses` and `scrapeMaxBusinessesPerLocation` depending on whether you want a per-location cap or a single global cap.

5. **Configure proxy (optional but recommended)**\
   If you expect larger batches, set `proxyConfiguration.proxy support` to help scraping stay stable.

6. **Start the run**\
   Click **Run**. Watch the logs—during the run you’ll see progress for location processing and website scraping.

7. **Review results in the dataset**\
   After completion, open the **dataset** output and view the table of businesses (and email rows). Export your data to JSON/CSV from the dataset UI.

No coding required—get accurate results in minutes with **Beauty Salon Email Scraper**.

***

### Advanced features & SEO optimization

- 🔄 **Email-only focused saving behavior**: The actor supports an email-first workflow that stops when it reaches your target of businesses with emails (controlled via limits like `maxBusinesses`).
- 🛡️ **Stability for large lead generation email scrapers**: Includes proxy configuration (`proxyConfiguration`) to improve reliability for bigger runs.
- 🧾 **Detailed website scraping controls**: Uses `maxPages` during website scraping via internal scraping configuration (from the actor’s inputs and defaults).
- 🧠 **Validation-ready emails**: You can enable `validate_emails` to validate extracted emails.
- 📊 **Marketing-ready structure**: Each row includes both business metadata (rating/reviews/address) and extracted contact values, making **beauty salon marketing email list** building easier.

***

### Best use cases

- 📈 **Lead generation email scraper**: Build outreach lists by extracting contact emails from beauty salon websites while keeping phone and social links for better personalization
- 🧪 **Market research analyst**: Compare salon density and ratings across `googleMapsLocation` targets while analyzing email availability (`emails_found`, `scrape_status`)
- ✉️ **Email marketing team**: Create segmented **beauty directory email scraper** datasets for campaigns with structured fields ready for CRM import
- 💼 **Sales development reps**: Speed up prospecting by generating local business email lists with deduped `place_id` and consistent address formatting
- 🧑‍🔬 **Data enrichment pipelines**: Feed scraped emails into your enrichment stack and track performance using `pages_scraped` and `avg_rating`
- 🛍️ **Boutique salon partnerships**: Find contact emails for potential collaborations, using **scrape salon websites for emails** workflows at scale
- 🧔 **Barber shop email scraper** (nearby niche): Use `googleMapsSearchTerm` for related beauty niches (like “barber shop” or “hair stylists”) and extract contacts similarly

***

### Technical specifications

**Supported Input Formats**

- ✅ `googleMapsLocation`: array of strings
- ✅ `googleMapsSearchTerm`: string
- ✅ Optional controls: `maxBusinesses`, `scrapeMaxBusinessesPerLocation`, `proxyConfiguration` (including `proxy support`)

**Proxy Support**

- ✅ `proxyConfiguration` is supported
- ✅ Designed to work well for larger-scale scraping tasks

**Retry Mechanism**

- ✅ Includes resilience for scraping steps (the actor is built to continue reliably rather than failing immediately)

**Dataset Structure**

- ✅ Saves records to the actor’s dataset using these flattened business fields:
  `name`, `website`, `phone`, `full_address`, `city`, `state`, `zip`, `country_code`, `email_found`, `scraped_phones`, `scraped_social_media`, `emails_found`, `pages_scraped`, `avg_rating`, `total_reviews`, `lat`, `long`, `place_id`, `scrape_status`

**Rate Limits & Performance**

- ✅ Uses concurrency for website scraping (faster throughput across domains)
- ✅ Stops when your business/email target is reached (`maxBusinesses` behavior)

**Limitations**

- ❌ If a business has no website available, email extraction can’t happen (dataset will reflect `scrape_status` such as `no_website`)
- ❌ Some businesses may not publish email contact information publicly on their websites

***

### FAQ

#### Can I scrape multiple locations at once?

✅ Yes. You can provide multiple values in `googleMapsLocation`. If `scrapeMaxBusinessesPerLocation` is enabled, the actor targets `maxBusinesses` per location; otherwise it combines locations up to a single overall cap.

#### How do I control how many results I get?

Use `maxBusinesses` to set your target number of businesses with emails. The actor stops when it reaches that target, using the logic described by `scrapeMaxBusinessesPerLocation`.

#### Does this extract emails only, or more contact details?

Beauty Salon Email Scraper extracts more than emails. The dataset includes `email_found` plus website-scraped `scraped_phones` and `scraped_social_media`, along with business listing fields like address and rating.

#### Where do the results appear after the run?

The actor saves results directly to the Apify dataset. The dataset is structured with one row per extracted email (`email_found`) when emails are found, so it’s ready for outreach and segmentation.

#### Can I validate emails before saving them?

✅ Yes. The actor supports email validation via `validate_emails` (input). When enabled, it validates extracted emails rather than only collecting raw matches.

#### Do I need to use proxies?

Not required for small runs, but recommended for larger batches. You can set `proxyConfiguration` and enable `proxyConfiguration.proxy support` to help keep scraping stable.

#### What happens when a business has no website?

If `website` is missing, the actor cannot extract contact emails from a site. In such cases, it saves the business with empty email-related lists and an appropriate `scrape_status` (for example, `no_website`).

#### Is this suitable for building a beauty salon email list for marketing?

✅ Yes. The actor is designed for exactly that workflow—collecting business contact emails and keeping supporting fields (address, rating, phones, social links) in a structured dataset. This makes it a strong **beauty salon email scraper** for **lead generation email scraper** use cases.

***

### Support & feature requests

If you’re using **Beauty Salon Email Scraper** for beauty business email finder workflows and want to request improvements, we’d love to hear from you.

- 💡 **Feature Requests**: Examples include adding more export options, improving output formatting for CRMs, or supporting custom enrichment fields alongside the existing dataset columns.
- 📧 **Contact**: Email us at <dataforleads@gmail.com>.

Your feedback directly shapes future improvements to this **beauty salon email scraper**.

***

### Closing CTA / Final thoughts

*Beauty Salon Email Scraper is the most SEO-optimized way to build salon email lists from public contact pages—fast, structured, and ready for marketing or research.*\
If you need a reliable **salon email list scraper** for scalable beauty outreach, run it and start collecting **beauty salon marketing email list** data today.

***

### Disclaimer

**This actor only accesses publicly accessible sources**. It does not access private profiles, authenticated data, or password-protected pages. It is your responsibility to comply with applicable laws and regulations (for example, GDPR/CCPA), as well as follow platform terms of service and any applicable rules regarding outreach and spam.

For data removal requests, contact: <dataforleads@gmail.com>. Please use this tool responsibly, ethically, and for legitimate purposes only.

# Actor input Schema

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

Enter the business type or niche for email scraper (e.g., 'beauty salons', 'hair stylists').

## `googleMapsLocation` (type: `array`):

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

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

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

## `scrapeMaxBusinessesPerLocation` (type: `boolean`):

If enabled, the scraper will collect up to `maxBusinesses` results per location. If disabled, it combines all locations up to a single total limit.

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

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

## Actor input object example

```json
{
  "googleMapsSearchTerm": "Beauty Salon",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "scrapeMaxBusinessesPerLocation": 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": "Beauty Salon",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("solid-scraper/beauty-salon-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": "Beauty Salon",
    "googleMapsLocation": ["New York"],
    "maxBusinesses": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("solid-scraper/beauty-salon-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": "Beauty Salon",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call solid-scraper/beauty-salon-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Beauty Salon Email Scraper",
        "description": "💇‍♀️ Find beauty salon emails fast! Our Beauty Salon Email Scraper extracts targeted contact leads by niche and location—perfect for marketing, outreach, and client growth. ⚡📩 Save time, reach more salons, get results.",
        "version": "1.0",
        "x-build-id": "Rnsg8BkLnRknni7q3"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solid-scraper~beauty-salon-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solid-scraper-beauty-salon-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/solid-scraper~beauty-salon-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solid-scraper-beauty-salon-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/solid-scraper~beauty-salon-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solid-scraper-beauty-salon-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": "Search Term",
                        "type": "string",
                        "description": "Enter the business type or niche for email scraper (e.g., 'beauty salons', 'hair stylists').",
                        "default": "Beauty Salon"
                    },
                    "googleMapsLocation": {
                        "title": "Location",
                        "type": "array",
                        "description": "Target geographic location for the email scraper (e.g., 'Miami, Florida').",
                        "default": [
                            "New York"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxBusinesses": {
                        "title": "Maximum Businesses With Emails",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Target number of emails to find (1-1000). The scraper will stop when this target is reached.",
                        "default": 5
                    },
                    "scrapeMaxBusinessesPerLocation": {
                        "title": "Scrape Max Businesses Per Location",
                        "type": "boolean",
                        "description": "If enabled, the scraper will collect up to `maxBusinesses` results per location. If disabled, it combines all locations up to a single total limit.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
