# Special Trade Contractors Email Scraper (`scrapers-hub/special-trade-contractors-email-scraper`) Actor

📧 Special Trade Contractors Email Scraper extracts verified contractor emails and contact details from target sites—streamlining lead gen for specialty trade businesses. ⚙️ Fast, accurate, and built for B2B outreach & data enrichment.

- **URL**: https://apify.com/scrapers-hub/special-trade-contractors-email-scraper.md
- **Developed by:** [Scrapers Hub](https://apify.com/scrapers-hub) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

### Special Trade Contractors Email Scraper 🔍
**Special Trade Contractors Email Scraper** helps you search for special trade contractors across multiple locations and extract their business contact details—especially emails—so you can build cleaner lead lists faster. Whether you’re a **marketer**, **recruiter**, or **data analyst** looking for a *special trade contractor email scraper*, a *trade contractor email scraping tool*, or a *construction subcontractor email scraper*, this actor automates the hardest part: turning public business listings into structured outreach-ready data at scale—saving you hours of manual work.

---

### Why choose Special Trade Contractors Email Scraper?
| Feature | Benefit |
| --- | --- |
| ✅ All-in-one contact extraction | Extract emails plus related business details from each scraped business entry |
| ✅ Reliability-focused scraping flow | Uses resilient scraping steps with fallback handling to reduce missing data |
| ✅ Targeted limits & stopping logic | Control how many businesses you want to collect (and when the run stops) |
| ✅ Structured dataset output | Saves results to a dataset in a consistent schema for easy export and analysis |
| ✅ Scale-friendly proxy support | Includes built-in proxy configuration to support larger runs |
| ✅ Fast automation for batch workflows | Lets you run lead-building jobs across locations without manual collection |

---

### Key features
- 📊 **Structured business contact data**: Outputs business name, address, ratings, coordinates, and contact fields like emails, phones, and social links
- 🔍 **Email extraction from business websites**: Scrapes contact information from the websites of the businesses you find
- 🧭 **Location-based searching**: Uses your provided geographic locations to find relevant contractors for each area
- 🛡️ **Proxy configuration support**: Lets you configure proxy settings to improve scraping reliability on larger workloads
- 🔄 **Page-limited website scraping**: Uses a configurable maximum pages-per-domain limit for controlled extraction depth
- 💾 **Real-time dataset saving**: Pushes results to the Apify dataset as it goes, instead of waiting until the end
- ⚙️ **Email-only mode behavior**: Can be set up to only save businesses with emails (via email filtering logic in the run)

---

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

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

#### Input Fields

| Field | Required | Description |
| --- | --- | --- |
| `googleMapsSearchTerm` | Yes | The business type or niche you want the email scraper to search for (for example, `Special Trade Contractors`). |
| `googleMapsLocation` | Yes | One or more geographic locations to target (example format: `New York`). The actor accepts a list of locations. |
| `maxBusinesses` | No | The target number of businesses to find **with emails** (allowed range: `1-1000`). The run stops when this target is reached. |
| `scrapeMaxBusinessesPerLocation` | No | If enabled, the scraper collects up to `maxBusinesses` results per location. If disabled, it combines all locations up to a single total limit. |
| `proxyConfiguration` | No | Proxy settings for scraping (recommended for larger scale). The schema supports the proxy editor configuration provided in this actor. |
| `proxyConfiguration.proxy support` | No | When prefilled in the actor config, this enables Apify proxy usage for scraping. |

***

### Output

The actor saves each scraped business’s contact information into the **Business Contact Data** dataset.

Example output (single row) based on the dataset transformation fields:

```json
{
  "name": "Example Contractor Name",
  "website": "https://example.com",
  "phone": "+1-555-123-4567",
  "full_address": "123 Main St New York NY 10001 US",
  "city": "New York",
  "state": "NY",
  "zip": "10001",
  "country_code": "US",
  "scraped_emails": ["info@example.com"],
  "scraped_phones": ["+1-555-000-0000"],
  "scraped_social_media": ["https://www.linkedin.com/company/example"],
  "emails_found": 1,
  "pages_scraped": 7,
  "avg_rating": 4.6,
  "total_reviews": 128,
  "lat": 40.7128,
  "long": -74.006,
  "place_id": "ChIJ....",
  "scrape_status": "success"
}
```

#### Output Fields

| Field | Type | Description |
| --- | --- | --- |
| `name` | string | Business name of the contractor found in the target location |
| `website` | string | Business website URL (used as the basis for scraping contact details) |
| `phone` | string | Phone value associated with the business listing |
| `full_address` | string | Full address assembled from street, city, state, zip, and country code |
| `city` | string | City for the business |
| `state` | string | State for the business |
| `zip` | string | ZIP code for the business |
| `country_code` | string | Country code for the business |
| `scraped_emails` | array | Emails extracted from the business website |
| `scraped_phones` | array | Phone numbers extracted from the business website |
| `scraped_social_media` | array | Social media profile links extracted from the business website |
| `emails_found` | number | Count of extracted emails for the business |
| `pages_scraped` | number | How many pages were processed during website scraping |
| `avg_rating` | number | Average rating from the business listing |
| `total_reviews` | number | Total number of reviews from the business listing |
| `lat` | number | Latitude coordinate for the business |
| `long` | number | Longitude coordinate for the business |
| `place_id` | string | Place identifier from the business listing |
| `scrape_status` | string | Status of the scraping for the business (for example: `success`, `failed`, `no_website`, or `error`) |

After the run, you can export from the Apify dataset in formats supported by Apify (commonly JSON/CSV depending on your workflow).

***

### How to use Special Trade Contractors Email Scraper (via Apify Console)

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

2. **Find Special Trade Contractors Email Scraper**\
   Search for **Special Trade Contractors Email Scraper** and open the actor page.

3. **Add your INPUT**\
   In the **INPUT** panel, set:
   - `googleMapsSearchTerm` (e.g., `Special Trade Contractors`)
   - `googleMapsLocation` (for example: `["New York"]`)

4. **Set your limits (recommended)**\
   Configure `maxBusinesses` to control the total number of businesses you want to collect **with emails**.\
   If you want the same cap per location, enable `scrapeMaxBusinessesPerLocation`.

5. **(Optional) Configure proxies**\
   In **Proxy Configuration**, set `proxyConfiguration` options as needed. Proxy support is recommended for larger batches.

6. **Run the actor**\
   Click **Run**. During execution, watch the live logs to monitor progress and scraping outcomes.

7. **Review dataset results**\
   After completion, open the output dataset named **Business Contact Data** and export the results to your preferred format.

No coding required—get accurate lead-ready contractor contact data in minutes with **Special Trade Contractors Email Scraper**.

***

### Advanced features & SEO optimization

- 🔧 **Engineered for “special trade contractor email scraper” workflows**: Built specifically to find contractor businesses by niche and location, then extract emails from their websites—useful for both *trade contractor email scraping tool* and *subcontractor email scraping software* use cases.
- 🧪 **Resilient extraction behavior**: Includes robustness for real-world web variability, so you’re less likely to end up with totally empty results when a site is slow or inconsistent.
- 💡 **Email-filtering option in the run**: Supports email-focused saving behavior (so you don’t collect businesses that don’t produce usable emails), aligning well with *subcontractor lead email extractor* needs.
- 🗂️ **Consistent structured output**: The dataset is designed for straightforward downstream processing—great for *contractor contact list scraper* and *construction contractor email database* pipelines.

***

### Best use cases

- 🏗️ **Lead generation for subcontractors**: Build outreach lists of specialty contractors by extracting emails from contractor websites in each targeted location.
- 📍 **Local market research by trade**: Compare pricing or service coverage by pairing extracted contact data with business ratings and review counts.
- 📧 **Email marketing list building**: Automatically produce contractor contact lists for campaigns and CRM enrichment (a practical *subcontractor email scraping software* workflow).
- 🧾 **Sales ops and outreach automation**: Feed cleaned business records into your sales sequences while keeping websites, addresses, and contact fields together.
- 🔎 **Data analysts building go-to-market datasets**: Use structured fields like `lat`, `long`, `avg_rating`, and `total_reviews` alongside `scraped_emails`.
- 🤝 **Agency lead sourcing**: Rapidly assemble *specialty contractor email finder* lists for multiple client campaigns without manual scraping.
- 💻 **API-style pipeline integration**: Use dataset output as the input for downstream automation (e.g., enrichment, deduping, and spreadsheet/CRM loading).

***

### Technical specifications

#### Supported Input Formats

✅ `googleMapsSearchTerm`: string (business type/niche)\
✅ `googleMapsLocation`: array of strings (target geographic locations)

#### Proxy Support

✅ `proxyConfiguration` object is supported and exposed in the input schema (includes `proxy support` prefill).

#### Retry Mechanism

✅ Included in the actor’s underlying configuration (scraping jobs are designed to be resilient with limited retries), but the exact strategy is internal.

#### Dataset Structure

✅ Dataset title: **Business Contact Data**\
✅ Fields follow the dataset transformation schema (business identity + contact extraction fields)

#### Limitations

❌ Businesses without usable websites won’t produce extracted emails (they may still be pushed depending on run mode and filtering behavior).\
❌ Highly restrictive or inaccessible websites may yield fewer contact fields.

***

### FAQ

#### Is Special Trade Contractors Email Scraper free to use?

✅ The actor itself runs on Apify infrastructure, so costs depend on your Apify plan and usage (dataset/storage/compute). You’ll see the exact charges during the run in Apify Console.

#### What do I need to provide to start a run?

You must provide `googleMapsSearchTerm` and `googleMapsLocation`. Optionally, you can set `maxBusinesses`, `scrapeMaxBusinessesPerLocation`, and `proxyConfiguration` to control scale and reliability.

#### Can I limit how many businesses I get?

✅ Yes. Use `maxBusinesses` to set the target number of businesses with emails. You can also enable `scrapeMaxBusinessesPerLocation` to apply that cap per location rather than as one combined total.

#### What contact details does the output include?

✅ The dataset schema includes `scraped_emails`, `scraped_phones`, and `scraped_social_media`, along with core business information like `name`, `website`, `full_address`, `avg_rating`, and `total_reviews`.

#### Does it scrape phones and social media too?

✅ Yes. The website-scraping step supports phone extraction and social extraction, and the dataset includes `scraped_phones` and `scraped_social_media`.

#### Can the actor skip businesses without emails?

✅ It supports email-focused saving behavior via email-only mode logic in the run. When enabled, results are filtered to businesses with emails for dataset saving.

#### Is it okay to use the extracted emails for outreach?

✅ The actor works with **publicly available sources**, but it’s still your responsibility to comply with applicable laws and regulations (for example, GDPR/CCPA), as well as platform terms and anti-spam rules.

***

### Support & feature requests

Want to improve **Special Trade Contractors Email Scraper** or request enhancements to the special trade contractor email scraper workflow? Share your ideas!

- 💡 **Feature Requests**: Examples include adding more output-friendly formats, expanding contact fields, or improving result structuring for CRM imports.
- 📧 **Contact**: For support, reach out at <dataforleads@gmail.com>.

User feedback helps shape the roadmap for making this special trade contractor email scraper even more useful at scale.

***

*Special Trade Contractors Email Scraper is built to deliver the most comprehensive, SEO-optimized contact extraction workflow for specialty contractors—so you can move from search to outreach-ready data faster.*

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

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers-hub/special-trade-contractors-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": "Special Trade Contractors",
    "googleMapsLocation": ["New York"],
    "maxBusinesses": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Special Trade Contractors Email Scraper",
        "description": "📧 Special Trade Contractors Email Scraper extracts verified contractor emails and contact details from target sites—streamlining lead gen for specialty trade businesses. ⚙️ Fast, accurate, and built for B2B outreach & data enrichment.",
        "version": "1.0",
        "x-build-id": "lau8IdTcJByN0ms1a"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers-hub~special-trade-contractors-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers-hub-special-trade-contractors-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/scrapers-hub~special-trade-contractors-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers-hub-special-trade-contractors-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/scrapers-hub~special-trade-contractors-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers-hub-special-trade-contractors-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": "Special Trade Contractors"
                    },
                    "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
