# Free Email & Contact Scraper - Extract Emails From Any Website (`scrapersdelight/local-business-lead-scraper`) Actor

Free email & contact scraper: extract emails, phone numbers & social profiles from any website or domain. MX-verified, best-contact picked, role/personal classified. Free to start, then pay-per-result — no subscription, no API keys, no seats. A cheap Apollo, Clay & Hunter alternative.

- **URL**: https://apify.com/scrapersdelight/local-business-lead-scraper.md
- **Developed by:** [Scrapers Delight](https://apify.com/scrapersdelight) (community)
- **Categories:** Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 per record returneds

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

## 📧 Free Email & Contact Scraper - Extract Emails From Any Website

**Free email & contact scraper — turn a list of websites into a list of leads. Paste any business websites or domains and it extracts emails, phone numbers, and social profiles from each site, picks the best contact, classifies it, and MX-verifies it. Free to start, then pay-per-result — a fraction of Apollo, Clay, Hunter, or ZoomInfo, with no subscription. Or skip the list and find local businesses by area + category.**

No login. No credits-that-expire. No per-seat fees. Just `websites in → verified contacts out`.

---

### Why this beats the big enrichment tools

| | Apollo / ZoomInfo / Lusha | Clay | Hunter | **This actor** |
|---|---|---|---|---|
| Model | Monthly plans + credits | Credits (expire) | Monthly plans | **Pay-per-event — pay only for what you enrich** |
| Cost | ~$0.02–0.10+ / contact + seats | ~$0.10+ / enrichment | $34–$349 / mo | **from ~$0.003 / website, no subscription** |
| Source | Their fixed database | Aggregates providers | Domain DB | **The business's own live website** |
| Lock-in | Seats, contracts | Credit packs | Plans | **None — run it on Apify, export anywhere** |

You bring the businesses (from anywhere — a CSV, a Maps export, our own lead actors); this gets you the contacts, cheap.

---

### What it extracts (per website)

`email` (the best one) · `email_confidence` (**high / medium / low**) + `email_confidence_reason` · `email_type` (role / personal) · `email_verified` (MX-checked) · all `emails` · `phone` · `socials` (LinkedIn, Facebook, Instagram, X, YouTube, TikTok) · plus `name`, `category`, `address`, `lat/lng` when found via area search.

**How it finds the email (most enrichers miss these):**
- 📨 `mailto:` links, plain-text addresses, and addresses hidden in JSON/scripts
- 🛡️ **Cloudflare-protected** emails (decodes `data-cfemail`)
- 🥸 **Obfuscated** formats (`name [at] domain [dot] com`)
- 🧹 **Junk & placeholder filtering** (`noreply@`, `user@domain.com`, image filenames…)
- 🎯 **Best-contact pick** — prefers a real role inbox (`info@`, `sales@`) on the company's own domain
- ✅ **MX verification** — confirms the domain actually accepts mail
- 🏅 **Confidence grade on every email** — `high` (the business's own domain **and** MX-verified), `medium` (own domain unconfirmed, or a related parent/sister-brand domain or brand mailbox), `low` (off-domain — eyeball before outreach). **Sort by `email_confidence` to get your A-list in one click.** Telemetry false-positives (Wix/Sentry tracking IDs) are filtered out automatically.

It crawls the homepage + contact / about / team / impressum pages (with a `www`/scheme fallback) — usually 1–10 pages.

---

### How to use it

#### Enrich a list (the main mode)
```json
{ "websites": ["acmeplumbing.com", "https://www.smithlaw.com"], "verifyEmails": true }
````

#### Or find businesses by area + category, then enrich

```json
{ "searchArea": "Austin, TX", "categories": ["lawyer"], "verifyEmails": true }
```

Open the **Dataset** tab for results; export to CSV/JSON/Excel or pull via the Apify API into your CRM, Clay, n8n, or Make.

***

### Pricing — the cheapest enricher anywhere

**~$1 per 1,000 websites enriched** (`lot-scraped` $0.0005 + `lot-detail-enriched` $0.0005) — and that one price gets you the **email + phone + socials**, MX-verified, no subscription, no seats, no expiring credits.

| Event | What it covers | Price / event |
|-------|----------------|---------------|
| `lot-scraped` | each business returned | **$0.0005** |
| `lot-detail-enriched` | each website crawled for contacts | **$0.0005** |
| `monitor-run-completed` | each scheduled watch run | $0.05 |
| `new-lot-detected` | each newly-appearing business | $0.02 |
| `alert-delivered` | each Slack/email/webhook alert | $0.005 |

**Cost per 1,000 emails found vs. the market** (you also get phone + socials, which most don't include):

| | Per 1,000 emails |
|---|---|
| **This actor** | **≈ $2.50** (at ~40% hit) |
| Other Apify email scrapers | $3.50–$40 |
| Enrow (cheapest dedicated finder) | $12 |
| Hunter.io | $17–26 |
| Apollo.io | ~$49 |
| Lusha | ~$94 |
| Clay | $130+ |
| ZoomInfo | $3,000+ (annual contract) |

Pay-per-event means **you only pay for what you run** — no monthly minimum, no wasted credits.

***

### Honest notes (no overselling)

- **Email yield depends on the vertical.** **Professional & trade services** (lawyers, accountants, agencies, contractors, plumbers, dentists) publish a contact email — high yield. **Chains & restaurants** often hide it behind a form — you still get **phone + socials + website**. Use **Only keep businesses with an email** for a pure email list.
- **This finds emails from each business's own website** — it is *not* a people-database of individual employees like Apollo/ZoomInfo. It's the cheap, honest "company contact" enrichment.
- **Coverage for the area-search** mode comes from OpenStreetMap (great for food/retail/hotels, growing for services) — the **website-list mode works on any business you bring.**

***

### Legal & compliance

Emails are scraped from businesses' own public websites; names/addresses/phones are public facts. **You are responsible** for compliant use — follow **GDPR / CAN-SPAM / CASL** for any outreach (identify yourself, honor opt-outs). For B2B research and outreach. Review OpenStreetMap's ODbL attribution if you redistribute the listing data.

***

### FAQ

**Is this a Google Maps scraper?** No — and on purpose. Listings come from **OpenStreetMap** (no anti-bot) and emails from each business's **own website**, so runs are reliable instead of fragile.

**Will every site return an email?** No — it depends on the site (see the yield notes). Socials + phone come back for nearly all.

**What does `email_verified` mean?** The email's domain has valid MX records (it can receive mail) — a real deliverability signal, not just a syntax check.

**Can I just enrich my own list?** Yes — that's the main mode. Paste websites/domains into `websites`.

# Actor input Schema

## `websites` (type: `array`):

Paste any list of business websites or domains — this is the main mode. Each is crawled for emails, phones, and social profiles. (Leave empty to instead FIND businesses by area + category below.)

## `findEmails` (type: `boolean`):

Crawl each website for emails, phones, and social profiles (the core feature).

## `verifyEmails` (type: `boolean`):

Check that the primary email's domain actually accepts mail (DNS MX lookup). Adds an `email_verified` flag.

## `searchArea` (type: `string`):

Optional alternative to a website list: a place name to find businesses in, e.g. 'Austin, TX'. Geocoded to a bounding box, then queried against OpenStreetMap.

## `categories` (type: `array`):

Business types to find when using a Search area. Options: restaurant, cafe, bar, fast\_food, hotel, dentist, doctor, veterinary, pharmacy, lawyer, accountant, insurance, real\_estate, company, gym, salon, spa, car\_repair, car\_dealer, plumber, electrician, contractor, bakery, florist, jeweler, optician, school, retail.

## `bbox` (type: `string`):

Optional. Exact area as 'south,west,north,east' (overrides Search area).

## `osmTags` (type: `array`):

Power users: raw OpenStreetMap tag filters, e.g. \['amenity=cafe','shop=bakery','office=lawyer'].

## `requireEmail` (type: `boolean`):

Output only records where at least one email was found.

## `maxResults` (type: `integer`):

Cap on businesses per run.

## `maxPagesPerSite` (type: `integer`):

How many pages of each website to crawl for contacts (homepage + contact/about/team/impressum…).

## `enrichConcurrency` (type: `integer`):

How many websites to crawl in parallel.

## `monitorMode` (type: `boolean`):

Recurring watcher: diff against the prior run (per area+category scope) and output/alert ONLY newly-appearing businesses. Pair with an Apify Schedule.

## `alertOnNewBusiness` (type: `boolean`):

In monitor mode, send an alert for each new business.

## `webhookUrl` (type: `string`):

POST endpoint for new-business alerts.

## `slackWebhookUrl` (type: `string`):

Slack incoming-webhook URL.

## `emailRecipients` (type: `array`):

Emails for the new-business digest (via apify/send-mail).

## `proxyConfiguration` (type: `object`):

Proxy settings. Datacenter rotation is plenty (no Google scraping).

## `diagnose` (type: `boolean`):

Dev only. Logs the first business + its contacts, then exits.

## Actor input object example

```json
{
  "websites": [
    "freemansrestaurant.com",
    "thinkcoffee.com"
  ],
  "findEmails": true,
  "verifyEmails": false,
  "categories": [
    "lawyer"
  ],
  "requireEmail": false,
  "maxResults": 200,
  "maxPagesPerSite": 10,
  "enrichConcurrency": 5,
  "monitorMode": false,
  "alertOnNewBusiness": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "diagnose": false
}
```

# Actor output Schema

## `leads` (type: `string`):

The dataset of businesses with contacts (one item per business).

# 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 = {
    "websites": [
        "freemansrestaurant.com",
        "thinkcoffee.com"
    ],
    "categories": [
        "lawyer"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapersdelight/local-business-lead-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 = {
    "websites": [
        "freemansrestaurant.com",
        "thinkcoffee.com",
    ],
    "categories": ["lawyer"],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapersdelight/local-business-lead-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 '{
  "websites": [
    "freemansrestaurant.com",
    "thinkcoffee.com"
  ],
  "categories": [
    "lawyer"
  ]
}' |
apify call scrapersdelight/local-business-lead-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapersdelight/local-business-lead-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Free Email & Contact Scraper - Extract Emails From Any Website",
        "description": "Free email & contact scraper: extract emails, phone numbers & social profiles from any website or domain. MX-verified, best-contact picked, role/personal classified. Free to start, then pay-per-result — no subscription, no API keys, no seats. A cheap Apollo, Clay & Hunter alternative.",
        "version": "0.1",
        "x-build-id": "iAbWYKMMTofMjIiFx"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapersdelight~local-business-lead-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapersdelight-local-business-lead-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/scrapersdelight~local-business-lead-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapersdelight-local-business-lead-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/scrapersdelight~local-business-lead-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapersdelight-local-business-lead-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",
                "properties": {
                    "websites": {
                        "title": "Websites to enrich",
                        "type": "array",
                        "description": "Paste any list of business websites or domains — this is the main mode. Each is crawled for emails, phones, and social profiles. (Leave empty to instead FIND businesses by area + category below.)",
                        "items": {
                            "type": "string"
                        }
                    },
                    "findEmails": {
                        "title": "Find emails & contacts",
                        "type": "boolean",
                        "description": "Crawl each website for emails, phones, and social profiles (the core feature).",
                        "default": true
                    },
                    "verifyEmails": {
                        "title": "Verify emails (MX)",
                        "type": "boolean",
                        "description": "Check that the primary email's domain actually accepts mail (DNS MX lookup). Adds an `email_verified` flag.",
                        "default": false
                    },
                    "searchArea": {
                        "title": "Or — find businesses by area (city / region)",
                        "type": "string",
                        "description": "Optional alternative to a website list: a place name to find businesses in, e.g. 'Austin, TX'. Geocoded to a bounding box, then queried against OpenStreetMap."
                    },
                    "categories": {
                        "title": "Business categories (for area search)",
                        "type": "array",
                        "description": "Business types to find when using a Search area. Options: restaurant, cafe, bar, fast_food, hotel, dentist, doctor, veterinary, pharmacy, lawyer, accountant, insurance, real_estate, company, gym, salon, spa, car_repair, car_dealer, plumber, electrician, contractor, bakery, florist, jeweler, optician, school, retail.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "bbox": {
                        "title": "Bounding box (advanced)",
                        "type": "string",
                        "description": "Optional. Exact area as 'south,west,north,east' (overrides Search area)."
                    },
                    "osmTags": {
                        "title": "Custom OSM tags (advanced)",
                        "type": "array",
                        "description": "Power users: raw OpenStreetMap tag filters, e.g. ['amenity=cafe','shop=bakery','office=lawyer'].",
                        "items": {
                            "type": "string"
                        }
                    },
                    "requireEmail": {
                        "title": "Only keep businesses with an email",
                        "type": "boolean",
                        "description": "Output only records where at least one email was found.",
                        "default": false
                    },
                    "maxResults": {
                        "title": "Max businesses",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Cap on businesses per run.",
                        "default": 200
                    },
                    "maxPagesPerSite": {
                        "title": "Max pages per site",
                        "minimum": 1,
                        "type": "integer",
                        "description": "How many pages of each website to crawl for contacts (homepage + contact/about/team/impressum…).",
                        "default": 10
                    },
                    "enrichConcurrency": {
                        "title": "Enrichment concurrency",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "How many websites to crawl in parallel.",
                        "default": 5
                    },
                    "monitorMode": {
                        "title": "Monitor mode (new-business watcher)",
                        "type": "boolean",
                        "description": "Recurring watcher: diff against the prior run (per area+category scope) and output/alert ONLY newly-appearing businesses. Pair with an Apify Schedule.",
                        "default": false
                    },
                    "alertOnNewBusiness": {
                        "title": "Alert on new businesses",
                        "type": "boolean",
                        "description": "In monitor mode, send an alert for each new business.",
                        "default": true
                    },
                    "webhookUrl": {
                        "title": "Webhook URL",
                        "type": "string",
                        "description": "POST endpoint for new-business alerts."
                    },
                    "slackWebhookUrl": {
                        "title": "Slack webhook URL",
                        "type": "string",
                        "description": "Slack incoming-webhook URL."
                    },
                    "emailRecipients": {
                        "title": "Email recipients",
                        "type": "array",
                        "description": "Emails for the new-business digest (via apify/send-mail).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "proxyConfiguration": {
                        "title": "Proxy",
                        "type": "object",
                        "description": "Proxy settings. Datacenter rotation is plenty (no Google scraping).",
                        "default": {
                            "useApifyProxy": true
                        }
                    },
                    "diagnose": {
                        "title": "Diagnostic mode (dev)",
                        "type": "boolean",
                        "description": "Dev only. Logs the first business + its contacts, then exits.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
