# Facebook Email Scraper (`scrapeflux/facebook-email-scraper`) Actor

Facebook Email Scraper extracts publicly available email addresses and contact details from Facebook pages and business profiles. Collect emails, phone numbers, websites, addresses, page data, and business information for lead generation, outreach, sales prospecting, and market research.

- **URL**: https://apify.com/scrapeflux/facebook-email-scraper.md
- **Developed by:** [ScrapeFlux](https://apify.com/scrapeflux) (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 $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

### Facebook Email Scraper ⚡

If you’re trying to build a targeted lead list, manually digging through Facebook profiles one by one is slow and inconsistent. **Facebook Email Scraper** helps you scrape email addresses from public Facebook sources using your keywords and custom email-domain filters. It’s a practical Facebook email scraper tool for outreach and list building, especially for sales teams, researchers, and marketers. Use it to quickly turn public Facebook email mentions into a structured dataset you can export and act on.

---

### See the Data: Sample Output

Here's a real record from a single run:

```json
{
  "network": "Facebook.com",
  "keyword": "marketing",
  "title": "Example profile title",
  "description": "Example snippet text that may include an email address such as hello@gmail.com",
  "url": "https://example.com/some-public-page",
  "email": "hello@gmail.com",
  "proxyGroups": ["legacy"],
  "status": "success"
}
````

**Output Fields (what this actor returns to the dataset):**

| Field | Type | What It Tells You |
|---|---|---|
| `network` | string | Confirms the source network the email was found in (always `Facebook.com`). |
| `keyword` | string | The keyword that was used for this search batch. Useful for tracking what drove the result. |
| `title` | string | The title associated with the matched public result. Helpful for context during review. |
| `description` | string | The text snippet where the email address was detected. Great for validation and audit trails. |
| `url` | string | The public URL tied to the result so you can open and verify if needed. |
| `email` | string | The extracted email address that you can use for outreach or enrichment. |
| `proxyGroups` | array | Proxy configuration value(s) used for the run (as provided to the actor). Helpful for debugging consistency. |
| `status` | string | Indicates whether the record was successfully pushed (see note in FAQs about error handling). |
| `error_message` | string | null | Present only when an error occurs for a run item (see the FAQ for details). |
| `charged_event_name` | string | The push event label used when writing results to the dataset (internal event name used by the actor). |

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

| Parameter | Required | What It Does |
|---|---:|---|
| `keywords` | ✅ | List of keywords to search for (the scraper uses these to target relevant Facebook bios and posts). |
| `location` | ⬜ | Filters search results by a location string to narrow down where the matches come from. |
| `platform` | ⬜ | Selects the platform. For this actor, the only available option is `Facebook`. |
| `customDomains` | ⬜ | Limits results to specific email domains (examples: `@gmail.com`). Helps improve lead targeting. |
| `maxEmails` | ⬜ | Stops the run after reaching this maximum number of emails collected (it won’t guarantee you’ll hit the number). |
| `engine` | ⬜ | Chooses the scraping engine. The only supported value in the schema is `legacy`. |
| `proxyConfiguration` | ⬜ | Configure proxies for the run to improve reliability on large requests. |
| ↳ `proxy support` | ⬜ | When enabled, routes requests through Apify Proxy (high-level proxy setting for better reliability). |

***

### What It Does

Facebook Email Scraper scrapes emails from publicly available Facebook sources and outputs structured records into your Apify dataset.

#### Keyword-driven Facebook email discovery

You provide `keywords`, and the actor targets email addresses that appear in Facebook bios and posts related to your keyword set. This lets you build a “Facebook lead scraper emails” dataset that’s already conceptually filtered by theme and intent.

#### Domain filtering for better outreach targeting

With `customDomains`, you can restrict results to the email domains you care about (for example, `@gmail.com` or company domains). This is ideal when you need a “public Facebook email finder” approach that avoids unrelated addresses.

#### Clean, integration-ready output for analysis and outreach

Every match is pushed with consistent fields like `email`, `url`, `title`, and `description`, plus context like the triggering `keyword`. That makes it easy to load into a CRM, run deduplication, or feed downstream enrichment workflows—whether you’re using a “Facebook contact email scraper” process manually or as part of automation.

#### Built-in resilience for longer runs

The actor includes logic for handling empty or blocked result pages and uses progress persistence so you can continue without losing captured work. This helps when you run bigger keyword batches for a “Facebook email list builder” workflow.

#### Stops at your requested cap (without wasting compute)

The scraper uses `maxEmails` to decide when to stop collecting. That gives you a clear budget control mechanism for “scrape Facebook emails” runs where costs and turnaround time matter.

Overall, Facebook Email Scraper turns public Facebook mentions into a usable email dataset quickly—built for lead generation, research, and bulk outreach.

***

### Why Facebook Email Scraper?

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

#### Structured output that’s ready for outreach workflows

Instead of messy spreadsheets, Facebook Email Scraper pushes structured records with `email`, the matching `url`, and supporting `description` text. This makes it easier to validate, segment, and import into your lead tooling.

#### Domain controls that reduce noise

By letting you filter via `customDomains`, the Facebook email extraction software approach becomes more selective. That means your “Facebook email harvesting software” output is more likely to match the audience you actually want.

#### Designed for bulk keyword runs

The actor is built to work across multiple keywords and to stop at a clear `maxEmails` limit. If you’re building a “Facebook email scraper chrome extension” style workflow (but at scale), this helps you generate results without manual copy-paste.

***

### Real-World Use Cases

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

**Sales Teams**\
A sales manager needs fast contact leads for a new outbound campaign. They run Facebook Email Scraper with role-relevant keywords and restrict to specific domains, then export the dataset for CRM import. The team spends less time hunting and more time personalizing outreach.

**Marketing Agencies**\
An agency working on multiple client niches uses keyword batches to find relevant public profiles and extract email addresses mentioned in bios and posts. They filter by domains per client and then deliver a cleaned email list for campaign activation. The result is a more accurate “Facebook lead scraper emails” deliverable with supporting URLs.

**Freelance Researchers**\
A freelancer compiling public contact data for a report needs traceability. They use the `url`, `title`, and `description` fields to verify context and produce a dataset that’s easier to audit and cite. This is a practical “public Facebook email finder” workflow for research deliverables.

**Automation & Integration Specialists**\
A data engineer runs Facebook Email Scraper on a schedule and pushes results into their pipeline for deduplication and enrichment. Because the actor writes consistent records to the dataset, it’s straightforward to automate downstream steps without custom scraping logic.

**Community & Partnerships Teams**\
A partnerships lead searches for relevant creators or businesses using targeted keywords and domain filters. They export the dataset and then reach out using contacts pulled from public Facebook sources, accelerating the first-touch phase.

***

### How to Run It

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

1. **Open the actor page on Apify**\
   Go to the actor in Apify and find the Inputs section: `console.apify.com`.

2. **Enter your keywords**\
   Add your target terms in `keywords` (this field is required).

3. **Optionally set location and domains**\
   Use `location` to narrow results, and `customDomains` to focus on the email addresses you want.

4. **Set your result cap**\
   Choose `maxEmails` to control how many email addresses you collect in this run.

5. **Configure proxy settings (optional but recommended for larger runs)**\
   Use `proxyConfiguration` to improve reliability, especially when scraping at larger scale.

6. **Start the run and watch the live log**\
   The run will write results as they are found.

7. **Open the Dataset tab and export**\
   Export your results from the dataset tab in your preferred format (JSON, CSV, or Excel).

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

***

### Export & Integration Options

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

You can export your dataset from the Apify dashboard in common formats like JSON, CSV, or Excel. For teams building a “Facebook email list builder” pipeline, this makes it easy to move from scrape → clean → outreach.

You can also connect the actor to your automation stack using Apify’s API-driven execution, integrations like Zapier / Make, and webhooks to trigger downstream tasks when a run completes. If you prefer fully controlled systems, you can pull results programmatically via the Apify API and store them in your database.

***

### Pricing

Facebook Email Scraper runs on Apify, which includes a **free tier** — no credit card needed to start. Free tier access provides `$5` platform credits on sign-up, enough for several real test runs. For heavier workloads, you can scale using Apify’s pay-as-you-go compute model and choose the plan best suited to your throughput needs. No per-row markup—your costs are based on platform compute.

Start free at [apify.com](https://apify.com) — scale up when you need to.

***

### Reliability & Limitations

| What We Handle | How |
|---|---|
| Public data availability | The actor focuses on publicly available sources where emails appear in Facebook bios and posts related to your keywords. |
| Larger runs | Includes logic intended to keep pagination moving and stop safely at `maxEmails`. |
| Resilience | Has retry and fallback behavior for empty/blocked result pages and continues writing results during a run. |
| Progress persistence | Persists progress so you don’t lose all captured work if a run stops. |
| Structured failures | Results are written as records pushed to the dataset; when something fails, errors are surfaced in the run context. |

Limitations: The actor can only work with publicly accessible information. If profiles don’t contain emails in the relevant public bios/posts, you should expect fewer results even when keywords are correct. For needs beyond public scraping (for example, private/login-gated access), this actor is not designed for that.

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 credits that are enough for several real test runs, so you can validate results before scaling up.

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

No login is required for this actor. It scrapes from publicly available data where emails appear in relevant Facebook bios and posts.

#### How accurate is the extracted data?

Accuracy depends on what’s actually published in the public bio or post text where emails appear. Facebook Email Scraper extracts email addresses that match the domain filters you provide and returns them with supporting context like `description` and `url`.

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

You control the maximum number of emails via `maxEmails`. The actor stops once it reaches the cap, but there’s no guarantee it will always reach that number if fewer matching public emails exist.

#### How fresh is the data?

Freshness depends on what’s currently visible on public Facebook pages at the time of the run. If you run again later with similar keywords, you may find new emails that were published since your previous run.

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

The actor is intended to collect **publicly available data**. Whether it complies with GDPR, CCPA, and applicable platform rules depends on how you use, store, and process the data—so it’s your responsibility to ensure you follow the law and platform terms.

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

Yes. You can export your dataset from the Apify dashboard as JSON, CSV, or Excel. From there, it’s straightforward to import into Google Sheets or other spreadsheet tools.

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

Yes. You can schedule runs using Apify’s scheduled actor execution options (via the Apify platform tooling). This is useful for ongoing “Facebook email scraper tool” monitoring with recurring keyword sets.

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

Yes. Apify runs can be integrated via the Apify API, so you can programmatically retrieve dataset results and feed them into your systems.

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

If something fails mid-run, already pushed results remain in your dataset. The actor also persists progress during execution so you can avoid starting over completely, and it reports issues through the run logs.

***

### Get Help & Use Responsibly

Got a question about Facebook Email Scraper or a feature you'd like added? Reach out at <dataforleads@gmail.com> — we respond quickly and actively maintain this actor based on user feedback. Tell us what you’re trying to build (for example, “Facebook group email scraper” workflows or “Facebook messenger email scraper” related use cases) and we’ll do our best to help.

***

**Disclaimer:** This actor collects **publicly available data** from Facebook pages. It does not access private profiles, login-gated pages, or password-protected content. Users are responsible for complying with GDPR, CCPA, platform Terms of Service, and any applicable local regulations. 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": "Facebook",
  "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("scrapeflux/facebook-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("scrapeflux/facebook-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 scrapeflux/facebook-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Facebook Email Scraper",
        "description": "Facebook Email Scraper extracts publicly available email addresses and contact details from Facebook pages and business profiles. Collect emails, phone numbers, websites, addresses, page data, and business information for lead generation, outreach, sales prospecting, and market research.",
        "version": "0.0",
        "x-build-id": "UdRIkOXc4arSYr4bb"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapeflux~facebook-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapeflux-facebook-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/scrapeflux~facebook-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapeflux-facebook-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/scrapeflux~facebook-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapeflux-facebook-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": [
                            "Facebook"
                        ],
                        "type": "string",
                        "description": "Select platform.",
                        "default": "Facebook"
                    },
                    "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": [
                            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
