# Law Firms Email Scraper (`contacts-api/law-firms-email-scraper`) Actor

Law firms email scraper to extract verified emails from law firms, attorneys, and legal directories 📧⚖️ Perfect for legal outreach, partnerships, and targeted legal industry lead generation.

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

### ⚖️ Law Firms Email Scraper — Find Verified Legal Contacts At Scale

> The fastest way to build a targeted law firms email pipeline. This actor searches Google Maps for law firms in any city, crawls their websites, and extracts verified emails, phone numbers, and social media profiles — all in one clean, export-ready dataset tailored for legal outreach.

---

#### 🚀 Quick Start

1. Enter your search term — e.g., "Law Firms" or "Personal Injury Lawyers"
2. Add one or more target locations — e.g., "New York", "Chicago, Illinois"
3. Set your desired number of businesses with emails
4. Hit Run and get your results in minutes

No coding required. Export to CSV, JSON, or Excel instantly. Ideal for building law firms leads and maintaining a fresh law firms list.

---

#### 💡 What Is the Law Firms Email Scraper?

The Law Firms Email Scraper is a specialized lead generation and contact discovery tool designed for:

- Legal marketing agencies and consultancies
- Legaltech vendors and SaaS sales teams
- Process servers, court reporters, and litigation support providers
- Recruiters and staffing firms targeting legal practices
- B2B outreach professionals building law firms leads

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

Whether you need it as a law firms lead finder, a law firms lead scraper, a law firms email finder, or a law firms contact scraper — this actor covers discovery and extraction in a single automated run. It also doubles as a law firms email extractor, a law firms contact finder, and a dependable law firms data scraper for your internal pipelines.

---

#### 📦 What Data Does It Extract?

| Field | Description |
|---|---|
| Business Name | Firm or practice name from Google Maps |
| Website | Official website URL |
| Phone | Primary phone from the listing or website |
| Full Address | Complete office address as listed |
| City / State / ZIP | Parsed location components |
| Country Code | ISO country code where available |
| Emails | All public law firms email addresses extracted from website pages |
| Additional Phones | Extra phone numbers discovered during crawl |
| Social Media Links | Facebook, LinkedIn, Twitter/X, Instagram, and more |
| Email Count | Total unique emails found per firm |
| Pages Scraped | Number of website pages crawled per domain |
| Rating | Average Google Maps star rating (if available) |
| 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 |

Use this structured output to build a CRM-ready law firms list, enrich existing records, or feed your automations.

---

#### ⚙️ Input Configuration

##### Minimal Example

```json
{
  "googleMapsSearchTerm": "Law Firms",
  "googleMapsLocation": ["New York"],
  "maxBusinesses": 50
}
````

##### Full Example with All Options

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

##### Input Parameters

| Parameter | Type | Required | Description |
|---|---|---|---|
| `googleMapsSearchTerm` | String | ✅ Yes | Business type or niche to search — e.g., "Law Firms", "family law attorney", "immigration lawyer" |
| `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). Defaults to 5 |
| `scrapeMaxBusinessesPerLocation` | Boolean | ❌ No | If true, applies the cap per location. If false, combined total across all locations |
| `proxyConfiguration` | Object | ❌ No | Proxy settings. Strongly recommended for large runs to avoid rate limits |

***

#### 📤 Sample Output

```json
[
  {
    "name": "Anderson & Blake LLP",
    "website": "https://www.andersonblakelaw.com",
    "phone": "+1 212-555-0142",
    "full_address": "445 Park Ave, Suite 1800, New York, NY 10022, United States",
    "city": "New York",
    "state": "NY",
    "zip": "10022",
    "country_code": "US",
    "scraped_emails": [
      "info@andersonblakelaw.com",
      "inquiries@andersonblakelaw.com"
    ],
    "scraped_phones": ["+1 212-555-0142", "+1 212-555-0177"],
    "scraped_social_media": [
      "linkedin:https://www.linkedin.com/company/andersonblakelaw",
      "twitter:https://twitter.com/ablaw_llp"
    ],
    "emails_found": 2,
    "pages_scraped": 12,
    "avg_rating": 4.7,
    "total_reviews": 86,
    "lat": 40.7619,
    "long": -73.9725,
    "place_id": "ChIJEXAMPLEID123",
    "scrape_status": "success"
  }
]
```

***

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

```
Step 1 → Search Google Maps using your term + location
Step 2 → Collect law firm listings (name, address, phone, website)
Step 3 → Visit each website and crawl key pages (Home, Contact, About, Attorneys, Footer)
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 law firms email scraper is designed to function as both a firm finder (discovery) and an extractor (contact harvesting), so you can go from search to outreach in one run.

***

#### ✨ Key Features

##### 🎯 Precise Location Targeting

Enter any city, state, or region. The actor pinpoints firms in your exact target area — delivering hyper-local law firms leads for your campaigns.

##### 🔍 Deep Website Crawl & Email Discovery

Goes beyond the listing. Crawls homepages, contact pages, attorney profiles, and footer sections to surface every available public law firms email and phone number. Works as a robust law firms email extractor and law firms email finder.

##### 🌎 Multi-Location Scaling

Run across dozens of cities at once. Choose a combined cap or a per-location cap — perfect for building a large, multi-market law firms list without manual effort.

##### 🧹 Smart De-Duplication

Automatically removes duplicate emails per domain so your contact set stays clean and accurate. Ideal for a tidy law firms contact scraper workflow.

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

Consistent field names and normalized data make it easy to import into HubSpot, Salesforce, Apollo, Instantly, or any outreach tool. Great for maintaining an up-to-date law firms data scraper pipeline.

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

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

##### ⏱️ Stop at Your Target

The actor halts as soon as your maxBusinesses limit is reached — no wasted compute, no overage. Perfect when using it as a law firms lead scraper or law firms lead finder.

##### 🔄 Schedulable & Repeatable

Set it to run daily, weekly, or monthly to continually grow and refresh your law firms list and keep your law firms email outreach current.

***

#### 🎯 Use Cases

##### 💼 B2B Outreach & Sales

Build pitch lists targeting boutique firms, mid-size practices, or multi-office firms. Use this as your law firms lead scraper and law firms email finder to fuel cold email sequences.

##### 📣 Legal Marketing & Advertising

Create geo-targeted campaigns with verified law firms email and phone numbers pulled from firm websites. Enrich personas by practice area using the law firms contact scraper.

##### 🧑‍💼 Legaltech & SaaS Sales

Feed your CRM with qualified law firms leads and route them into onboarding or demo cadences. Acts as a dependable law firms data scraper for recurring pipelines.

##### 📑 Litigation Support & Services

Court reporters, process servers, eDiscovery, and translation vendors can rapidly build a law firms list in target jurisdictions using the law firms contact finder.

##### 🗃️ CRM Enrichment & Data Hygiene

Update existing records with missing emails, phones, and social profiles. The law firms email extractor reduces manual research and improves match rates.

##### 🤝 Partnerships & Referrals

Identify complementary firms for cross-referrals (e.g., immigration vs. tax, PI vs. defense). Leverage the law firms lead finder to spot opportunities across cities.

***

#### 📈 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 (narrow vs. broad niche)
- Website density and email visibility 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 multiple times across different regions to continuously grow your law firms list without hitting hard platform limits.

***

#### 🔌 Integrations & Export Options

Once your run completes, you can:

| Option | Details |
|---|---|
| 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 law firms 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. Great for operationalizing a law firms data scraper into your growth stack.

***

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

Step 3 — Set Your Search Term\
Enter "Law Firms" or a niche variant like "family law attorney", "immigration lawyer", or "employment law firm".

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

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.

Step 8 — Run 🚀\
Click Start and let the Law Firms 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 law firm 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 or opt-out option in all outreach
- Follow applicable laws in your jurisdiction

Relevant regulations to be aware of:

| Regulation | Region |
|---|---|
| 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.

***

#### ❓ Frequently Asked Questions

Q: Does this scrape private or personal inboxes?\
A: No. The actor only extracts emails that are publicly visible on firm websites — general intake, info@, and published department or attorney contacts.

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 law firms leads.

Q: Is it a law firms lead scraper or a contact finder?\
A: Both. It discovers firms from Google Maps and extracts contact details from their sites — serving as a law firms lead scraper and a law firms contact finder in one.

Q: Can I use this as a law firms email extractor for attorney pages?\
A: Yes. The crawler scans common attorney profile pages, contact pages, and footers to find publicly available emails, making it an effective law firms email extractor.

Q: Does it deduplicate emails and firms?\
A: Yes. Emails are deduplicated per domain to keep your records clean. This helps maintain a high-quality law firms list.

Q: Can I schedule recurring runs?\
A: Absolutely. Use Apify’s built-in scheduler to run weekly or monthly and keep your law firms email database fresh.

Q: Is proxy usage required?\
A: Not for small runs, but strongly recommended for 200+ firm runs to avoid rate limits and ensure stable performance.

Q: Can this work as a law firms data scraper for my internal dashboards?\
A: Yes. Export JSON or stream via API/webhooks to power internal dashboards, enrichment jobs, and analytics.

Q: What platforms can I export to?\
A: Any system that accepts CSV or JSON — including CRMs (HubSpot, Salesforce), sales tools (Apollo), and outreach platforms (Instantly, Smartlead).

Q: Can agencies white-label or resell this?\
A: Yes. Use it on behalf of clients to deliver fresh law firms leads on a recurring basis.

***

#### 🧑‍💻 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 for unique practice areas
- Niche-specific adaptations (e.g., PI, immigration, corporate, IP)
- Bulk or enterprise run support
- Integration assistance (CRMs, automation platforms, webhooks)

***

Built for legal marketers, vendors, and outreach teams who need reliable law firms leads at scale — fast, powered by the law firms 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": "Law Firms",
  "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": "Law Firms",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

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

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Law Firms Email Scraper",
        "description": "Law firms email scraper to extract verified emails from law firms, attorneys, and legal directories 📧⚖️ Perfect for legal outreach, partnerships, and targeted legal industry lead generation.",
        "version": "1.0",
        "x-build-id": "C27tFvzlmJSfeFmX1"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/contacts-api~law-firms-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-contacts-api-law-firms-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~law-firms-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-contacts-api-law-firms-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~law-firms-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-contacts-api-law-firms-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": "Law Firms"
                    },
                    "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
