# Massage Therapist Email Scraper (`contacts-api/massage-therapist-email-scraper`) Actor

Massage therapist email scraper to extract verified therapist emails from wellness centers, spa websites, and healthcare directories 📧💆 Perfect for outreach, partnerships, and wellness industry lead generation.

- **URL**: https://apify.com/contacts-api/massage-therapist-email-scraper.md
- **Developed by:** [Lead Heaven](https://apify.com/contacts-api) (community)
- **Categories:** Lead generation, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 1,000 results

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

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

### 💆 Massage Therapist Email Scraper — Find Verified Leads in Minutes

> The fastest way to build a targeted massage therapist list. This actor searches Google Maps for massage therapists across any city, crawls their websites, and extracts verified massage therapist email addresses, phone numbers, and social media profiles — all in one clean, export-ready dataset of massage therapist leads.

---

#### 🚀 Quick Start

1. Enter your search term — e.g., "Massage Therapist"
2. Add one or more target locations — e.g., "New York", "Miami, Florida"
3. Optionally set your maximum businesses with emails
4. Hit Run and get your massage therapist list in minutes

No coding required. Export to CSV, JSON, or Excel instantly.

---

#### 💡 What Is the Massage Therapist Email Scraper?

The Massage Therapist Email Scraper is a focused lead-generation and contact discovery tool for:

- Wellness and spa marketing teams
- Lead generation agencies and local SEO specialists
- B2B outreach professionals selling tools or training to massage practices
- Directory owners and app founders in the wellness space

It combines Google Maps listing discovery with deep website crawling to extract publicly available contact data — producing an accurate, deduplicated database of massage therapist leads you can use right away.

Whether you need it as a massage therapist email finder, a massage therapist lead finder, or a massage therapist data scraper — this actor automates the entire process. It reliably functions as a massage therapist email extractor and a massage therapist contact scraper, so you can build and refresh your outreach lists at scale.

---

#### 📦 What Data Does It Extract?

| Field | Description |
|---|---|
| Business Name | Practice or company name from Google Maps |
| Website | Official website URL |
| Phone | Primary phone from the listing or website |
| Full Address | Complete address as listed |
| City / State / ZIP | Parsed location components |
| Country Code | ISO country code where available |
| Emails | All public massage therapist email addresses extracted from website pages |
| Additional Phones | Extra phone numbers discovered during crawl |
| Social Media Links | Facebook, Instagram, LinkedIn, Twitter, and more |
| Email Count | Total unique emails found per business |
| Pages Scraped | Number of website pages crawled per domain |
| Rating | Average Google Maps star rating |
| Reviews | Total number of Google reviews |
| Latitude / Longitude | Geo-coordinates for mapping and filtering |
| Place ID | Google Maps place identifier |
| Scrape Status | Per-record status: success, partial, or error |

---

#### ⚙️ Input Configuration

##### Minimal Example

```json
{
  "googleMapsSearchTerm": "Massage Therapist",
  "googleMapsLocation": ["New York"]
}
````

##### Full Example with All Options

```json
{
  "googleMapsSearchTerm": "Massage Therapist",
  "googleMapsLocation": [
    "New York",
    "Miami, Florida",
    "Austin, Texas"
  ],
  "maxBusinesses": 200,
  "scrapeMaxBusinessesPerLocation": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

##### Input Parameters

| Parameter | Type | Required | Description |
|---|---|---|---|
| `googleMapsSearchTerm` | String | ✅ Yes | Business type to search — e.g., "Massage Therapist", "sports massage", "deep tissue massage" |
| `googleMapsLocation` | Array | ✅ Yes | One or more locations — e.g., \["New York", "Austin, Texas"] |
| `maxBusinesses` | Number | ❌ No | Max businesses with emails to return (1–1,000). Scrape stops when this target is reached |
| `scrapeMaxBusinessesPerLocation` | Boolean | ❌ No | If true, applies the cap per location. If false, it's a combined total across all locations |
| `proxyConfiguration` | Object | ❌ No | Proxy settings. Strongly recommended for large runs and multi-city campaigns |

***

#### 📤 Sample Output

```json
[
  {
    "name": "Calm Current Massage",
    "website": "https://www.calmcurrentmassage.com",
    "phone": "+1 646-555-0142",
    "full_address": "227 W 29th St, New York, NY 10001, United States",
    "city": "New York",
    "state": "NY",
    "zip": "10001",
    "country_code": "US",
    "scraped_emails": [
      "hello@calmcurrentmassage.com",
      "appointments@calmcurrentmassage.com"
    ],
    "scraped_phones": ["+1 646-555-0142", "+1 646-555-0177"],
    "scraped_social_media": [
      "instagram:https://instagram.com/calmcurrentmassage",
      "facebook:https://facebook.com/calmcurrentmassage"
    ],
    "emails_found": 2,
    "pages_scraped": 12,
    "avg_rating": 4.9,
    "total_reviews": 86,
    "lat": 40.7486,
    "long": -73.9924,
    "place_id": "ChIJ8-EXAMPLEID",
    "scrape_status": "success"
  }
]
```

***

#### 🔧 How It Works — Under the Hood

Step 1 → Search Google Maps using your term + location\
Step 2 → Collect business listings (name, address, phone, website)\
Step 3 → Visit each website and crawl key pages (Home, Contact, About, etc.)\
Step 4 → Extract public emails, phone numbers, and social media links\
Step 5 → Deduplicate and normalize all contact data\
Step 6 → Return structured results ready for export or API consumption

The actor is built to work as both a massage therapist lead scraper and a massage therapist email scraper in one automated pipeline.

***

#### ✨ Key Features

##### 🎯 Precise Location Targeting

Pinpoint massage practices in specific cities, regions, or states. Build geo-focused massage therapist leads for highly targeted campaigns.

##### 🔍 Deep Website Crawl & Email Extraction

Goes beyond listings to crawl homepages, contact pages, about pages, and footers — surfacing every available public massage therapist email and phone number with a reliable massage therapist email extractor approach.

##### 🧭 Multi-Location Scaling

Add multiple cities or states and choose a combined cap or per-location cap. Great for building a multi-market massage therapist list in one run.

##### 🧹 Smart De-Duplication

Cleans repeated emails per domain so your exports stay tidy and usable. Less manual cleanup, more time for outreach with your massage therapist leads.

##### 📊 Structured, CRM-Ready Output

Normalized field names make importing into HubSpot, Salesforce, Apollo, Instantly, or any CRM a breeze — whether you’re using it as a massage therapist contact scraper or a massage therapist contact finder.

##### 🛡️ Proxy Support for Stability

Built-in proxy configuration ensures steady performance at scale, a must for any dependable massage therapist data scraper.

##### ⏱️ Stop Exactly at Your Target

The run halts as soon as your maxBusinesses threshold is reached — efficient and cost-effective.

##### 🔄 Schedulable & Repeatable

Schedule it to run weekly or monthly to keep your massage therapist list fresh and continuously growing.

***

#### 🎯 Use Cases

##### 💼 B2B Outreach & Sales

Generate qualified massage therapist leads for software vendors, equipment suppliers, CE course providers, and consulting services. Use it as your go-to massage therapist lead finder for repeatable pipeline building.

##### 📣 Local & Regional Marketing

Create segmented email lists for city-level or statewide campaigns. Pair a niche term (e.g., "sports massage") with target cities to harvest precise massage therapist email contacts.

##### 🧭 Directory Builders & Marketplaces

Populate a new directory or app with verified contacts — the actor works as a dependable massage therapist contact finder and massage therapist data scraper.

##### 🗃️ CRM Enrichment

Match existing records and fill in missing website, phone, social profiles, and emails using the built-in massage therapist email finder workflow.

##### 🤝 Partnerships & Referrals

Identify complementary local businesses (chiropractors, physical therapy clinics, yoga studios) for referral partnerships by starting with a rich massage therapist list.

***

#### 📈 How Many Results Can You Get?

Scale from a small prospect list to a large regional database — results depend on:

- Number of locations added
- Breadth of your search term (niche vs. broad)
- Email visibility and website density in each market
- maxBusinesses setting and per-location vs. combined mode
- Proxy configuration and run timeout

##### Typical Output Ranges

| Campaign Size | Businesses with Emails |
|---|---|
| Small (1–3 cities) | 20 – 100 |
| Medium (5–15 cities) | 200 – 600 |
| Large (20+ cities / states) | 800 – 1,000+ per run |

Run across multiple regions to continuously grow your massage therapist list and keep your massage therapist leads pipeline full.

***

#### 🔌 Integrations & Export Options

Once your run completes, you can:

- JSON: Full structured data download
- CSV / Excel: Import directly into spreadsheets
- Apify API: Stream results into your own apps or workflows
- Zapier / Make: Trigger automations when new leads are found
- Webhooks: Push results to your CRM or pipeline on run completion

Plug directly into Instantly, Smartlead, Apollo, HubSpot, Salesforce, or any outreach platform that accepts CSV/JSON imports — powered by a robust massage therapist data scraper workflow.

***

#### 🛠️ Step-by-Step Usage Guide

Step 1 — Log in to Apify\
Create a free account or sign in at apify.com.

Step 2 — Open the Actor\
Search for "Massage Therapist Email Scraper" in the Apify Store and click Try for free.

Step 3 — Set Your Search Term\
Enter "Massage Therapist" or a niche variant like "sports massage", "prenatal massage", or "medical massage".

Step 4 — Add Target Locations\
Enter one or more city/state combos — e.g., "New York", "Austin, Texas".

Step 5 — (Optional) Set Your Limit\
Choose how many businesses with emails you want — 20 for a quick test, up to 1,000 for a full campaign.

Step 6 — Choose Scaling Strategy

- Combined cap: The total across all locations combined
- Per-location cap: Applies your limit independently to each city

Step 7 — Enable Proxies\
Turn on Apify Proxy for stable, uninterrupted crawling at scale.

Step 8 — Run 🚀\
Click Start and let the Massage Therapist Email Scraper do the work.

Step 9 — Export\
Download as JSON, CSV, or Excel — or pull via API straight into your stack.

***

#### ⚖️ Legal & Compliance

This actor collects only publicly available business contact information — emails and phone numbers published openly on websites.

Best practices to stay compliant:

- Only use publicly visible contact data
- Do not bypass login walls or paywalls
- Respect each website's robots.txt and Terms of Service
- Include an unsubscribe option in all outreach
- Follow applicable laws in your jurisdiction

Relevant regulations to be aware of:

- GDPR (EU)
- CAN-SPAM Act (US)
- CASL (Canada)
- PECR (UK)

This tool is intended for ethical business prospecting only. You are responsible for how you use the data collected by any massage therapist contact scraper or massage therapist email extractor.

***

#### ❓ Frequently Asked Questions

Q: Does this scrape private or personal emails?\
A: No. The actor only extracts emails that are publicly visible on business websites — practice inboxes, admin contacts, and general inquiry addresses. It’s designed as a compliant massage therapist email extractor and massage therapist contact scraper.

Q: Can I search multiple cities in one run?\
A: Yes. Add as many locations as needed. Use per-location capping for even geographic distribution of massage therapist leads.

Q: Does it deduplicate results?\
A: Yes. Emails are deduplicated per domain to keep your massage therapist list accurate.

Q: Can I schedule recurring runs?\
A: Absolutely. Use Apify’s built-in scheduler to run weekly or monthly and keep your lists refreshed with new massage therapist leads.

Q: Is this a massage therapist lead finder or just an email tool?\
A: It’s both. You can use it as a massage therapist lead finder for discovery and as a massage therapist email finder for extraction in the same run.

Q: Is using proxies required?\
A: Not for small runs, but strongly recommended for 200+ business runs to avoid rate limits and ensure consistent performance as a massage therapist data scraper.

Q: What export formats are available?\
A: JSON, CSV, and Excel. You can also consume results via the Apify API or webhooks.

Q: How is this different from manual searching?\
A: Manual search is slow and inconsistent. This actor automates discovery, crawling, and extraction — acting as a reliable massage therapist lead scraper that returns structured data in minutes.

Q: Can agencies white-label or resell this?\
A: Yes. Run it on behalf of clients and deliver fresh massage therapist leads on a recurring basis as a managed service.

***

#### 🧑‍💻 Support & Custom Solutions

Have a question, feature request, or need a custom build?

Email: scrapermindapi@gmail.com

We’re happy to help with:

- Custom input/output configurations
- Niche-specific adaptations (e.g., sports massage, medical massage)
- Bulk or enterprise run support
- Integration assistance for CRMs and automation tools

Built for marketers, agencies, and founders who need a fast, accurate massage therapist email scraper to generate outreach-ready pipelines.

For any help or custom solution, contact via this mail: scrapermindapi@gmail.com

# Actor input Schema

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

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

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

Target geographic location for the 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.

## `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": "Massage Therapist",
  "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": "Massage Therapist",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("contacts-api/massage-therapist-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": "Massage Therapist",
    "googleMapsLocation": ["New York"],
    "maxBusinesses": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Massage Therapist Email Scraper",
        "description": "Massage therapist email scraper to extract verified therapist emails from wellness centers, spa websites, and healthcare directories 📧💆 Perfect for outreach, partnerships, and wellness industry lead generation.",
        "version": "1.0",
        "x-build-id": "ztKdwxw9jBH6j5zW0"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/contacts-api~massage-therapist-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-contacts-api-massage-therapist-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/contacts-api~massage-therapist-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-contacts-api-massage-therapist-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/contacts-api~massage-therapist-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-contacts-api-massage-therapist-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., 'coffee shops', 'dentists').",
                        "default": "Massage Therapist"
                    },
                    "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 businesses 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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
