# Yellow Pages Email Scraper (`scraperoka/yellow-pages-email-scraper`) Actor

📧 Yellow Pages Email Scraper extracts business emails from Yellow Pages listings quickly and accurately. 🚀 Great for B2B lead generation, outreach, and market research—save time, boost sales pipelines, and reach targeted customers faster.

- **URL**: https://apify.com/scraperoka/yellow-pages-email-scraper.md
- **Developed by:** [Scraperoka](https://apify.com/scraperoka) (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 $0.01 / 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

### Yellow Pages Email Scraper 🎯 — Extract emails from Yellow Pages listings in bulk

Manually visiting hundreds of Yellow Pages listings to collect email addresses wastes hours you don’t have. **Yellow Pages Email Scraper** automates email extraction from Yellow Pages profiles using your keywords and email-domain filters—ideal for marketers, recruiters, and growth teams. Yellow Pages email scraper and yellowpages email scraper workflows can turn public listings into outreach-ready leads in minutes, even at scale. The result is a bulk email extraction from directories workflow that can produce thousands of usable records in a single run.

---

### What You Get: Sample Output

Here's a sample record from a single run:

```json
{
  "network": "Yellow Pages.com",
  "keyword": "marketing",
  "title": "Marketing Consulting Services",
  "description": "No data",
  "url": "https://www.yellowpages.com/example-marketing-profile",
  "email": "alex@gmail.com",
  "proxyGroups": ["GOOGLE_SERP"]
}
````

**Output Fields**

| Field | Type | What It Tells You |
|---|---|---|
| `network` | string | The source network name for the record (always `Yellow Pages.com`). |
| `keyword` | string | Which keyword from your `keywords` list was used for this find. |
| `title` | string | The title captured from the public listing result, useful for context during outreach. |
| `description` | string | The text snippet the scraper captured alongside the listing (helps you understand where the email came from). |
| `url` | string | The listing link associated with the captured email. |
| `email` | string | The extracted email address that you can add to your lead list. |
| `proxyGroups` | array | Proxy configuration value used for the run (helpful for transparency/debugging). |

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

***

### Why Yellow Pages Email Scraper?

There are a lot of ways to pull contact data from public web sources — here’s what sets **Yellow Pages Email Scraper** apart.

#### Keyword and domain targeting for cleaner lead lists

You control the `keywords` to drive relevance and use `customDomains` (like `@gmail.com`) to focus on specific email domains. This makes a yellow pages email scraper more useful for real outreach rather than generic email scraping.

#### Output built for immediate outreach use

Each result is pushed as a structured record including `email`, plus contextual fields like `title`, `description`, and `url`. That means your directory listing email extractor output is integration-ready for CRM import and analysis.

#### Resilient scraping behavior for large searches

The actor is designed to keep going through partial issues by using retries and fallbacks, and it tracks progress while collecting results. This helps keep your B2B email lead generation scraper runs productive even when results are sparse.

#### Deduplication to avoid repeated emails

The actor tracks `seen_emails` to prevent duplicates from being pushed repeatedly. That gives you cleaner local business email scraper output without obvious repeats.

***

### Configuring Your Run

Drop this into your `input.json` to get started:

```json
{
  "keywords": ["founder", "marketing"],
  "location": "Austin, TX",
  "platform": "Yellow Pages",
  "customDomains": ["@gmail.com"],
  "maxEmails": 20,
  "engine": "legacy",
  "proxyConfiguration": {}
}
```

**Input Parameters**

| Parameter | Required | What It Does |
|---|---|---|
| `keywords` | ✅ | A list of keywords to search for. These keywords guide the email finding logic for Yellow Pages profile bios/posts related to your terms. |
| `location` | ⬜ | Location to filter search results. Leave empty to avoid location filtering. |
| `platform` | ⬜ | Select platform. For this actor, the available option is `Yellow Pages`. |
| `customDomains` | ⬜ | List of custom email domains to target (for example `@gmail.com`). Helps you focus results on the kinds of emails you want. |
| `maxEmails` | ⬜ | Maximum number of emails to collect. The scraper stops once this limit is reached (useful to control run time and cost). |
| `engine` | ⬜ | Choose scraping engine. Use `cost-effective` for Cost Effective (New) or `legacy` for Legacy. |
| `proxyConfiguration` | ⬜ | Configure proxies for this Actor. |

***

### Core Capabilities

#### Keyword-based email discovery

Yellow Pages Email Scraper uses your provided `keywords` to find emails from Yellow Pages bios and posts related to those terms. This is the core idea behind a yellowpages email scraper workflow that aims for relevance, not just quantity.

#### Email domain filtering with `customDomains`

By providing `customDomains`, you can limit extracted emails to specific domains (for example, focusing on personal inboxes or avoiding unwanted providers). This makes the local business email scraper results more targeted for lead qualification.

#### Pagination control with `maxEmails`

You set a clear cap using `maxEmails`. The actor stops once the limit is reached, which helps you manage runtime while still collecting strong lead candidates.

#### Built-in retries and fallbacks for resilience

The actor includes retry and fallback behavior to reduce the chance of a run failing due to intermittent blocks or empty result pages. For marketers running web scraping email leads at scale, this helps you keep momentum across multiple keyword/domain combinations.

#### Progress tracking during longer runs

For longer searches, it persists progress as it collects data. If you pause or rerun, you’re not starting from scratch in the same way as a stateless scraper.

#### Structured dataset writing as it finds leads

As emails are found, results are pushed immediately as structured JSON records. That makes export and downstream processing fast, aligning well with email scraping tool workflows for outreach and research.

***

### Who Gets the Most Out of This

Here's how different teams put **Yellow Pages Email Scraper** to work:

**Lead generation and outbound marketing teams** use it to quickly build outreach lists by combining `keywords` with targeted `customDomains`, so they can prioritize the most relevant directory listing email extractor results.

**Sales and recruiting teams** run keyword-focused lead searches to find decision-maker emails tied to public business profiles, then enrich their pipeline with `title`, `description`, and `url` context for faster personalization.

**Researchers and data analysts** use the consistent output fields (`email`, `keyword`, `url`, and `description`) to analyze patterns like which keywords correlate with contact availability across public listings.

**Automation engineers** integrate the actor into scheduled pipelines so contact information data scraper outputs are delivered regularly to downstream systems without manual exports.

**Growth teams and agencies** use `maxEmails` to control run sizes during testing, then scale up once they confirm lead quality from the yellow pages lead scraper results.

***

### Step-by-Step: How to Use It

No coding needed. Here's how to run Yellow Pages Email Scraper from start to finish:

1. **Open the actor on Apify** — go to [console.apify.com](https://console.apify.com) and find the actor for **Yellow Pages Email Scraper**.
2. **Enter your inputs** — add your `keywords` (required), optionally set `location`, `customDomains`, and `maxEmails` based on how targeted and how large you want the results.
3. **Configure proxy settings** — if you’re running larger searches, set up `proxyConfiguration` to improve scraping reliability.
4. **Hit Run and watch the live log** — monitor progress while emails are being collected and pushed to the dataset.
5. **View results in the dataset tab** — open the dataset to see extracted records as they’re produced.
6. **Export as JSON, CSV, or Excel** — download the results directly from the Apify dashboard in the format you need.

The whole process takes under 5 minutes to set up.

***

### Integrations & Export Options

Once your data is collected, **Yellow Pages Email Scraper** plugs directly into your existing workflow.

You can export your dataset in JSON, CSV, or Excel from the Apify dataset tab. This makes it easy to use as a web scraping email leads source for CRM imports, spreadsheets, or internal analysis.

For deeper automation, you can connect the actor via Apify’s API and use Apify’s native integrations, webhooks, Zapier, or Make to push results into your tools. For platform-level setup details, use the Apify API and integration documentation at [apify.com/docs/api](https://apify.com/docs/api).

***

### Pricing & Free Trial

Yellow Pages Email Scraper runs on the Apify platform, which offers a **free tier** — no credit card required to get started.

You’ll typically begin with test runs using the free credits provided on sign-up, then scale to paid usage when you need more capacity. Apify handles the compute billing model on a pay-as-you-go basis, and plans are available for heavier usage—check the Apify pricing page for the latest details. Start for free at [apify.com](https://apify.com) and scale when you're ready.

***

### Reliability & Performance

| What We Handle | How |
|---|---|
| Empty or sparse results | The actor detects empty results and adapts behavior during pagination to keep runs productive. |
| Intermittent blocks | Retries and fallbacks are built in to improve success rates on larger jobs. |
| Run control and scaling | You control output volume via `maxEmails`, so runs don’t balloon unexpectedly. |
| Data persistence during progress | Progress is saved during the run to support long executions more reliably. |
| Structured output for downstream use | Each found email is pushed with context fields like `url`, `title`, and `description`. |

**Limitations:** The actor extracts emails from publicly available sources, so results depend on whether emails appear in public Yellow Pages bios/posts. It can’t access login-gated or private content, and email availability varies by business profile.

For enterprise-scale runs, contact us to discuss custom configurations.

***

### Frequently Asked Questions

#### Is there a free plan or trial?

Yes, Apify offers a free tier to start using actors without a credit card. You can run small tests to validate lead quality before scaling up.

#### Do I need to log in to Yellow Pages to use this?

No. This actor is designed to scrape emails from publicly available data without requiring a Yellow Pages login.

#### How accurate is the data?

Accuracy depends on what the business has published publicly. The actor extracts emails it finds associated with the content it captures from Yellow Pages bios/posts related to your `keywords` and `customDomains`.

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

Your results are capped by `maxEmails`. The actor stops when the limit is reached, but higher limits don’t guarantee you’ll always reach the full number if emails aren’t available for your keywords.

#### How often is the data updated / how fresh is it?

Data freshness depends on the time of your run and what’s currently visible on Yellow Pages at that time. If you need ongoing lead capture, schedule recurring runs and compare changes over time.

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

No tool can guarantee legal compliance for every use case. You should review your obligations under GDPR, CCPA, applicable privacy laws, and platform Terms of Service, and use the output responsibly.

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

Yes. You can export your dataset as JSON, CSV, or Excel from the Apify dashboard, which then works well for Google Sheets and similar tools.

#### Can I run this on a schedule automatically?

Yes. You can set up scheduled runs using Apify’s scheduling capabilities, then feed new extracted data into your workflow regularly.

#### Can I access this via API?

Yes. You can trigger runs programmatically and retrieve results via the Apify API. See [apify.com/docs/api](https://apify.com/docs/api) for details.

#### What happens if the actor hits an error?

If scraping encounters issues, the actor uses retries and fallbacks and continues wherever possible. If results for a keyword/domain combination appear blocked or exhausted, the run may stop early and move on to the next combination depending on progress.

***

### Need Help or Have a Request?

Got a question about Yellow Pages Email Scraper or want a new feature added? Reach out at <dataforleads@gmail.com>. We welcome requests like batch CSV upload support and webhook notifications on completion, and we actively maintain the actor based on feedback.

***

*Yellow Pages Email Scraper is the fastest, most reliable way to extract directory contact emails from public web listings — start your free run today.*

This actor collects **publicly available data** from Yellow Pages listings. It does not access private accounts, login-gated content, or password-protected pages. You’re responsible for complying with GDPR, CCPA, platform ToS, and any applicable local regulations when using the output. For data removal requests, contact <dataforleads@gmail.com>. Use responsibly, ethically, and only for lawful purposes.

# Actor input Schema

## `keywords` (type: `array`):

A list of keywords to search for.

## `location` (type: `string`):

Location to filter search results.

## `platform` (type: `string`):

Select platform.

## `customDomains` (type: `array`):

List of custom email domains

## `maxEmails` (type: `integer`):

Maximum number of emails to collect. The scraper will stop once this limit is reached. Setting a higher limit allows for more potential results but doesn't guarantee reaching that number. This helps save costs by controlling scraping time.

## `engine` (type: `string`):

Choose scraping engine. 🚀 Cost Effective (New): Uses residential proxies with async requests for faster, cheaper scraping. 🔧 Legacy: Uses GOOGLE\_SERP proxy with traditional selectors - more reliable but slower and more expensive.

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

Configure proxies for this Actor.

## Actor input object example

```json
{
  "keywords": [
    "founder",
    "marketing"
  ],
  "location": "",
  "platform": "Yellow Pages",
  "customDomains": [
    "@gmail.com"
  ],
  "maxEmails": 20,
  "engine": "legacy"
}
```

# 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 = {
    "keywords": [
        "founder",
        "marketing"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraperoka/yellow-pages-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 = {
    "keywords": [
        "founder",
        "marketing",
    ],
    "location": "",
    "customDomains": ["@gmail.com"],
}

# Run the Actor and wait for it to finish
run = client.actor("scraperoka/yellow-pages-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 '{
  "keywords": [
    "founder",
    "marketing"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com"
  ]
}' |
apify call scraperoka/yellow-pages-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Yellow Pages Email Scraper",
        "description": "📧 Yellow Pages Email Scraper extracts business emails from Yellow Pages listings quickly and accurately. 🚀 Great for B2B lead generation, outreach, and market research—save time, boost sales pipelines, and reach targeted customers faster.",
        "version": "0.0",
        "x-build-id": "zKm1DUrxYjR9921Wm"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scraperoka~yellow-pages-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scraperoka-yellow-pages-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/scraperoka~yellow-pages-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scraperoka-yellow-pages-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/scraperoka~yellow-pages-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scraperoka-yellow-pages-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": [
                    "keywords"
                ],
                "properties": {
                    "keywords": {
                        "title": "Keywords",
                        "type": "array",
                        "description": "A list of keywords to search for.",
                        "default": [
                            "founder",
                            "marketing"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Location to filter search results.",
                        "default": ""
                    },
                    "platform": {
                        "title": "Platform",
                        "enum": [
                            "Yellow Pages"
                        ],
                        "type": "string",
                        "description": "Select platform.",
                        "default": "Yellow Pages"
                    },
                    "customDomains": {
                        "title": "Custom Email Domains",
                        "type": "array",
                        "description": "List of custom email domains",
                        "default": [
                            "@gmail.com"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxEmails": {
                        "title": "Max Emails",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of emails to collect. The scraper will stop once this limit is reached. Setting a higher limit allows for more potential results but doesn't guarantee reaching that number. This helps save costs by controlling scraping time.",
                        "default": 20
                    },
                    "engine": {
                        "title": "Engine",
                        "enum": [
                            "cost-effective",
                            "legacy"
                        ],
                        "type": "string",
                        "description": "Choose scraping engine. 🚀 Cost Effective (New): Uses residential proxies with async requests for faster, cheaper scraping. 🔧 Legacy: Uses GOOGLE_SERP proxy with traditional selectors - more reliable but slower and more expensive.",
                        "default": "legacy"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Configure proxies for this Actor."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
