# Goodreads Email Scraper Fast Advanced And Cheapest (`solid-scraper/goodreads-email-scraper-fast-advanced-and-cheapest`) Actor

📧 Grab targeted Goodreads email leads fast with the Advanced & Cheapest Email Scraper. Identify prospects by keyword and niche, export instantly, and boost outreach for sales, agencies, and growth teams. 🚀

- **URL**: https://apify.com/solid-scraper/goodreads-email-scraper-fast-advanced-and-cheapest.md
- **Developed by:** [SolidScraper](https://apify.com/solid-scraper) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.99 / 1,000 results

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

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

### Goodreads Email Scraper - Fast, Advanced and Cheapest 📬

**Goodreads Email Scraper - Fast, Advanced and Cheapest** is an Apify actor that extracts email addresses from Goodreads based on the keywords and email-domain filters you provide. If you’re searching for a **Goodreads email scraper**, a **scrape Goodreads user emails** tool, or a **Goodreads contact email finder** that helps you build an email list faster, this actor is designed for exactly that—whether you’re doing lead generation, outreach research, or data enrichment. Whether you're a marketer, recruiter, or data enthusiast, it helps you turn publicly available data into actionable contact lists at scale, saving you hours of manual work.

---

### Why choose Goodreads Email Scraper - Fast, Advanced and Cheapest? ✅

| Feature | Benefit |
|---|---|
| ✅ **Keyword-driven email discovery** | Lets you use your own keywords to find relevant leads and emails on Goodreads |
| ✅ **Custom email-domain filters** | Focuses results on the domains you care about (for example `@gmail.com`) to improve email list usefulness |
| ✅ **Reliability with resilience** | Includes built-in robustness for pages where results are limited and stops when the run is no longer productive |
| ✅ **Structured dataset output** | Saves clean records with `keyword`, `title`, `description`, `url`, and `email` for easy export |
| ✅ **Incremental saving to dataset** | Pushes each found email immediately, so you don’t lose progress during long runs |
| ✅ **Scales via batch keyword x domain runs** | Supports multiple keywords and multiple email domains in a single execution for broader coverage |

---

### Key features 🔍

- 🧠 **Targeted Goodreads email extraction**: Uses your `keywords` plus optional `location` and `customDomains` to find matching emails
- 🎯 **Domain-focused results**: Extracts emails only from the email domains you specify in `customDomains`
- 💾 **Real-time saving**: Each time an email is found, the actor immediately pushes a row to the **Goodreads Emails Dataset**
- 🛡️ **Resilient scraping behavior**: Designed to handle limited-result scenarios and avoid wasting time once results stop improving
- 🔁 **De-duplicates emails automatically**: Tracks already-seen emails so you don’t get repeated entries in your results
- ⏱️ **Cost-aware limits**: You can set `maxEmails` to stop once enough unique emails are collected
- 🌐 **Dataset-ready for analysis**: Output is already structured for tables and downstream processing, supporting workflows like building a Goodreads email list or Goodreads email database

---

### Input

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

```json
{
  "keywords": ["manager", "founder"],
  "location": "New York, NY",
  "customDomains": ["@gmail.com", "@yahoo.com"],
  "maxEmails": 20
}
````

#### Input Fields

| Field | Required | Description |
|---|---|---|
| `keywords` | ✅ Yes | A list of keywords (queries) the actor uses to find relevant Goodreads leads and extract matching emails. |
| `location` | ❌ No | Optional location text to filter results. Leave empty if you want broader coverage. |
| `customDomains` | ❌ No | List of email domains to extract (examples: `@gmail.com`, `@yahoo.com`). If you want a more focused Goodreads author email scraper outcome, set this. |
| `maxEmails` | ❌ No | Maximum number of unique emails to collect. Higher values may take longer and do not guarantee reaching the exact number. Helps control scraping time and cost. |

***

### Output

The actor saves results in the **Goodreads Emails Dataset** as rows (table-friendly JSON). Each record includes the originating `keyword`, the lead `title`, the extracted `description`, the result `url`, and the extracted `email`.

Example dataset row:

```json
[
  {
    "network": "Goodreads.com",
    "keyword": "manager",
    "title": "No title",
    "description": "No data",
    "url": "No URL",
    "email": "example@gmail.com"
  }
]
```

#### Output Fields

| Field | Type | Description |
|---|---|---|
| `network` | string | Source network label included in each row (`Goodreads.com`). |
| `keyword` | string | The keyword that produced the lead/email result. |
| `title` | string | The title text found in the result item (or `No title` if missing). |
| `description` | string | Extracted text from the result snippet (or `No data` if missing). |
| `url` | string | The URL associated with the result item (or `No URL` if missing). |
| `email` | string | The extracted email address that matched your `customDomains`. |

> Note: The actor increments results as it finds emails, pushing each discovered row to the dataset immediately.

***

### How to use Goodreads Email Scraper - Fast, Advanced and Cheapest (via Apify Console)

1. **Open Apify Console**\
   Go to [console.apify.com](https://console.apify.com) and sign in.

2. **Find the actor page**\
   Search for **Goodreads Email Scraper - Fast, Advanced and Cheapest** and open the actor details.

3. **Go to the INPUT section**\
   Add your values using the form or by providing an `input.json` object in the console.

4. **Set your `keywords` (required)**\
   Enter a list like `["manager", "founder"]` to power your **Goodreads email scraper** searches.

5. **Optionally refine with `location`**\
   Use `location` if you want results filtered by a specific area; otherwise leave it blank for broader coverage.

6. **Optionally refine with `customDomains`**\
   Add domains like `@gmail.com` or `@yahoo.com` to focus your **Goodreads contact email finder** results.

7. **Set `maxEmails` to control how many unique emails you collect**\
   Choose a number (up to `10000`). If you don’t set it, the actor uses the default `20`. Also note that free runs apply a maximum limit of `100` emails.

8. **Run and monitor progress**\
   Watch the logs for scraping progress and newly found emails. The actor pushes found results to the dataset as they arrive.

9. **Open the output dataset and export**\
   After completion, open the **Scraped Leads** table in the **Goodreads Emails Dataset** and export the data (commonly as JSON/CSV depending on your workflow).

No coding required—get Goodreads author email scraping results in minutes with **Goodreads Email Scraper - Fast, Advanced and Cheapest**. 🚀

***

### Advanced features & SEO optimization ⭐

- 🔍 **Engineered for “Goodreads email scraper” workflows**: Built to excel at “Goodreads email scraper” and “scrape Goodreads user emails” style lead discovery use cases
- 🧩 **Input normalization and flexible keyword handling**: You can provide multiple keywords, and the actor uses them to drive repeated extraction runs
- 🎛️ **Domain targeting for better list quality**: Using `customDomains` improves the odds that your Goodreads email list matches the outreach domains you actually want
- 💬 **Clear, structured logging and incremental saves**: You can track what’s being collected while data is pushed continuously to the dataset
- 🧾 **De-duplication across the run**: Ensures you’re building a unique set of emails (important for Goodreads bulk email extractor projects)

***

### Best use cases 🎯

- 📈 **Lead generation for outreach**: Collect a targeted Goodreads email database for faster campaign building and list enrichment
- 🧑‍💼 **Recruiters finding decision-makers**: Use keywords to discover potential contacts and build a shortlist of relevant emails for outreach
- 🏢 **B2B growth teams validating contact channels**: Filter by specific domains (like `@gmail.com`) to match your CRM and outreach preferences
- 🔎 **Market researchers mapping author networks**: Mine publicly available Goodreads email contact signals to study communities and author ecosystems
- ✉️ **Email marketing list builders**: Build a Goodreads email list you can import into your systems for segmentation and follow-ups
- 🧠 **Data analysts enriching contact datasets**: Combine `keyword`, `url`, and extracted `email` to analyze lead-source quality over time
- 💻 **Automation pipelines**: Use the dataset output as a feed for downstream steps like CRM updates and deduplication checks

***

### Technical specifications

#### Supported Input Formats

- ✅ `keywords` as an array (required)
- ✅ `location` as a string (optional)
- ✅ `customDomains` as an array of email domains (optional)
- ✅ `maxEmails` as an integer (optional, range `1` to `10000`)

#### Proxy Support

- ✅ Built-in proxy support for reliable scraping (configured internally for better access stability)

#### Retry Mechanism

- ✅ Includes resilience behavior for limited results and fallbacks during runs

#### Dataset Structure

- ✅ **Goodreads Emails Dataset** with table fields:
  `keyword`, `title`, `description`, `url`, `email`

#### Rate Limits & Performance

- ✅ Performance varies based on the number of keywords/domains and chosen limits
- ✅ Supports longer runs via standard Apify execution time controls (see Run Options in the platform UI)

#### Limitations

- ⚠️ Results can be limited depending on the availability of matching emails in publicly available sources
- ⚠️ `maxEmails` caps unique email collection, and it does not guarantee that the actor will always reach the exact number

***

### FAQ

#### ✅ Does Goodreads Email Scraper - Fast, Advanced and Cheapest scrape publicly available emails only?

Yes. The actor extracts email addresses from publicly available sources on Goodreads based on the keywords and email-domain filters you provide. It does not access private or authenticated content.

#### ❌ What happens if I set `maxEmails` too high?

If you request a very high `maxEmails` value, the actor may still stop early if results stop improving or if it runs out of productive pages. The limit helps control run duration and cost rather than guaranteeing an exact count.

#### 💻 Can I run this without writing any code?

Yes. You can use the Apify Console input form to set `keywords`, optional `location`, optional `customDomains`, and `maxEmails`, then export your results from the dataset.

#### 🌐 Which email addresses will be returned?

The actor extracts emails that match the domains you specify in `customDomains` (for example `@gmail.com`). It outputs each unique `email` in the dataset rows.

#### 📦 Where can I find the results after the run?

Results are pushed incrementally to the **Goodreads Emails Dataset**. You can open the dataset table named **Scraped Leads** and export the data after completion.

#### 🇬🇧 Do I need an API key?

Not to use it in the Apify Console. If you integrate via API, you’ll use standard Apify workflows, but the actor itself is designed to run from the Apify platform inputs.

#### 🧾 How do I improve results when output is limited?

Try expanding your `keywords`, adding related terms, broadening or adjusting `location`, and increasing coverage by adding more email domains in `customDomains`.

***

### Support & feature requests 🤝

If you’re using **Goodreads Email Scraper - Fast, Advanced and Cheapest** and have feedback, questions, or enhancement ideas, we’d love to hear from you.

- 💡 **Feature Requests**: Examples include improvements like CSV-friendly exports, additional filters, or more configurable extraction options for Goodreads email harvesting workflows.
- 📧 **Contact**: For support and requests, email <dataforleads@gmail.com>.

Your feedback helps shape the roadmap and improves the experience of building a Goodreads email database with this tool. 🙌

***

- *Get the most comprehensive, SEO-optimized Goodreads email extraction results with Goodreads Email Scraper - Fast, Advanced and Cheapest.* \*

### Disclaimer

**This tool accesses publicly accessible sources only.** It does not access private profiles, password-protected pages, or authenticated data. It is your responsibility to comply with applicable laws and regulations (including GDPR/CCPA where relevant), spam rules, and each platform’s terms of service.

For data removal requests, contact <dataforleads@gmail.com>. Please use this actor responsibly, ethically, and for legitimate purposes only.

# Actor input Schema

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

A list of keywords or queries to search for.

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

Location to filter search results.

## `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.

## Actor input object example

```json
{
  "keywords": [
    "manager",
    "founder"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com"
  ],
  "maxEmails": 20
}
```

# 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": [
        "manager",
        "founder"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("solid-scraper/goodreads-email-scraper-fast-advanced-and-cheapest").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": [
        "manager",
        "founder",
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("solid-scraper/goodreads-email-scraper-fast-advanced-and-cheapest").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": [
    "manager",
    "founder"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com"
  ]
}' |
apify call solid-scraper/goodreads-email-scraper-fast-advanced-and-cheapest --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Goodreads Email Scraper Fast Advanced And Cheapest",
        "description": "📧 Grab targeted Goodreads email leads fast with the Advanced & Cheapest Email Scraper. Identify prospects by keyword and niche, export instantly, and boost outreach for sales, agencies, and growth teams. 🚀",
        "version": "1.0",
        "x-build-id": "Ir7hEwh13Vb6nzQci"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solid-scraper~goodreads-email-scraper-fast-advanced-and-cheapest/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solid-scraper-goodreads-email-scraper-fast-advanced-and-cheapest",
                "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/solid-scraper~goodreads-email-scraper-fast-advanced-and-cheapest/runs": {
            "post": {
                "operationId": "runs-sync-solid-scraper-goodreads-email-scraper-fast-advanced-and-cheapest",
                "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/solid-scraper~goodreads-email-scraper-fast-advanced-and-cheapest/run-sync": {
            "post": {
                "operationId": "run-sync-solid-scraper-goodreads-email-scraper-fast-advanced-and-cheapest",
                "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 or Queries",
                        "type": "array",
                        "description": "A list of keywords or queries to search for.",
                        "default": [
                            "manager",
                            "founder"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Location to filter search results.",
                        "default": ""
                    },
                    "customDomains": {
                        "title": "Enter Custom Email Domains (e.g. @gmail.com, @yahoo.com)",
                        "type": "array",
                        "description": "List of custom email domains",
                        "default": [
                            "@gmail.com",
                            "@yahoo.com"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxEmails": {
                        "title": "Enter 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
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
