# Twitter (X) Email Scraper (`scrapevanta/twitter-email-scraper`) Actor

Twitter (X) Email Scraper extracts publicly available email addresses and contact details from X (Twitter) profiles at scale. Collect emails, usernames, bios, follower counts, website links, and profile data for lead generation, outreach, recruitment, sales prospecting, and market research.

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

## Pricing

from $5.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

### Twitter Email Scraper ⚡

Trying to find valid business emails from Twitter leads you to guesswork, manual copy-pasting, and dead ends. **Twitter Email Scraper** automates bulk email collection from publicly available Twitter profile content using your keywords and email-domain filters. It’s a **Twitter email scraper** built for lead generation, outbound, and research teams. This Twitter user email finder is ideal for sales teams, marketers, and analysts who need contact data quickly—without spending days searching one profile at a time. In a single run, you can collect up to your **maxEmails** target (default 20) and stop automatically when you reach the limit.

---

### See the Data: Sample Output

Here's a real record from a single run:

```json
{
  "network": "Twitter.com",
  "keyword": "founder",
  "title": "Founder & marketer",
  "description": "Building SaaS. Contact: hello@gmail.com",
  "url": "https://example.com/some-twitter-page",
  "email": "hello@gmail.com",
  "proxyGroups": ["GOOGLE_SERP"],
  "status": "success",
  "error_message": null
}
````

| Field | Type | What It Tells You |
|---|---|---|
| `network` | string | The source network for the record (`Twitter.com`). |
| `keyword` | string | Which keyword drove the match, so you can segment lead lists. |
| `title` | string | The result title associated with the email source page. |
| `description` | string | The snippet text where the email was detected (useful for review and context). |
| `url` | string | The page URL where the match was found—helpful for validation. |
| `email` | string | The extracted email address you can use for outreach. |
| `proxyGroups` | array | Proxy grouping info used during scraping (useful for debugging and transparency). |
| `status` | string | Indicates whether the run produced the expected output for a record (success/error handling). |
| `error_message` | string | Error details when something goes wrong; `null` when no error occurred. |
| `progress cursor` | object | Not stored in each row, but used internally to resume scraping without starting over. |
| `seen_emails` | array | Not stored in each row, but internally prevents returning duplicate emails. |

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": "Twitter",
  "customDomains": ["@gmail.com", "@company.com"],
  "maxEmails": 50,
  "engine": "legacy",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

| Parameter | Required | What It Does |
|---|---|---|
| `keywords` | ✅ | A list of keywords to search for when scraping Twitter-related public pages for matching emails. |
| `location` | ⬜ | Filters results by a location string to help narrow the audience. |
| `platform` | ⬜ | Selects the platform to scrape; this actor supports `Twitter`. |
| `customDomains` | ⬜ | Limits extracted emails to specific domains (for example, `@gmail.com`) to improve targeting. |
| `maxEmails` | ⬜ | Caps how many emails to collect before the scraper stops (default is 20). |
| `engine` | ⬜ | Chooses the scraping engine variant (`cost-effective` or `legacy`) depending on speed/cost tradeoffs. |
| `proxyConfiguration` | ⬜ | Sets up proxy behavior for this Actor run (useful for reliability on larger jobs). |
| ↳ `proxyConfiguration.proxy support` | ⬜ | Routes requests through Apify Proxy for better reliability. |

***

### What It Does

Twitter Email Scraper scrapes emails from publicly available Twitter-related sources using the keywords and domains you provide.

#### Keyword-driven email discovery

You provide `keywords` (like “founder” and “marketing”), and the actor searches for matches that surface email addresses associated with those themes. This makes it a practical Twitter leads email scraper when you want targeted outreach instead of random scraping.

#### Email-domain targeting for better lead lists

Use `customDomains` to constrain results to the email domains you care about (for example `@gmail.com` or `@company.com`). This helps the Twitter email scraper focus on contact emails that are most likely to match your outreach strategy.

#### Bulk-friendly collection with a hard cap

Set `maxEmails` to control how many unique emails you want in a run. The actor stops once your limit is reached (and it also avoids returning duplicates via internal tracking).

#### Clean, integration-ready output rows

Each found contact is pushed to your Apify dataset as a structured JSON record that includes `network`, `keyword`, `title`, `description`, `url`, `email`, and `proxyGroups`. That makes the Twitter contact email scraper output easy to import into CRMs, spreadsheets, or downstream analytics.

#### Resilient scraping with progress saving

The actor maintains internal progress so you can keep long runs from starting completely over if interrupted. It also includes retry and fallback behavior for blocked/empty-result pages, improving reliability when scraping at scale.

Overall, Twitter Email Scraper helps you extract emails from Twitter-linked public content quickly and in a format you can use right away.

***

### Why Twitter Email Scraper?

There are plenty of ways to pull data from Twitter—but here’s why Twitter Email Scraper stands out.

#### Built for outreach-ready targeting

By combining `keywords` with `customDomains`, Twitter Email Scraper can act like a Twitter user email finder that’s aligned to your ICP instead of collecting every address it can find.

#### Practical speed control for bulk scraping

The `maxEmails` cap gives you a clear “stop point,” so automated Twitter outreach email scraping doesn’t run endlessly. For larger jobs, you can also adjust run options in Apify to allow more time.

#### Strong output consistency for downstream use

Every pushed result follows the same record structure (including `email`, `url`, and `description`). That consistency makes it easier to build pipelines on top of a Twitter profile email extractor dataset.

***

### Real-World Use Cases

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

**Sales Teams**\
A sales leader needs business emails for founders and marketers in a specific region. They run Twitter Email Scraper with focused `keywords` and company/email-domain filters, then import the resulting `email` + `url` pairs straight into their outreach workflow—saving hours of manual searching per lead batch.

**Marketing Agencies**\
An agency pitching inbound partnerships wants leads tied to certain niches, not generic contacts. They use the Twitter email scraper to collect emails from Twitter-related public bios and posts connected to their keyword set, then build segmented lists by keyword for faster campaign execution.

**Freelance Researchers**\
A researcher working on a market study needs contactable leads for follow-up interviews. They run the Twitter contact info scraper with narrow domains and review the `description` snippet context and `url` for each match before sharing the dataset with clients.

**Outreach Automation Specialists**\
A developer building a lead pipeline wants structured output rather than unstructured notes. They schedule or trigger runs via Apify, then push the extracted `email` rows into their system, using the stable JSON fields from Twitter Email Scraper as the ingestion schema.

**Data Analysts**\
An analyst wants to quantify which email domains appear most often for specific Twitter themes. They run automated Twitter email mining tool jobs using domain filters, then aggregate results in a spreadsheet using `keyword`, `email`, and `url` for validation samples.

***

### 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 [console.apify.com](https://console.apify.com) and open the Twitter Email Scraper actor page.
2. **Enter your inputs** — set `keywords` (required), and optionally `location`, `customDomains`, and `maxEmails`.
3. **Pick your engine and proxy settings** — choose `engine` (`cost-effective` or `legacy`) and configure `proxyConfiguration` if you want improved reliability.
4. **Start the run** — launch and watch the live log as results are collected.
5. **Open the Dataset tab** — check records as they appear, including `email` and the `url` where it was found.
6. **Export your data** — download from the Apify dashboard in your preferred format (JSON, CSV, or Excel).
7. **Adjust and re-run if needed** — if results are sparse, broaden keywords or add more domains in `customDomains`.

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

***

### Export & Integration Options

Once your data is collected, Twitter Email Scraper fits directly into your existing workflow.

You can export the Apify dataset as **JSON, CSV, or Excel** from the dataset tab in the Apify UI. If your team uses tools like **Google Sheets** or **Airtable**, you can typically move data over using Apify’s built-in dataset integrations and connectors, or via no-code automation.

For developers, you can access results programmatically through the **Apify API**. You can also use **webhooks** and **Zapier / Make** to push fresh Twitter email scraper outputs into CRMs, spreadsheets, and outreach platforms automatically.

***

### Pricing

Twitter Email Scraper runs on Apify, which includes a **free tier** — no credit card needed to start. Free tier includes **$5 platform credits on sign-up**, which is enough for several real test runs. After that, your runs are billed per Actor compute unit (CU) based on the workload, with **no monthly fee lock-in**. Start free at [apify.com](https://apify.com) — scale up when you need to collect more Twitter leads email scraper data.

***

### Reliability & Limitations

| What We Handle | How |
|---|---|
| Proxy-based reliability | Built-in proxy support for more consistent scraping on larger jobs. |
| Blocking and empty results | Includes retries and fallbacks for resilience when pages don’t return expected content. |
| Duplicate prevention | Deduplicates internally so you don’t keep getting the same email repeatedly. |
| Run progress | Progress is saved so interrupted runs can resume with less wasted work. |
| Output structure | Each result is pushed to your dataset with consistent fields like `email` and `url`. |
| Workload control | `maxEmails` helps you cap results to manage runtime and cost. |

**Limitations:** Twitter Email Scraper relies on what’s available on public web content and email addresses published in those sources. It can’t extract emails that aren’t present publicly, and results may vary depending on how well targets include contact emails in their bios or posts. For enterprise-scale needs or custom configurations, reach out and we'll help.

***

### Frequently Asked Questions

#### Is there a free plan?

Yes. Apify offers a free tier with initial platform credits, which is typically enough to validate results for smaller Twitter email scraping experiments.

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

No. This actor is designed to work with publicly available data, so it doesn’t require a Twitter login.

#### How accurate is the extracted data?

Accuracy depends on what the source content actually contains. Twitter Email Scraper extracts email addresses found in publicly available snippets and bios tied to your `keywords` and `customDomains`.

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

You control that with `maxEmails` (minimum 1, maximum 10000; default 20). The scraper stops once your limit is reached, so you can run quick tests or larger batch jobs.

#### How fresh is the data?

The actor collects data at run time from publicly available pages, so freshness depends on when those pages were last updated. If you need the newest info, re-run at the time of your campaign.

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

Yes, as long as you use it responsibly with publicly available data and follow applicable laws and platform rules. It’s still your responsibility to comply with GDPR, CCPA, spam regulations, and Twitter’s Terms of Service when storing and using the extracted email addresses.

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

Yes. You can export your dataset from the Apify dashboard, and you can also connect your dataset to other tools (for example, via Zapier or integrations) to land it in Google Sheets or Excel-ready formats.

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

Yes. On Apify you can schedule runs on a cron schedule, so Twitter email scraper jobs can run automatically for ongoing lead sourcing.

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

Yes. Apify supports programmatic access via the Apify API, which lets you pull dataset results into your own pipelines.

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

When errors occur, the actor includes retry behavior for resilient scraping and saves progress so you don’t lose all work. Any failures will typically affect which records are produced for that run, but the dataset writing and progress saving are designed to keep runs practical.

***

### Get Help & Use Responsibly

Got a question about Twitter Email Scraper or a feature you'd like added? Reach out and we’ll help—reply with what you’re trying to scrape and how you want the output structured. You can contact us at <dataforleads@gmail.com>. We’re actively maintained and we love feedback—ideas like additional domain filters, more robust segmentation by keyword, or better dataset-friendly exports are welcome.

**This actor collects publicly available data** only. It does not access private accounts, login-gated pages, or password-protected content. You are responsible for complying with GDPR, CCPA, spam regulations, and Twitter’s 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": "Twitter",
  "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("scrapevanta/twitter-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("scrapevanta/twitter-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 scrapevanta/twitter-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Twitter (X) Email Scraper",
        "description": "Twitter (X) Email Scraper extracts publicly available email addresses and contact details from X (Twitter) profiles at scale. Collect emails, usernames, bios, follower counts, website links, and profile data for lead generation, outreach, recruitment, sales prospecting, and market research.",
        "version": "0.0",
        "x-build-id": "97h1JKcijhTWBTpJ6"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapevanta~twitter-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapevanta-twitter-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/scrapevanta~twitter-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapevanta-twitter-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/scrapevanta~twitter-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapevanta-twitter-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": [
                            "Twitter"
                        ],
                        "type": "string",
                        "description": "Select platform.",
                        "default": "Twitter"
                    },
                    "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
