# Physiatrist Email Scraper (`contacts-api/physiatrist-email-scraper`) Actor

Physiatrist email scraper to extract verified physical medicine and rehabilitation physician emails from hospitals, rehabilitation centers, clinics, and healthcare directories 📧🩺 Perfect for healthcare outreach, recruitment, and physical medicine lead generation.

- **URL**: https://apify.com/contacts-api/physiatrist-email-scraper.md
- **Developed by:** [Lead Heaven](https://apify.com/contacts-api) (community)
- **Categories:** Lead generation, Automation
- **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

### 🧠 Physiatrist Email Scraper — Find Verified Leads in Minutes

> The fastest way to build a targeted physiatrist list. This actor searches Google Maps for physiatrists and PM&R clinics in any city, crawls their websites, and extracts verified physiatrist email addresses, phone numbers, and social media profiles — all in one clean, export-ready dataset.

---

#### 🚀 Quick Start

1. Enter your search term — e.g., "Physiatrist", "PM&R", "rehabilitation medicine"
2. Add one or more target locations — e.g., "New York", "Los Angeles, California"
3. Set your desired number of businesses with emails
4. Hit Run and get your physiatrist leads in minutes

No coding required. Export to CSV, JSON, or Excel instantly using the physiatrist email scraper.

---

#### 💡 What Is the Physiatrist Email Scraper?

The Physiatrist Email Scraper is a purpose-built lead generation and contact discovery tool for:

- Healthcare marketing teams and agencies
- PM&R residency coordinators and recruitment firms
- B2B outreach professionals selling medical devices, EMR, or rehab services
- Researchers and analysts mapping the physiatry market

It combines Google Maps listing discovery with deep website crawling to extract publicly available contact data — producing an accurate, deduplicated physiatrist list ready for immediate use.

Whether you need it as a physiatrist email finder, a physiatrist lead scraper, or a physiatrist contact scraper — this actor covers all three in a single automated run. It works equally well as a physiatrist lead finder and a physiatrist email extractor when you want verified inboxes at scale.

---

#### 📦 What Data Does It Extract?

- Business Name — Practice or clinic name from Google Maps
- Website — Official domain when available
- 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 physiatrist email addresses found on the website
- Additional Phones — Extra phone numbers discovered during crawl
- Social Media Links — Facebook, Instagram, LinkedIn, Twitter/X, 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": "Physiatrist",
  "googleMapsLocation": ["New York"],
  "maxBusinesses": 50
}
````

##### Full Example with All Options

```json
{
  "googleMapsSearchTerm": "Physiatrist",
  "googleMapsLocation": [
    "New York",
    "Los Angeles, California",
    "Chicago, Illinois"
  ],
  "maxBusinesses": 200,
  "scrapeMaxBusinessesPerLocation": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

##### Input Parameters

- googleMapsSearchTerm (String, required): Business type to search — e.g., "Physiatrist", "rehabilitation medicine", "PM\&R clinic".
- googleMapsLocation (Array, required): One or more locations — e.g., \["New York", "Austin, Texas"].
- maxBusinesses (Number, required): Max businesses with emails to return (1–1,000).
- scrapeMaxBusinessesPerLocation (Boolean, optional): If true, applies the cap per location. If false, it’s a combined total across all locations.
- proxyConfiguration (Object, optional): Proxy settings. Recommended for large runs; improves reliability for this physiatrist data scraper.

***

#### 📤 Sample Output

```json
[
  {
    "name": "NYC Physical Medicine & Rehabilitation",
    "website": "https://www.nycpmrclinic.com",
    "phone": "+1 212-555-0194",
    "full_address": "200 E 33rd St, New York, NY 10016, United States",
    "city": "New York",
    "state": "NY",
    "zip": "10016",
    "country_code": "US",
    "scraped_emails": [
      "info@nycpmrclinic.com",
      "appointments@nycpmrclinic.com"
    ],
    "scraped_phones": ["+1 212-555-0194", "+1 212-555-0123"],
    "scraped_social_media": [
      "facebook:https://facebook.com/nycpmrclinic",
      "linkedin:https://linkedin.com/company/nycpmrclinic"
    ],
    "emails_found": 2,
    "pages_scraped": 12,
    "avg_rating": 4.7,
    "total_reviews": 203,
    "lat": 40.7442,
    "long": -73.9803,
    "place_id": "ChIJ-EXAMPLEPLACEID",
    "scrape_status": "success"
  }
]
```

***

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

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

This pipeline functions as a physiatrist lead finder for discovery and as a physiatrist email extractor for contact harvesting — all in one run.

***

#### ✨ Key Features

##### 🎯 Precise Location Targeting

Enter any city, state, or region. The actor pinpoints PM\&R clinics and physiatrists in your exact target areas — delivering hyper-local physiatrist leads you can action immediately.

##### 🔍 Deep Website Crawl

Goes beyond the listing. Crawls homepages, contact pages, about pages, providers/team pages, and footers to surface every available public physiatrist email and phone number.

##### 🌎 Multi-Location Scaling

Run across dozens of cities at once. Choose a combined cap or a per-location cap — perfect for building a nationwide physiatrist list without manual work.

##### 🧹 Smart De-Duplication

Automatically removes duplicate emails per domain so your list stays clean and accurate — no messy cleanup after export. Ideal when using the tool as a physiatrist email finder or physiatrist contact finder.

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

All results are normalized with consistent field names. Drop them straight into HubSpot, Salesforce, Apollo, Instantly, Smartlead, or any outreach tool. Use it as your physiatrist contact scraper or physiatrist data scraper for downstream workflows.

##### 🛡️ Proxy-Ready for Reliability

Built-in proxy support enables stable, large-scale runs without rate-limiting or IP blocks — essential for agency-level physiatrist leads campaigns.

##### ⏱️ Stop at Your Target

The actor halts as soon as your maxBusinesses limit is reached — no wasted compute, no overage. Efficient for recurring physiatrist lead scraper workflows.

##### 🔄 Schedulable & Repeatable

Set it to run daily, weekly, or monthly to continuously grow and refresh your physiatrist list.

***

#### 🎯 Use Cases

##### 💼 B2B Outreach & Sales

Build pitch lists targeting independent physiatry clinics, hospital rehab departments, and multidisciplinary practices. Use it as a physiatrist lead scraper to fuel cold outreach with verified physiatrist email contacts.

##### 🧑‍⚕️ Healthcare Staffing & Recruiting

Identify clinics and departments hiring physiatrists. The physiatrist lead finder surfaces contacts that aren’t visible on job boards.

##### 📣 Local & Regional Marketing

Create geo-targeted campaigns with verified emails and phones pulled directly from clinic websites. Perfect when you need consistent physiatrist leads across multiple markets.

##### 🤝 Partnerships & Referrals

Find complementary providers for rehab networks — orthopedics, neurology, pain management, and PT/OT clinics. A practical physiatrist contact finder for partnership development.

##### 📚 Market Research & Mapping

Compile a comprehensive physiatrist list for market sizing, trend analysis, or academic surveys using the physiatrist data scraper.

##### 🗃️ CRM Enrichment

Enrich existing records with missing physiatrist email addresses, phone numbers, and social profiles using the physiatrist email finder.

***

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

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

- Number of locations added
- Search term breadth (niche vs. broad)
- Website density and email visibility in each market
- maxBusinesses setting and per-location vs. combined mode
- Proxy configuration and run timeout

Typical Output Ranges:

- Small (1–3 cities): 20 – 100 businesses with emails
- Medium (5–15 cities): 200 – 600 businesses with emails
- Large (20+ cities / states): 800 – 1,000+ per run

Run multiple times across different regions to continuously grow your physiatrist list with fresh physiatrist leads.

***

#### 🔌 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. Use the output from the physiatrist email extractor to power your campaigns.

***

#### 🛠️ 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 "Physiatrist Email Scraper" in the Apify Store and click Try for free.

- Step 3 — Set Your Search Term
  Enter "Physiatrist" or a niche variant like "rehabilitation medicine", "PM\&R clinic", or "spine and sports rehab".

- Step 4 — Add Target Locations
  Enter one or more city/state combos — e.g., "New York", "Houston, Texas", "Seattle, Washington".

- Step 5 — 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 — best practice for any physiatrist contact scraper.

- Step 8 — Run 🚀
  Click Start and let the Physiatrist 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 (European Union)
- CAN-SPAM Act (United States)
- CASL (Canada)
- PECR (United Kingdom)

This tool is intended for ethical business prospecting only. You are responsible for how you use the data collected with the physiatrist email scraper.

***

#### ❓ 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 a responsibly designed physiatrist email extractor.

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 physiatrist leads.

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

Q: Can I schedule recurring runs?
A: Absolutely. Use Apify's built-in scheduler to run weekly or monthly and keep your contacts fresh with this physiatrist email finder.

Q: What niches does the search term support?
A: Any Google Maps searchable term — try "physiatrist", "PM\&R", "rehabilitation medicine", "spine and sports rehab", or "pain management physiatry".

Q: Are proxies required?
A: Not for small runs, but strongly recommended for 200+ business runs to avoid rate limits and improve reliability of the physiatrist data scraper.

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

Q: How is this different from manual searching?
A: Manual search is slow and doesn’t extract emails at scale. This actor automates discovery and contact extraction — acting as a physiatrist lead finder and physiatrist contact finder in a single workflow.

Q: Can agencies white-label or resell this?
A: Yes. Run it on behalf of clients and deliver fresh physiatrist leads on a recurring basis.

***

#### 🧑‍💻 Support & Custom Solutions

Have a question, feature request, or need a custom build using the Physiatrist Email Scraper?

Email: scrapermindapi@gmail.com

We’re happy to help with:

- Custom input/output configurations
- Niche-specific adaptations (sports medicine, pain management, neurorehab)
- Bulk or enterprise run support
- Integration assistance for CRMs and outreach tools

Built for healthcare marketers, staffing professionals, and outreach teams who need accurate physiatrist leads at scale — powered by a reliable physiatrist email scraper. 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": "Physiatrist",
  "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": "Physiatrist",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

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

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Physiatrist Email Scraper",
        "description": "Physiatrist email scraper to extract verified physical medicine and rehabilitation physician emails from hospitals, rehabilitation centers, clinics, and healthcare directories 📧🩺 Perfect for healthcare outreach, recruitment, and physical medicine lead generation.",
        "version": "1.0",
        "x-build-id": "UOJcWhwQb9RFauK40"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/contacts-api~physiatrist-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-contacts-api-physiatrist-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~physiatrist-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-contacts-api-physiatrist-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~physiatrist-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-contacts-api-physiatrist-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": "Physiatrist"
                    },
                    "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
