# Linkedin Email Scraper (`scraperoka/linkedin-email-scraper`) Actor

🔍 LinkedIn Email Scraper extracts verified business contacts from LinkedIn profiles & company pages—fast, accurate, and GDPR-aware. 📩 Unlock targeted leads for sales, outreach, recruiting, and market research. 🚀 Boost pipeline with less manual work.

- **URL**: https://apify.com/scraperoka/linkedin-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, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

### Linkedin Email Scraper 🚀 — Extract Emails from Public LinkedIn Profiles at Scale

Manually visiting profiles to collect emails wastes hours you don’t have. **Linkedin Email Scraper** finds email addresses from LinkedIn profile bios and posts related to your keywords, so you can build a targeted contact list fast. This Linkedin email scraper and LinkedIn lead scraper is ideal for marketers, recruiters, and growth teams who want to automate email discovery and outreach prep—thousands of records are possible in a single run.

---

### What You Get: Sample Output

Here’s a sample record from a single run:

```json
{
  "network": "Linkedin.com",
  "keyword": "founder",
  "title": "Founder & Growth Lead",
  "description": "Building marketing systems • Available at hello@gmail.com • Investors welcome",
  "url": "https://www.linkedin.com/in/example-profile",
  "email": "hello@gmail.com",
  "proxyGroups": [
    "GOOGLE_SERP"
  ]
}
````

**Output Fields**

| Field | Type | What It Tells You |
|---|---|---|
| `network` | string | Confirms the source network as `Linkedin.com` for downstream reporting |
| `keyword` | string | Which keyword was used to discover the contact, so you can segment lists by intent |
| `title` | string | The page result title related to the found email (useful for context when importing) |
| `description` | string | Snippet text where the email was detected (helps validate relevance) |
| `url` | string | The profile/result URL tied to the email you found |
| `email` | string | The extracted email address for direct outreach or enrichment |
| `proxyGroups` | array | Proxy group information used during scraping (useful for debugging or auditing) |
| `error_message` | not present | This actor outputs rows via `result` pushes; failures are reflected in run logs rather than a per-row `error_message` field |

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

***

### Why Linkedin Email Scraper?

There are many ways to pull contact details—here’s what sets **Linkedin Email Scraper** (and related LinkedIn email finder tool workflows) apart.

#### Keyword-led email targeting

You provide `keywords` (plus optional `location` and `customDomains`) so the scraper focuses on bios and posts that match what your prospects are most likely to mention. This makes Linkedin prospecting email scraper outputs more relevant for outreach segmentation.

#### Domain filtering for cleaner lists

Use `customDomains` to constrain results to the email domains you care about (for example, `@gmail.com`). That helps LinkedIn contact scraper workflows return contacts that fit your outreach rules.

#### Resilient runs with retries and fallbacks

The actor includes retry and fallback behavior when results are empty or requests fail, improving consistency for larger runs. If results seem low, the input guidance recommends broadening keywords and adding more related terms or domains.

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

You can configure proxies via `proxyConfiguration`, and choose an `engine` mode to balance reliability and speed. This helps the Linkedin email extraction software maintain steadier throughput.

***

### Configuring Your Run

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

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

**Input Fields**

| Parameter | Required | What It Does |
|---|---|---|
| `keywords` | ✅ | A list of keywords to search for (drives what LinkedIn bios and posts are scanned for) |
| `location` | ⬜ | Location to filter search results; leave empty for broader coverage |
| `platform` | ⬜ | Select platform (enum includes `Linkedin`) |
| `customDomains` | ⬜ | List of custom email domains to target (e.g., `@gmail.com`) |
| `maxEmails` | ⬜ | Maximum number of emails to collect; stops the run once the limit is reached (helps control cost and time) |
| `engine` | ⬜ | Choose scraping engine: `cost-effective` or `legacy` (affects how it’s run and performance characteristics) |
| `proxyConfiguration` | ⬜ | Configure proxies for this Actor run |

***

### Core Capabilities

#### Extracts emails from LinkedIn bios and posts

The actor is designed to find emails that appear in LinkedIn bios and posts connected to your provided keywords. This makes it a practical LinkedIn email scraping extension for lead sourcing workflows.

#### Input flexibility for better targeting

You can steer results with `keywords`, optionally narrow by `location`, and filter by `customDomains`. That combination is especially helpful for a B2B LinkedIn email scraper style workflow when you want only specific company or consumer domains.

#### Stop conditions that protect run time

`maxEmails` provides a clear cap, helping the scraper stop once your requested volume is reached. The actor documentation also notes that large searches or high email limits may take longer.

#### Output is written to your Apify dataset in real time

Each found email is pushed as a dataset row while the run is in progress. This supports repeatable LinkedIn outreach email scraper pipelines where you want usable output as soon as data is discovered.

#### Scales with engine + proxy settings

You can pick between `engine` modes and configure proxies via `proxyConfiguration` to match your reliability and speed needs. That makes automated email extraction from LinkedIn more dependable during bulk runs.

***

### Who Gets the Most Out of This

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

**Sales Development Representatives** — Use LinkedIn prospecting email scraper runs to quickly turn keyword-focused prospecting into an outreach-ready email list. By filtering with `customDomains`, they build cleaner lists that match their outbound targeting rules.

**Marketing Teams & Growth Leads** — Feed campaigns with `keywords` tied to founder-led roles, marketing teams, or specific ICP language. The output helps them create segmented audiences for email outreach emails and lead nurturing sequences without spending days on manual browsing.

**Recruiters & Talent Sourcers** — Use a Linkedin lead scraper workflow to find contact emails associated with relevant profiles. The `maxEmails` limit makes it practical to run multiple targeted searches per week while controlling scraping time.

**Data Analysts & Researchers** — Build datasets for contact-enrichment studies by exporting the actor’s dataset rows from Apify. The inclusion of `keyword`, `title`, `description`, and `url` supports analysis on why an email matched a given search and snippet context.

**Automation & Integration Specialists** — Integrate the Linkedin data scraping tool into pipelines by consuming the Apify dataset and pushing results into downstream systems. The consistent row structure (including `network`, `email`, and source `url`) makes it easier to map into CRMs and internal databases.

***

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

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

1. **Open** the actor on Apify — visit [console.apify.com](https://console.apify.com) and find the actor page.
2. **Enter** your inputs — set `keywords` (required), then optionally `location`, `customDomains`, and `maxEmails`.
3. **Configure** proxy settings — use `proxyConfiguration` and pick an `engine` that fits your reliability/speed goals.
4. **Hit Run** and watch the live log — the run progress and any retries/fallback behavior appear in the logs.
5. **View** results in the dataset tab — each found email is pushed as a dataset row during the run.
6. **Export** as JSON, CSV, or Excel — download 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, **Linkedin Email Scraper** plugs directly into your existing workflow.

You can export your Apify dataset as JSON, CSV, or Excel from the dataset tab. For connecting to tools like spreadsheets and CRMs, you can use Apify’s native integrations or no-code automation like Zapier/Make (refer to Apify docs for the most up-to-date connection options).

If you want to automate at scale, you can trigger scheduled runs and access results programmatically via the Apify API. Webhooks can also be used so your downstream systems start processing as soon as a run completes (for example, pushing the extracted emails into your lead database).

***

### Pricing & Free Trial

**Linkedin Email Scraper** runs on the Apify platform, which offers a **free tier** — no credit card required to get started. The free tier includes $5 platform credits on sign-up, which should be enough for several test runs.

For ongoing usage, you typically pay on a pay-as-you-go basis based on Apify platform compute units (CU), and you can scale with Apify subscription plans for heavier workloads. Start for free at [apify.com](https://apify.com) and scale when you’re ready.

***

### Reliability & Performance

| What We Handle | How |
|---|---|
| Rate-limit style failures | Retries and fallbacks help improve result stability across pages |
| Proxy needs | `proxyConfiguration` support is built in for more reliable scraping |
| Empty-result runs | The actor uses logic to handle empty results and decide when to stop |
| Output consistency | Each discovered email is pushed into the Apify dataset as a structured row |

**Limitations:** The actor is intended for emails found in publicly available LinkedIn bios and posts related to your keywords. It can’t access private or login-gated content, so some profiles may not yield emails even if they match your keyword intent. For enterprise-scale runs, contact us to discuss custom configurations.

***

### Frequently Asked Questions

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

Yes—Apify provides a free tier with platform credits so you can run LinkedIn email extraction test jobs before committing.

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

No. This Linkedin email scraper is built to work with publicly available data; you don’t need LinkedIn login credentials to run it.

#### How accurate is the data?

Accuracy depends on what the profile owner has published. The actor extracts emails from publicly available sources (emails that appear in bios and posts related to your keywords).

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

You control the maximum via `maxEmails`. The actor stops once the limit is reached, but it doesn’t guarantee hitting the cap if fewer matching emails are found.

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

Results are as fresh as the moment the run is executed. If you need new leads, re-run the actor with the same inputs or updated keyword/domain filters.

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

You should treat this as a data-collection tool for publicly available information and handle compliance on your side. Make sure your usage, storage, and outreach comply with GDPR/CCPA and any applicable platform terms.

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

Yes. You can export your dataset as JSON, CSV, or Excel from the Apify dashboard. For Google Sheets workflows, use Apify integrations or export-and-import depending on your setup.

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

Yes. You can schedule runs through Apify to refresh your Linkedin lead scraper outputs on a recurring cadence.

#### Can I access this via API?

Yes. You can trigger the actor and retrieve results programmatically using the Apify API (see Apify API docs for details).

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

If requests fail or results are empty, the actor uses retry/fallback behavior and includes stop conditions to avoid endless runs. You can monitor the logs to see what happened during your execution.

***

### Need Help or Have a Request?

Got a question about **Linkedin Email Scraper** or want a new feature added? Reach out at <dataforleads@gmail.com>. We welcome feature requests like better batching and webhook notifications on completion, and we actively maintain the actor based on user feedback.

***

### Disclaimer & Responsible Use

*Linkedin Email Scraper is the fastest, most reliable way to build targeted email lists from public LinkedIn bios and posts—start your free run today.*

This actor collects **publicly available data** and does not access private accounts, login-gated content, or password-protected pages. You’re responsible for complying with GDPR, CCPA, spam regulations, and any applicable platform Terms of Service. 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": "Linkedin",
  "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/linkedin-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/linkedin-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/linkedin-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Linkedin Email Scraper",
        "description": "🔍 LinkedIn Email Scraper extracts verified business contacts from LinkedIn profiles & company pages—fast, accurate, and GDPR-aware. 📩 Unlock targeted leads for sales, outreach, recruiting, and market research. 🚀 Boost pipeline with less manual work.",
        "version": "0.0",
        "x-build-id": "4iPcFKDRLVdVHjtA7"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scraperoka~linkedin-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scraperoka-linkedin-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~linkedin-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scraperoka-linkedin-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~linkedin-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scraperoka-linkedin-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": [
                            "Linkedin"
                        ],
                        "type": "string",
                        "description": "Select platform.",
                        "default": "Linkedin"
                    },
                    "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
