# Schools Email Scraper (`contacts-api/schools-email-scraper`) Actor

Schools email scraper to extract verified emails from schools, educational institutions, and academic directories 📧🏫 Perfect for education outreach, partnerships, and student recruitment lead generation.

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

### 🎓 Schools Email Scraper — Find Verified Leads in Minutes

> The fastest way to build a targeted schools email list. This actor searches Google Maps for schools across any city, crawls their websites, and extracts verified emails, phone numbers, and social media profiles — delivering export-ready schools leads for outreach, partnerships, and research.

---

#### 🚀 Quick Start

1. Enter your search term — e.g., "Schools", "High School", "Elementary School", "Community College"
2. Add one or more target locations — e.g., "New York", "Miami, Florida"
3. Set your desired number of institutions with emails
4. Hit Run and let the Schools Email Scraper do the heavy lifting

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

---

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

The Schools Email Scraper is a purpose-built discovery and contact collection tool for:

- Education vendors and edtech companies
- District outreach and field marketing teams
- Researchers, consultants, and nonprofit organizations
- Data operations teams building a clean schools list

It combines Google Maps listing discovery with deep website crawling to extract publicly available contact data (emails, phones, social profiles). Use it as a schools lead finder to identify targets, a schools lead scraper to harvest verified contact points, or a schools email finder to zero in on inboxes that respond. It also performs as a schools email extractor for institutional websites and a reliable schools data scraper for structured, deduplicated outputs at scale.

Whether your goal is building a multi-city schools list, enriching existing records, or powering campaigns, this schools email scraper streamlines the entire workflow in one automated run.

---

#### 📦 What Data Does It Extract?

| Field | Description |
|---|---|
| Business Name | School or institution 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 schools email addresses found on the domain |
| 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 school |
| 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 |

This output is ideal for CRM enrichment, campaign building, and as a baseline schools data scraper feed for internal systems.

---

#### ⚙️ Input Configuration

##### Minimal Example

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

##### Full Example with All Options

```json
{
  "googleMapsSearchTerm": "Schools",
  "googleMapsLocation": [
    "New York",
    "Boston, Massachusetts",
    "Philadelphia, Pennsylvania"
  ],
  "maxBusinesses": 200,
  "scrapeMaxBusinessesPerLocation": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

##### Input Parameters

| Parameter | Type | Required | Description |
|---|---|---|---|
| `googleMapsSearchTerm` | String | ✅ Yes | School type to search — e.g., "Schools", "High School", "Charter School", "Community College" |
| `googleMapsLocation` | Array | ✅ Yes | One or more locations — e.g., \["New York", "Austin, Texas"] |
| `maxBusinesses` | Number | ✅ Yes | Max schools with emails to return (1–1,000). The run stops at this target. |
| `scrapeMaxBusinessesPerLocation` | Boolean | ❌ No | If true, applies the cap per location; if false, the cap is combined across all locations. |
| `proxyConfiguration` | Object | ❌ No | Proxy settings. Strongly recommended for large runs to avoid rate limits. |

***

#### 📤 Sample Output

```json
[
  {
    "name": "Riverside High School",
    "website": "https://www.riversidehs.edu",
    "phone": "+1 212-555-0142",
    "full_address": "101 Riverside Dr, New York, NY 10024, United States",
    "city": "New York",
    "state": "NY",
    "zip": "10024",
    "country_code": "US",
    "scraped_emails": [
      "info@riversidehs.edu",
      "admissions@riversidehs.edu",
      "principal@riversidehs.edu"
    ],
    "scraped_phones": ["+1 212-555-0142", "+1 212-555-0180"],
    "scraped_social_media": [
      "facebook:https://facebook.com/riversidehsny",
      "twitter:https://twitter.com/riversidehsny",
      "linkedin:https://linkedin.com/school/riverside-high-ny"
    ],
    "emails_found": 3,
    "pages_scraped": 12,
    "avg_rating": 4.6,
    "total_reviews": 89,
    "lat": 40.7883,
    "long": -73.9801,
    "place_id": "ChIJN-EXAMPLEID",
    "scrape_status": "success"
  }
]
```

***

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

```
Step 1 → Search Google Maps using your school term + location
Step 2 → Collect listings (name, address, phone, website)
Step 3 → Visit each website and crawl key pages (Home, Contact, About, Staff, 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 actor functions as a schools lead scraper and schools email extractor in a single automated pipeline, while also serving as a dependable schools contact scraper for repeatable campaigns.

***

#### ✨ Key Features

##### 🎯 Precise Location Targeting

Pinpoint K‑12, charter, private, and higher-ed institutions in your exact target areas — perfect for building localized schools leads and regional campaigns.

##### 🔍 Deep Website Crawl

Goes beyond the listing. Crawls homepages, contact pages, staff directories, and footers to surface every available public schools email and phone number.

##### 🧭 Versatile Discovery Modes

Use narrow or broad queries: "High School", "Elementary School", "STEM Academy", "Community College" — the schools contact finder logic adapts to your search.

##### 🧹 Smart De-Duplication

Automatically removes duplicate emails per domain so your schools list stays clean and accurate — no post-export cleanup needed.

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

Normalized fields and consistent types for seamless import into HubSpot, Salesforce, Apollo, or any outreach tool — ideal for teams using a schools data scraper for enrichment.

##### 🌎 Multi-Location Scaling

Run across dozens of cities at once with combined or per-location caps. Ideal for building a large, multi-market roster of schools leads.

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

Built-in proxy support enables stable, large-scale runs without rate-limiting or IP blocks — essential for agency-scale schools contact scraper workflows.

##### ⏱️ Stop at Your Target

The Schools Email Scraper halts as soon as your maxBusinesses limit is reached — no wasted compute, no overage.

##### 🔄 Schedulable & Repeatable

Run daily, weekly, or monthly to continuously grow and refresh your schools list with up-to-date contacts.

***

#### 🎯 Use Cases

##### 💼 B2B Outreach & Sales

- Build pitch lists for edtech tools, supplies, or services.
- Use the schools lead finder to identify decision makers and inboxes that respond.
- Feed warmed, segmented schools leads into your drip campaigns.

##### 🧪 Research & Impact Programs

- Assemble a geographically balanced schools list for surveys or pilot programs.
- Leverage the schools email extractor to reach administrators and department heads.
- Build contact universes for grant notifications or community initiatives.

##### 📣 Regional Marketing & Events

- Promote PD workshops, open houses, or conferences to targeted districts.
- Combine multi-city runs with the schools contact finder for comprehensive coverage.
- Keep a refreshed roster of schools email contacts per metro.

##### 🧑‍🏫 Staffing & Recruitment

- Find HR or department emails at scale using the schools email finder.
- Compile career page links and contact points to promote openings.

##### 🧰 Data Ops & CRM Enrichment

- Use it as a production-grade schools data scraper to fill in missing emails, phones, and social URLs.
- Deduplicate contacts and standardize fields for easy merges.

##### 🤝 Partnerships & Community Outreach

- Build lists for partnerships with nonprofits, libraries, sports clubs, and STEM organizations.
- Deploy the schools lead scraper to surface contacts in specific program areas.

***

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

Scale from a small prospect list to a broad regional dataset — results depend on:

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

Typical Output Ranges

- Small (1–3 cities): 30 – 120 schools with at least one schools email
- Medium (5–15 cities): 200 – 700 schools leads per run
- Large (20+ cities / states): 800 – 1,000+ per run (repeat across regions to build a national schools list)

Run multiple times across different terms (e.g., "High School", "Elementary School") to broaden your schools leads without hitting platform limits.

***

#### 🔌 Integrations & Export Options

Once your Schools Email Scraper 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 records are found
- Webhooks: Push results to your CRM or pipeline on run completion

Plug directly into Instantly, Smartlead, Apollo, HubSpot, Salesforce, or any tool that accepts CSV/JSON from a schools data scraper.

***

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

Step 3 — Set Your Search Term\
Enter "Schools" or a variant like "High School", "Elementary School", "Community College".

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

Step 5 — Set Your Limit\
Choose how many institutions 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 reliable, uninterrupted crawling at scale.

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

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

***

#### ⚖️ Legal & Compliance

This schools email scraper collects only publicly available business contact information — emails and phone numbers published openly on school 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 consider:

- GDPR (European Union)
- CAN-SPAM Act (United States)
- CASL (Canada)
- PECR (United Kingdom)

This tool is intended for ethical outreach and research only. You are responsible for how you use the data collected with any schools contact scraper or schools contact finder.

***

#### ❓ Frequently Asked Questions

Q: Does this capture staff directory emails?\
A: If staff directories are publicly visible without logins, the schools email extractor will crawl key pages and extract listed addresses.

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

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

Q: Is proxy usage required?\
A: Not for small runs, but strongly recommended for 200+ institutions or multi-city campaigns to avoid rate limits.

Q: Is this only for K‑12?\
A: It works for K‑12 and higher education (e.g., community colleges). Your results depend on the search term you provide.

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 Google searches?\
A: Manual search is slow and inconsistent. The schools lead finder automates discovery, crawl, extraction, and normalization end-to-end in minutes.

Q: Can agencies white-label or resell this?\
A: Yes. Agencies use the schools lead scraper to deliver fresh weekly datasets to multiple clients.

***

#### 🧑‍💻 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., districts, charter networks, higher-ed)
- Bulk or enterprise run support
- Integration assistance across CRMs and marketing stacks

Built for education vendors, nonprofits, and outreach teams who need accurate schools leads at scale — fast.

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

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

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Schools Email Scraper",
        "description": "Schools email scraper to extract verified emails from schools, educational institutions, and academic directories 📧🏫 Perfect for education outreach, partnerships, and student recruitment lead generation.",
        "version": "1.0",
        "x-build-id": "iQJndalmPFcw1wRgd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/contacts-api~schools-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-contacts-api-schools-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~schools-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-contacts-api-schools-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~schools-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-contacts-api-schools-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": "Schools"
                    },
                    "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
