# Website Email Scraper (`scrapebridge/website-email-scraper`) Actor

Website Email Scraper extracts publicly available email addresses, contact details, phone numbers, social media links, and business information from websites. Ideal for lead generation, sales prospecting, outreach campaigns, market research, CRM enrichment, and business intelligence.

- **URL**: https://apify.com/scrapebridge/website-email-scraper.md
- **Developed by:** [Scrape Bridge](https://apify.com/scrapebridge) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.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

### Website Email Scraper ⚡

Running outreach without knowing who to contact is painfully slow—searching for emails across different pages and formats wastes hours. **Website Email Scraper** automatically extracts emails (and can also pull phone numbers and social links) from the websites you provide, so you can move from research to lead generation faster. This email scraper from website content is built for teams that need a web email harvesting tool, not manual copy-pasting. Use it when you’re building an email list, validating contact options, or compiling company outreach data. In one run, you can scan up to **10 pages per site** and collect structured results in minutes—at scale.

---

### See the Data: Sample Output

Here's a real record from a single run:

```json
{
  "domain": "apify.com",
  "homepage_url": "https://apify.com",
  "emails": [
    {
      "email": "contact@apify.com",
      "confidence_score": 87.5,
      "source_url": "https://apify.com/contact",
      "source_type": "contact_page",
      "validation_status": "unknown"
    }
  ],
  "phone_numbers": [
    {
      "phone": "+1-555-010-1234",
      "formatted": "+15550101234",
      "source_url": "https://apify.com/about"
    }
  ],
  "social_media": [
    {
      "platform": "twitter",
      "url": "https://twitter.com/apify",
      "source_url": "https://apify.com/about"
    },
    {
      "platform": "linkedin",
      "url": "https://www.linkedin.com/company/apify/",
      "source_url": "https://apify.com"
    }
  ]
}
````

| Field | Type | What It Tells You |
|---|---|---|
| `domain` | string | The domain the actor scanned so you can map results back to each target. |
| `homepage_url` | string | A convenient homepage link for quick review and sanity checks. |
| `emails` | array | The email list scraper output for the site, including confidence and where it was found. |
| `emails[].email` | string | The extracted email address you can use for outreach workflows. |
| `emails[].confidence_score` | number | A confidence score that helps you prioritize the most likely contact addresses. |
| `emails[].source_url` | string | The page where the email was found—useful for verification and routing. |
| `emails[].source_type` | string | The type of page content the email came from (for example, a contact or footer section). |
| `emails[].validation_status` | string | Status of the email record as returned by the actor. |
| `phone_numbers` | array | Phone numbers found on the site (when enabled) for multi-channel contact. |
| `phone_numbers[].phone` | string | Raw phone number value for lead enrichment and CRM fields. |
| `phone_numbers[].formatted` | string | Normalized formatting that’s easier to store and reuse. |
| `phone_numbers[].source_url` | string | The page where the phone number was located. |
| `social_media` | array | Social links detected on the website (when enabled) for relationship-building and alternate outreach. |
| `social_media[].platform` | string | The detected platform name to help you route links to the right place. |
| `social_media[].url` | string | The social profile URL. |
| `social_media[].source_url` | string | The page where the social link was found. |
| `status` / `error_message` | (not included in dataset records) | This actor pushes dataset records even on errors, but the dataset output fields shown above are the ones emitted per domain. |

Export your full dataset as JSON, CSV, or Excel from the Apify dashboard.

***

### Setting It Up

Drop this into your `input.json` and you're ready to go:

```json
{
  "targetUrls": [
    { "url": "https://example.com" },
    { "url": "https://acme.co" }
  ],
  "enablePhoneExtraction": true,
  "enableSocialMediaExtraction": true,
  "proxySettings": {
    "useApifyProxy": true
  }
}
```

| Parameter | Required | What It Does |
|---|---:|---|
| `targetUrls` | ✅ | List of target website URLs to scrape for contact information. |
| `enablePhoneExtraction` | ⬜ | If enabled, the actor also extracts phone numbers found on the pages. |
| `enableSocialMediaExtraction` | ⬜ | If enabled, the actor detects and extracts social media profile links from the website. |
| `proxySettings` | ⬜ | Proxy configuration for the run, used to help scraping stay reliable. |
| ↳ `proxySettings.proxy support` | ⬜ | Set to `true` to route requests through Apify Proxy for better reliability. |

***

### What It Does

Website Email Scraper extracts emails, phone numbers, and social media profile links from the websites you specify, then stores everything in your Apify dataset as structured JSON.

#### Extract contact emails (and more) from each site

You provide `targetUrls`, and the actor scans each domain and returns an `emails` array with per-email metadata (including where it was found and a confidence score). This makes it a practical email scraper from website sources for lead generation and enrichment.

#### Optional phone number harvesting 📞

When `enablePhoneExtraction` is enabled, the actor includes a `phone_numbers` array with extracted values, optional formatting, and the `source_url` where each number appeared.

#### Optional social link extraction 🔗

When `enableSocialMediaExtraction` is enabled, the actor includes a `social_media` array containing detected profile links with `platform`, `url`, and `source_url`. Links are deduplicated by their normalized canonical form to reduce repeats.

#### Built-in proxy support for reliable scraping 🛡️

You can configure `proxySettings` (including `proxySettings.proxy support`) to improve reliability for repeated requests across multiple domains. This is especially useful when scraping companies in bulk.

#### Dataset-ready output you can use immediately ✅

Each domain results in a single dataset record with consistent top-level fields: `domain`, `homepage_url`, `emails`, `phone_numbers`, and `social_media`. That consistent structure makes Website Email Scraper easy to plug into analytics, CRM import steps, or an automated workflow.

Overall, Website Email Scraper turns web contact discovery into a clean, reusable dataset for outreach at scale.

***

### Why Website Email Scraper?

There are plenty of ways to pull contact data from websites—here’s why Website Email Scraper stands out.

#### A single dataset record per domain

Instead of scattered files and messy extracts, Website Email Scraper returns one structured record per scanned domain. That makes it easier to review, join, and export—especially when you’re running a bulk email scraper tool workflow.

#### Multiple contact channels in one pass

With `enablePhoneExtraction` and `enableSocialMediaExtraction`, you can collect emails plus phone and social links together. That gives you richer lead generation inputs than an email address finder from website pages alone.

#### Practical, integration-friendly structure

The output is already in the shape you need for downstream use: `emails` includes confidence and source details, while phones and social links include their own provenance via `source_url`. This is exactly what you want from a web scraping email extraction tool when building reliable contact datasets.

***

### Real-World Use Cases

Here's how different teams put Website Email Scraper to work:

**Sales Teams**\
A sales manager has a list of target companies and needs direct contacts quickly. They run Website Email Scraper for each domain, pull the `emails` array into their outreach process, and use `source_url` to quickly sanity-check the most relevant address. The result is faster prospecting time without manual page-by-page searching.

**Marketing Agencies**\
An agency preparing account-based marketing campaigns needs a consistent dataset across many client prospects. They scrape company email addresses and optionally add phone numbers and social profile links for fallback outreach. The structured dataset makes it easy to deliver clean leads to the client or to their internal system.

**Freelance Researchers**\
A researcher compiling contact data for a report wants traceability. By using Website Email Scraper, they receive emails with `source_url` and `source_type`, which helps them cite and verify where contact details came from. It’s a straightforward way to scrape email addresses from webpages while keeping results organized per domain.

**Data Analysts & Enrichment Workflows**\
An analyst is building a lead quality model and needs consistent fields across sources. Website Email Scraper provides confidence scoring on extracted emails and keeps phone and social links in predictable arrays. That makes it easier to aggregate and score contacts in bulk without heavy transformation work.

**Automation Specialists (Developers & Integrators)**\
An automation engineer wants to trigger contact collection in their pipeline. They run the actor via Apify, then feed dataset results into downstream steps such as deduplication, CRM enrichment, or outreach queue building. The consistent JSON output aligns well with API-driven workflows.

***

### How to Run It

No code required. Here's how to get your first results in under 5 minutes:

1. **Open the actor on Apify** — go to [console.apify.com](https://console.apify.com) and find Website Email Scraper.
2. **Enter your inputs** — add your sites in `targetUrls`, and toggle `enablePhoneExtraction` / `enableSocialMediaExtraction` as needed.
3. **Configure proxy settings (optional but recommended)** — set up `proxySettings.proxy support` if you want improved reliability.
4. **Start the run** — watch the live log to confirm the actor is processing each domain.
5. **Open the Dataset tab** — your records appear as the actor completes each domain.
6. **Export your data** — download JSON, CSV, or Excel from the dataset view.

The whole setup takes under 5 minutes — results start appearing within seconds of launch.

***

### Export & Integration Options

Once your data is collected, Website Email Scraper fits directly into your existing workflow.

You can export results directly from the Apify dataset tab as **JSON, CSV, or Excel** for reporting, spreadsheets, or CRM import flows.

If you want to automate everything, you can connect to your stack using Apify’s capabilities such as **API access**, **webhooks**, **Zapier / Make** automations, and **scheduled runs** to refresh contact data regularly. For deeper setup details, refer to the Apify platform documentation.

***

### Pricing

Website Email Scraper runs on Apify, which includes a **free tier** — no credit card needed to start. Free usage typically covers several real test runs, depending on your input size and runtime.

For heavier workloads, you can scale up using Apify plans and pay-as-you-go compute billing based on Actor usage. There’s no per-row markup for the extracted output—just platform compute for running the actor.

Start free at [apify.com](https://apify.com) — scale up when you need.

***

### Reliability & Limitations

| What We Handle | How |
|---|---|
| Proxy configuration | You can enable proxy support via `proxySettings.proxy support` for more reliable scraping. |
| Bulk domain processing | The actor processes multiple provided domains and writes results to the dataset per domain. |
| Data structure consistency | Output is stored with consistent top-level fields (`domain`, `homepage_url`, `emails`, `phone_numbers`, `social_media`). |
| Error handling per domain | If an error occurs scraping a domain, the actor still pushes an empty result record for that domain. |

Limitations: Website Email Scraper works with **publicly accessible website content** and does not access login-gated or password-protected pages. If a site doesn’t publish contact details, the `emails`, `phone_numbers`, or `social_media` arrays may be empty.

For enterprise-scale needs or custom configurations, reach out and we'll help.

***

### Frequently Asked Questions

#### Is there a free plan?

Yes, Apify offers a free tier with platform credits on sign-up. This is enough to run several small tests and validate that the Website Email Scraper output matches your expectations.

#### Do I need to log in or create an account on a platform?

No for using the actor itself—Website Email Scraper is configured through Apify, and it scrapes contact details from publicly accessible website content.

#### How accurate is the extracted data?

Accuracy depends on what your target websites publish. The actor extracts email addresses, phone numbers, and social links that it finds on pages, and email records include a `confidence_score` plus `source_url` and `source_type` so you can judge relevance.

#### How many results can I get per run?

The actor scans up to a fixed maximum of **10 pages per site** (`max_pages = 10`) and returns one dataset record per provided domain. If your input includes multiple `targetUrls`, results scale with the number of domains you pass in.

#### How fresh is the data?

The data freshness matches when you run the actor. If you re-run the actor later, you’ll capture any updated contact details that appear on the target websites at that time.

#### Is this legal? Does it comply with GDPR / CCPA?

The actor works with **publicly available data** from websites. You are responsible for using, storing, and processing that data in compliance with GDPR, CCPA, and any applicable laws or website terms.

#### Can I export to Google Sheets or Excel?

Yes. You can export from the Apify dataset tab as **JSON, CSV, or Excel** and then import into Google Sheets or your preferred spreadsheet tool.

#### Can I schedule this to run automatically?

Yes. Apify supports scheduled runs, so you can refresh your contact datasets automatically on a cadence that fits your workflow.

#### Can I access results via the API?

Yes. Because Website Email Scraper writes results to the Apify dataset, you can retrieve them programmatically via Apify API integrations.

#### What happens when the actor encounters an error?

If an error occurs while scraping a specific domain, the actor pushes a dataset record for that domain with empty arrays for `emails`, `phone_numbers`, and `social_media`. This helps you keep runs organized and avoid losing results from other domains.

***

### Get Help & Use Responsibly

Got a question about Website Email Scraper or a feature you’d like added? Reach out at <dataforleads@gmail.com> and we’ll help. If you share what you’re trying to extract (for example, additional contact fields or better output organization), we can advise on the best way to structure `targetUrls`.

***

**This actor collects and outputs publicly available data from websites.** It does not access private accounts, login-gated pages, or password-protected content. You are responsible for how you use the data and for complying with GDPR, CCPA, and relevant website terms. For data removal requests, contact <dataforleads@gmail.com>. Use responsibly, ethically, and only for lawful purposes.

# Actor input Schema

## `targetUrls` (type: `array`):

List of target website URLs to scrape for contact information.

## `enablePhoneExtraction` (type: `boolean`):

If enabled, the scraper will also extract phone numbers found on the pages.

## `enableSocialMediaExtraction` (type: `boolean`):

If enabled, the scraper will detect and extract social media profile links (e.g., LinkedIn, Twitter, Facebook).

## `proxySettings` (type: `object`):

Configuration for proxies. Using residential proxies is highly recommended to avoid blocking.

## Actor input object example

```json
{
  "targetUrls": [
    {
      "url": "https://apify.com"
    }
  ],
  "enablePhoneExtraction": true,
  "enableSocialMediaExtraction": true,
  "proxySettings": {
    "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 = {
    "targetUrls": [
        {
            "url": "https://apify.com"
        }
    ],
    "proxySettings": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapebridge/website-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 = {
    "targetUrls": [{ "url": "https://apify.com" }],
    "proxySettings": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapebridge/website-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 '{
  "targetUrls": [
    {
      "url": "https://apify.com"
    }
  ],
  "proxySettings": {
    "useApifyProxy": true
  }
}' |
apify call scrapebridge/website-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Website Email Scraper",
        "description": "Website Email Scraper extracts publicly available email addresses, contact details, phone numbers, social media links, and business information from websites. Ideal for lead generation, sales prospecting, outreach campaigns, market research, CRM enrichment, and business intelligence.",
        "version": "1.0",
        "x-build-id": "lDJ4T8Gt8m6IpeHAq"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapebridge~website-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapebridge-website-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/scrapebridge~website-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapebridge-website-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/scrapebridge~website-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapebridge-website-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": [
                    "targetUrls"
                ],
                "properties": {
                    "targetUrls": {
                        "title": "Target Websites",
                        "type": "array",
                        "description": "List of target website URLs to scrape for contact information.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "enablePhoneExtraction": {
                        "title": "Enable Phone Extraction",
                        "type": "boolean",
                        "description": "If enabled, the scraper will also extract phone numbers found on the pages.",
                        "default": true
                    },
                    "enableSocialMediaExtraction": {
                        "title": "Enable Social Media Extraction",
                        "type": "boolean",
                        "description": "If enabled, the scraper will detect and extract social media profile links (e.g., LinkedIn, Twitter, Facebook).",
                        "default": true
                    },
                    "proxySettings": {
                        "title": "Proxy Settings",
                        "type": "object",
                        "description": "Configuration for proxies. Using residential proxies is highly recommended to avoid blocking."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
