# Instant YouTube Email Scraper (`scrapebridge/youtube-email-scraper`) Actor

YouTube Email Scraper extracts publicly available business emails, channel details, subscriber counts, social links, descriptions, and video metadata from YouTube channels. Ideal for influencer outreach, lead generation, market research, partnerships, and audience analysis.

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

## Pricing

from $3.99 / 1,000 results

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

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

### Youtube Email Scraper 🎯 — Stop hunting for creator emails manually

Finding a YouTube channel’s contact email the hard way (tabs, copy-paste, guessing) wastes hours and still leaves you with incomplete outreach lists. **Youtube Email Scraper** automatically collects emails tied to YouTube bios and posts using your chosen keywords and domain filters. This youtube email scraper tool is perfect for youtube email scraping software workflows, including bulk youtube email scraper lead generation. Teams and researchers use it to find youtuber email address contacts faster—so you can move from targeting to outreach without the spreadsheet grind. In one run, you can collect up to your selected `maxEmails` cap while processing results in bulk, with built-in resilience for real-world scraping.

---

### See the Data: Sample Output

Here's a real record from a single run:

```json
{
  "network": "Youtube.com",
  "keyword": "founder",
  "title": "Founder at Example Studio",
  "description": "Building products for creators. Email: hello@example.com",
  "url": "https://example.com/channel/about",
  "email": "hello@example.com",
  "proxyGroups": ["@gmail.com"]
}
````

| Field | Type | What It Tells You |
|---|---|---|
| `network` | string | Confirms the source network so you can filter datasets by platform later. |
| `keyword` | string | Shows which input keyword produced this match, making it easier to segment prospects. |
| `title` | string | A human-readable title from the scraped result context (useful for quick review). |
| `description` | string | The surrounding text where the email was detected, so you can verify relevance quickly. |
| `url` | string | The page URL associated with the found email (handy for audit trails). |
| `email` | string | The extracted email address you can use for outreach or CRM enrichment. |
| `proxyGroups` | array | Captures the proxy configuration value passed in for transparency with the run inputs. |
| `status` | string | Use this concept for your own pipeline validation: a row exists when a result was pushed; if scraping fails, no dataset row is produced. |
| `error_message` | string | Use this concept for your pipeline validation: errors are logged by the actor, but individual dataset rows only include the fields shown above. |

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

***

### Setting It Up

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

```json
{
  "keywords": ["founder", "marketing"],
  "location": "United States",
  "platform": "Youtube",
  "customDomains": ["@gmail.com", "@company.com"],
  "maxEmails": 50,
  "engine": "legacy",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

| Parameter | Required | What It Does |
|---|---|---|
| `keywords` | ✅ | A list of keywords used to find relevant YouTube profile bios/posts for email extraction. |
| `location` | ⬜ | Filters search results by the location you provide (leave empty for no location filter). |
| `platform` | ⬜ | Selects the platform to scrape. For this actor, the supported value is `Youtube`. |
| `customDomains` | ⬜ | Limits extracted emails to the domains you list (for example `@gmail.com`) for better targeting. |
| `maxEmails` | ⬜ | Stops the run once it reaches this maximum number of collected emails (higher can take longer and doesn’t guarantee hitting the cap). |
| `engine` | ⬜ | Chooses the scraping engine mode (`cost-effective` or `legacy`) to balance speed vs. reliability. |
| `proxyConfiguration` | ⬜ | Configure proxies for this Actor (the exact proxy settings depend on how you want to run it). |

***

### What It Does

This actor scrapes emails from YouTube-related public web data tied to the keywords and email-domain filters you provide.

#### Extract at Scale with Keyword Targeting

The **Youtube Email Scraper** uses your `keywords` input to find relevant YouTube bios and posts where email addresses may appear. It then extracts emails that match the `customDomains` filters, helping you focus on the contacts that matter for your youtube contact email finder workflow.

#### Finds Email Mentions in Bios and Posts

Emails are discovered from YouTube bios and posts related to your keywords. This is exactly why the youtube channel email lookup use case works well for lead generation, outreach email scraping, and faster prospect list building.

#### Clean, Integration-Ready Records

Each found match is pushed into the Apify dataset as a structured JSON object containing `network`, `keyword`, `title`, `description`, `url`, and `email`. If you’re using youtube email extractor style pipelines, you can import the dataset directly into your CRM, spreadsheet, or analysis workflow.

#### Domain-Filtered for Higher-Relevance Outreach

Use `customDomains` (for example `@gmail.com`) to narrow results to email addresses with the domains you care about. This helps when you’re doing youtube email scraping software runs where you want to prioritize specific lead sources.

#### Built-in Resilience for Real-World Runs

The actor includes retry and fallback behavior and can stop early once `maxEmails` is reached. That makes it more practical as bulk youtube email scraper software for larger keyword/domain batches where some pages may fail.

Overall, the **Youtube Email Scraper** turns search-like discovery into usable email rows quickly, so you can focus on outreach—not manual extraction.

***

### Why Youtube Email Scraper?

There are plenty of ways to pull data from YouTube-proxied public sources—here’s why Youtube Email Scraper stands out.

#### Faster Workflows for Outreach and Research

You set your `keywords`, `customDomains`, and a `maxEmails` cap, then let the actor process results in bulk. It’s built for youtube email prospecting email scraper and youtube outreach email scraper style work where time-to-list is the priority.

#### Better Control Over What “Counts” as a Lead

With `customDomains`, you control which emails are eligible to be collected. That makes this youtube email extractor especially useful when you’re trying to find business email from youtube channel contact details without collecting everything.

#### Robust Scraping Behavior for Unstable Sessions

Runs include retries, fallbacks, and early stopping once your email cap is reached. If you’re doing youtube lead generation email scraper projects, this helps keep results moving even when some pages don’t return data.

***

### Real-World Use Cases

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

**Sales Teams**\
A sales rep wants to expand a prospect list from YouTube creators in a niche. They provide keywords like “founder” and “marketing” and restrict `customDomains` to the domains their buyers prefer. Within the run, they get structured email records with the source `url` and `description`, so outreach can start the same day.

**Marketing Agencies**\
An agency running campaigns for multiple clients needs consistent prospect data at scale. They run bulk youtube email scraper jobs using client-specific keywords and domain filters to reduce irrelevant leads. The resulting dataset is ready for exporting into spreadsheets or syncing with CRM.

**Freelance Researchers**\
A researcher is compiling contact information for a study about creator ecosystems. They use youtube email scraping software inputs to focus on relevant bios/posts and cap results with `maxEmails` for predictable turnarounds. They then review `title`, `description`, and `url` per record for traceability.

**Developers and Automation Specialists**\
A developer wants to automate lead enrichment. They trigger the actor via Apify, store the dataset, and pipe each `email` plus `keyword` segment into downstream processing. This fits well into youtube email scraper chrome extension–style workflows even when you’re not using a browser extension.

**Outreach Managers**\
An outreach manager needs cleaner targeting before sending campaigns. By filtering with `customDomains`, they avoid low-quality email matches and focus only on contacts that match the desired domains for their list. That makes youtube email extractor results more actionable for campaign execution.

***

### How to Run It

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

1. **Open the actor on Apify** — go to the actor page in the Apify console: [console.apify.com](https://console.apify.com).
2. **Enter your inputs** — add `keywords` (required), and optionally set `location`, `customDomains`, `maxEmails`, and `engine`.
3. **Configure proxies (optional but recommended for scale)** — set `proxyConfiguration` to match your reliability needs.
4. **Start the run** — launch it from the Apify interface and monitor the live log for progress.
5. **Open the Dataset tab** — results are written as the actor finds and pushes email records.
6. **Export your results** — download JSON, CSV, or Excel from the dataset view.

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

***

### Export & Integration Options

Once your data is collected, Youtube Email Scraper fits directly into your existing workflow. You can download your dataset as **JSON, CSV, or Excel** from the Apify dashboard.

For integrations, you can connect the run to other tools via Apify’s API workflow (including exporting/pulling results programmatically). If your pipeline supports automations like Zapier/Make, you can also use those to push dataset rows into your CRM or lead system after the run completes.

***

### Pricing

Youtube Email Scraper runs on Apify, which includes a **free tier** — no credit card needed to start. You’ll typically begin with the free tier credits for a few real test runs, then scale as your workload grows.

For exact costs, see the Apify pricing page, as pricing depends on Actor compute usage rather than per-row markup. Start free at [apify.com](https://apify.com) — scale up when you need to.

***

### Reliability & Limitations

| What We Handle | How |
|---|---|
| Blocked or empty pages | Retries and fallback behavior help continue the run when some pages don’t return results. |
| Proxy variability | Proxy support is available through `proxyConfiguration` for more reliable runs. |
| Email volume caps | `maxEmails` stops collection once the cap is reached to control time and cost. |
| Partial results | Records are pushed to the dataset as they are found, so you keep what was successfully collected. |
| Duplicate prevention | Already-seen emails are tracked so repeated matches are skipped during a run. |
| Dataset push failures | Errors during dataset pushing are logged so you can diagnose issues without silently losing context. |

**Limitations:** This actor extracts emails from publicly available sources, but it cannot guarantee an email will exist for every channel/bio mention. If results are low, broaden your `keywords` and add more `customDomains` to improve coverage. For enterprise-scale needs or custom configurations, reach out and we'll help.

***

### Frequently Asked Questions

#### Can I use this for free?

Yes. Apify offers a free tier so you can run Youtube Email Scraper on small test jobs before scaling up. It’s a great way to validate that your `keywords` and `customDomains` produce the right kind of outreach data.

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

No. This actor is designed to work with publicly accessible information. You only configure inputs and run it from the Apify platform.

#### How accurate is the extracted data?

Accuracy depends on what’s actually published in the relevant YouTube bios and posts found for your keywords. The actor extracts emails that match the domain filters you provide, so the output accuracy is tied to publicly shown email mentions.

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

You control the maximum number of emails collected using `maxEmails`. The scraper stops once the limit is reached, so you can run quick tests or larger bulk youtube email scraper jobs with predictable output volume.

#### How fresh is the data?

The data reflects what is available during the time of your actor run. If you rerun later, you may capture newly published email mentions in bios/posts or improved coverage from broader keyword/domain settings.

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

The actor works with **publicly available data**. Whether you can store or process that data for outreach depends on your use case and local regulations—so it’s your responsibility to comply with GDPR, CCPA, platform terms, and applicable spam rules.

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

Yes. You can export your dataset from the Apify dashboard, and you can then import it into Google Sheets or Excel as needed. (Exact workflow depends on your existing tooling.)

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

Yes. You can run Apify actors on a schedule using Apify’s scheduling capabilities. This is useful for recurring youtube outreach email scraper workflows where you want updated leads over time.

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

Yes. Apify provides API access to run results and datasets so you can automate extraction-to-CRM workflows. This is ideal for developers building custom lead generation email scraper pipelines.

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

If an error happens during dataset pushing, it is logged so you can troubleshoot. For pages that fail or return no results, the actor uses retry and fallback behavior and may stop early when your `maxEmails` cap is reached.

***

### Get Help & Use Responsibly

Got a question about Youtube Email Scraper or a feature you'd like added? Reach out at <dataforleads@gmail.com> — we respond to questions and actively maintain the actor.

For custom keyword targeting ideas or bulk youtube email scraper enhancements, tell us what you’re trying to achieve.\
For this actor, results are based on **publicly available data** from YouTube bios and publicly available sources, and it does not access private accounts, login-gated pages, or password-protected content. You’re responsible for complying with GDPR, CCPA, and 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": "Youtube",
  "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("scrapebridge/youtube-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("scrapebridge/youtube-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 scrapebridge/youtube-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Instant YouTube Email Scraper",
        "description": "YouTube Email Scraper extracts publicly available business emails, channel details, subscriber counts, social links, descriptions, and video metadata from YouTube channels. Ideal for influencer outreach, lead generation, market research, partnerships, and audience analysis.",
        "version": "0.0",
        "x-build-id": "dV7CfRuJ7iI0AHVOY"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapebridge~youtube-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapebridge-youtube-email-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapebridge~youtube-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapebridge-youtube-email-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapebridge~youtube-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapebridge-youtube-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": [
                            "Youtube"
                        ],
                        "type": "string",
                        "description": "Select platform.",
                        "default": "Youtube"
                    },
                    "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
