# Amazon Email Scraper (`scraperoka/amazon-email-scraper`) Actor

📧 Amazon Email Scraper extracts seller emails from Amazon listings quickly and accurately. Ideal for B2B lead generation, outreach, and market research. 🚀 Streamline prospecting, save time, and boost conversion rates.

- **URL**: https://apify.com/scraperoka/amazon-email-scraper.md
- **Developed by:** [Scraperoka](https://apify.com/scraperoka) (community)
- **Categories:** Lead generation, E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 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

### Amazon Email Scraper ⚡

Manually visiting Amazon listings and profiles to collect emails wastes hours you don’t have. **Amazon Email Scraper** pulls email addresses from publicly available Amazon bios/posts using your keywords, custom email-domain filters, and a max limit—ideal for marketers, recruiters, and growth teams. Amazon Email Scraper, Amazon email scraper, and Amazon seller email scraper runs can generate thousands of email leads in minutes when you tune your inputs well.

---

### What You Get: Sample Output

Here's a sample record from a single run:

```json
{
  "network": "Amazon.com",
  "keyword": "founder",
  "title": "Founder | Marketing & Sales",
  "description": "I help brands grow — email us at team@yourbrand.com for inquiries.",
  "url": "https://www.example.com/profile",
  "email": "team@yourbrand.com",
  "proxyGroups": ["cost-effective"],
  "status": "ok"
}
````

> Note: The actor writes each result to the dataset as soon as it finds an email (and it may also stop early based on `maxEmails`).

**Output Fields**

| Field | Type | What It Tells You |
|---|---|---|
| `network` | string | Where the email was collected from (`Amazon.com`) |
| `keyword` | string | Which of your `keywords` produced this email match |
| `title` | string | The title text from the source entry where the email was found |
| `description` | string | The surrounding text the actor used to detect the email (useful for context) |
| `url` | string | The public page URL tied to the email discovery |
| `email` | string | The extracted email address |
| `proxyGroups` | array | The proxy configuration used for this run (as provided by your `engine`/proxy settings) |
| `status` | string | Indicates success state for the pushed record (when present in your dataset export) |
| `error_message` | string | Error details if a record fails to push (present in failure-style outputs, depending on your dataset/export) |
| `maxEmails` | number | Your configured email cap that controls when the actor stops collecting further results |
| `location` | string | (If set) helps you filter relevance by where the actor focuses |
| `platform` | string | Always `Amazon` as selected by the actor input schema |

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

***

### Why Amazon Email Scraper?

There are a lot of ways to pull data from Amazon — here’s what sets **Amazon Email Scraper** (including Amazon emails extraction tool and Amazon contact email extractor variants) apart.

#### Keyword-driven email targeting

Amazon Email Scraper uses your `keywords` to find relevant publicly available bios and posts and then extracts email addresses found in that content. This helps your Amazon outreach email list stay focused on the people/topics you actually care about.

#### Custom domain filtering (high-signal leads)

Amazon Email Scraper supports `customDomains` so you can focus on specific email providers or domains (for example, targeting particular company domains or common inbox providers like `@gmail.com`). This makes the extracted list more usable for lead generation and outreach email campaigns.

#### Output built for immediate dataset export

Each found email is pushed into your Apify dataset immediately with consistent fields like `email`, `url`, `keyword`, and the associated `description`. That means less post-processing and faster importing into your CRM or email outreach workflow—great for an Amazon business email scraper process.

#### Resilience for large searches

The actor includes pagination and stop conditions (like `maxEmails`) so it can run through larger jobs without losing track. If progress stalls, it can end early after consecutive pages with no new emails, helping you control time and cost.

***

### Configuring Your Run

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

```json
{
  "keywords": ["founder", "marketing"],
  "location": "Berlin, Germany",
  "platform": "Amazon",
  "customDomains": ["@gmail.com", "@company.com"],
  "maxEmails": 50,
  "engine": "cost-effective",
  "proxyConfiguration": {}
}
```

**Input Fields**

| Parameter | Required | What It Does |
|---|---|---|
| `keywords` | ✅ | A list of keywords the actor uses to guide what it searches for and what content it scans for email addresses |
| `location` | ⬜ | Location text used to filter relevance toward where you’re looking |
| `platform` | ⬜ | Select platform (this actor supports `Amazon`) |
| `customDomains` | ⬜ | A list of email domains to focus on during email extraction (example: `@gmail.com`) |
| `maxEmails` | ⬜ | Maximum number of emails to collect; the actor stops once this limit is reached |
| `engine` | ⬜ | Choose scraping engine: `cost-effective` or `legacy` |
| `proxyConfiguration` | ⬜ | Configure proxies for this Actor run (using Apify’s proxy configuration editor) |

***

### Core Capabilities

#### Keyword-based email discovery on Amazon

Amazon Email Scraper scans publicly available Amazon bios and posts that relate to your `keywords`, then extracts email addresses from the text it finds there. This is ideal when you’re building an Amazon email list scraper workflow around specific roles or business themes.

#### Domain filtering for outreach-ready results

By using `customDomains`, Amazon Email Scraper targets emails that match the domains you care about. That makes it easier to assemble an Amazon outreach lead emails list without drowning in irrelevant addresses.

#### Pagination with practical stopping controls

The actor paginates through results and stops when `maxEmails` is reached. It can also stop after consecutive pages with no new emails, which helps keep large jobs from running too long.

#### Resilient scraping with retries and fallbacks

When requests fail or produce no usable results, Amazon Email Scraper includes resilience logic such as retries and fallback behaviors. This improves reliability for longer runs and higher-volume Amazon emails extraction tool tasks.

#### Dataset-first output (push as you go)

As soon as an email is found, Amazon Email Scraper pushes a record to the dataset containing `network`, `keyword`, `title`, `description`, `url`, and `email`. This makes it straightforward to export or continue working even if the run ends early.

***

### Who Gets the Most Out of This

Here’s how different teams put **Amazon Email Scraper** to work:

**Lead generation marketers** use it to build a targeted Amazon outreach email list by selecting strong `keywords` and narrowing results with `customDomains`. The outcome is a cleaner email dataset that’s easier to import into outreach tools.

**Sales and BD teams** use Amazon Email Scraper as an Amazon contact email extractor to quickly gather emails tied to relevant Amazon bios and posts. This reduces manual research time and accelerates first-touch outreach.

**Recruiters and talent sourcers** can search Amazon profiles using role-oriented keywords like “founder” and “marketing” to assemble a shortlist of contacts. The extracted `url` and `description` provide useful context during follow-up.

**Data analysts and researchers** use the consistent dataset fields (`email`, `url`, `keyword`, and surrounding `description`) to quantify lead coverage across keywords and domains. This supports faster analysis and repeatable Amazon email scraping software workflows.

**Automation engineers** can trigger the actor and pipe dataset output into downstream systems for ongoing lead sourcing and enrichment. Amazon Email Scraper is a practical web scraper for Amazon emails when you want automation with structured results.

***

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

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

1. **Open the actor on Apify** — visit [console.apify.com](https://console.apify.com) and open Amazon Email Scraper.
2. **Enter your inputs** — fill `keywords` (required), then optionally add `location`, `customDomains`, and `maxEmails`.
3. **Choose your engine & proxy setup** — keep the default `engine` or switch if you need different behavior; configure `proxyConfiguration` if your run requires it.
4. **Hit Run and watch the live log** — monitor progress and see how many emails are collected as it goes.
5. **View results in the dataset tab** — every found email is pushed as a dataset record with fields like `email`, `url`, `keyword`, and `description`.
6. **Export your results** — download the dataset as JSON, CSV, or Excel.

The whole process takes under 5 minutes to set up.

***

### Integrations & Export Options

Once your data is collected, Amazon Email Scraper plugs directly into your existing workflow.

You can export your dataset in formats available from the Apify dataset tab, including JSON, CSV, and Excel. This makes Amazon email list scraper results easy to import into spreadsheets, CRMs, and outreach systems.

For automation, you can connect your workflow using Apify API access (via <https://apify.com/docs/api>), and use Apify native integration options or automation platforms like Zapier/Make to push results when runs complete. You can also schedule runs to keep your Amazon outreach lead emails list refreshed over time.

***

### Pricing & Free Trial

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

You can use Apify’s free credits for testing and then scale using Apify’s pay-as-you-go compute model as your volume grows. For the most accurate pricing details (and plan names), check the Apify pricing page on the Apify website. Start for free at [apify.com](https://apify.com) and scale when you're ready.

***

### Reliability & Performance

| What We Handle | How |
|---|---|
| Large searches and pagination | Stops based on `maxEmails` and practical “no new emails” conditions to avoid endless runs |
| Proxy reliability | Supports proxy configuration for stable scraping across longer runs |
| Engine choice | Lets you pick between `cost-effective` and `legacy` modes |
| Output consistency | Pushes each found email record to the dataset with standardized fields |
| Run resilience | Includes retry and fallback behavior when results are sparse or requests fail |

Limitations: Amazon Email Scraper extracts emails from **publicly available data** present in Amazon bios and posts related to your keywords; it cannot access login-gated or non-public content. Results depend on what email addresses are actually published in those bios/posts.

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

***

### Frequently Asked Questions

#### Is there a free plan or trial for Amazon Email Scraper?

Yes. Apify offers a free tier with credits so you can run Amazon Email Scraper and test your keyword/domain setup before scaling.

#### Do I need to log in to Amazon to use this?

No. This actor scrapes emails from publicly available Amazon bios and posts that relate to your keywords—no Amazon login is required.

#### How accurate is the extracted email data?

The extracted emails come directly from the publicly available text the actor processes. Accuracy depends on what the profile owner has published; the tool doesn’t invent emails.

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

Your maximum is controlled by `maxEmails`. The actor stops when it reaches that limit, but it doesn’t guarantee the exact number if fewer matching emails are found.

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

Data freshness depends on when the actor run is executed. If you want up-to-date emails extraction for ongoing Amazon outreach email list growth, schedule repeated runs.

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

Use responsibly, ethically, and only for lawful purposes. You should ensure your collection, storage, and outreach practices comply with GDPR, CCPA, and applicable platform rules.

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

Yes. You can export your dataset from the Apify dashboard as JSON, CSV, or Excel, and then import it into tools like Google Sheets as needed.

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

Yes. You can schedule the actor to run automatically via the Apify platform so your Amazon email list stays refreshed over time.

#### Can I access this via API?

Yes. You can trigger runs programmatically and retrieve results via the Apify API (<https://apify.com/docs/api>).

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

If a request fails or results are sparse, the actor uses resilience behaviors (like retries and stop conditions) to keep the run moving safely and avoid wasting time. You’ll still get whatever records were successfully pushed to the dataset up to that point.

***

### Need Help or Have a Request?

Got a question about **Amazon Email Scraper** or want a new feature added? Reach out at <dataforleads@gmail.com>. We’re happy to help with setup questions and welcome ideas like improved filtering or additional export workflows.

***

### Disclaimer & Responsible Use

*Amazon Email Scraper is the fastest, most reliable way to build outreach-ready email lists from Amazon bios and posts — start your free run today.*

This actor accesses **publicly available data**. It does not access private accounts, login-gated content, or password-protected pages. You are responsible for complying with GDPR, CCPA, platform Terms of Service, and any other applicable laws. 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": "Amazon",
  "customDomains": [
    "@gmail.com"
  ],
  "maxEmails": 20,
  "engine": "cost-effective"
}
```

# 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/amazon-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/amazon-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/amazon-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Amazon Email Scraper",
        "description": "📧 Amazon Email Scraper extracts seller emails from Amazon listings quickly and accurately. Ideal for B2B lead generation, outreach, and market research. 🚀 Streamline prospecting, save time, and boost conversion rates.",
        "version": "0.0",
        "x-build-id": "f4DY0DrlgJyxNSu7B"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scraperoka~amazon-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scraperoka-amazon-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~amazon-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scraperoka-amazon-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~amazon-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scraperoka-amazon-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": [
                            "Amazon"
                        ],
                        "type": "string",
                        "description": "Select platform.",
                        "default": "Amazon"
                    },
                    "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": "cost-effective"
                    },
                    "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
