# Expedia Email Scraper (`solid-scraper/expedia-email-scraper`) Actor

✈️ Expedia Email Scraper extracts business emails from Expedia pages with smart filters—ideal for travel marketing, lead gen, and sales teams. 🚀⚡ Get targeted contacts faster and boost outreach with confidence. 🔎

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

## Pricing

from $1.99 / 1,000 results

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

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

### Expedia Email Scraper 🔍

**Expedia Email Scraper** is an Apify actor that helps you **scrape emails from Expedia profiles** using your chosen keywords and filters. It’s built for teams who need a reliable **Expedia email scraper** workflow—whether you’re building an **Expedia contact email list**, doing **Expedia lead generation email scraper** research, or finding emails for outreach using an **email scraping tool for Expedia**.

Whether you're a marketer, recruiter, or data analyst, this actor helps you extract **emails from publicly available data** tied to Expedia profiles and your specific keyword themes—saving you hours of manual work.

---

### 🚀 Why choose Expedia Email Scraper?

| Feature | Benefit |
|---|---|
| ✅ **Keyword-based scraping** | Finds emails from Expedia bios and posts related to your keywords |
| ✅ **Custom email-domain targeting** | Filters results using your `customDomains` (for example, `@gmail.com`) to focus on the right leads |
| ✅ **Built-in proxy support** | Uses proxy configuration to improve reliability when scraping at scale |
| ✅ **Retries and fallbacks for resilience** | Includes retries and fallbacks to handle pages with no results and resilience issues |
| ✅ **Structured JSON output** | Saves every email finding with consistent fields for easy analysis and exports |
| ✅ **Scale controls (`maxEmails`)** | Lets you cap how many emails to collect to control runtime and costs |

---

### 🔑 Key features

- 📌 **Accurate email targeting**: Extracts email addresses that match your `customDomains` filter
- 🔎 **Keyword-led lead discovery**: Uses your `keywords` to find relevant Expedia bios/posts for “extract emails from Expedia” style campaigns
- 🧩 **Flexible filtering**: Optional `location` filter helps narrow where relevant results come from
- 🛡️ **Proxy configuration support**: Works with your provided `proxyConfiguration` for more dependable scraping
- 🔄 **Resilience-focused logic**: Includes retry logic and stopping conditions when results no longer look productive
- 💾 **Real-time dataset saving**: Pushes each found record immediately so you can export without waiting for the full run
- 📦 **Dataset-ready rows**: Every saved row includes `network`, `keyword`, `title`, `description`, `url`, `email`, and `proxyGroups`

(These capabilities make it a strong **Expedia outreach email scraper** and **Expedia email list builder** for teams that need structured lead data.)

---

### 📝 Input

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

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

#### Input Fields

| Field | Required | Description |
|---|---:|---|
| `keywords` | ✅ | A list of keywords to search for. The scraper uses these to find relevant Expedia profile bios/posts connected to your topics. |
| `location` | ❌ | Location to filter results. Leave empty to search more broadly. |
| `platform` | ❌ | Select platform. This actor supports `"Expedia"` (default: `"Expedia"`). |
| `customDomains` | ❌ | List of custom email domains to keep results relevant (e.g., `["@gmail.com"]`). Emails are filtered to match these domains. |
| `maxEmails` | ❌ | Maximum number of emails to collect. The scraper stops once it reaches this limit (default: `20`). Higher values may take longer and still don’t guarantee you’ll reach the cap. |
| `engine` | ❌ | Choose scraping engine. Options are `"cost-effective"` (Cost Effective (New)) or `"legacy"` (Legacy). |
| `proxyConfiguration` | ❌ | Configure proxies for this Actor. Use this when you want to control proxy behavior for scraping runs. |

***

### 📦 Output

The actor pushes each found email record into the Apify dataset as a JSON row.

Example output:

```json
[
  {
    "network": "Expedia.com",
    "keyword": "founder",
    "title": "Example profile title",
    "description": "Example description text that may include a visible email address",
    "url": "https://www.expedia.com/example-profile",
    "email": "name@gmail.com",
    "proxyGroups": ["GOOGLE_SERP"]
  }
]
```

#### Output Fields

| Field | Type | Description |
|---|---|---|
| `network` | string | The source network label (set to `Expedia.com`). |
| `keyword` | string | The keyword currently being used for extraction (from your `keywords`). |
| `title` | string | Title text associated with the result where the email was found. |
| `description` | string | Description or text content associated with the result (often where the email appears). |
| `url` | string | The URL of the result where the email was found. |
| `email` | string | The extracted email address that matches your `customDomains` filter. |
| `proxyGroups` | array | Proxy groups associated with the run (as saved with each record). |
| `error_message` | ❌ | Not present in the dataset rows pushed by this actor. |

After the run, you can export the dataset to JSON or CSV from the Apify UI.

***

### 🚀 How to use Expedia Email Scraper (via Apify Console)

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

2. **Find the actor**\
   Search for **Expedia Email Scraper** and open the actor page.

3. **Configure the INPUT**\
   In the **INPUT** panel, enter:
   - `keywords` (required)
   - (optional) `customDomains`, `location`, and `maxEmails`
   - (optional) `engine` if you want to switch between `"cost-effective"` and `"legacy"`
   - (optional) `proxyConfiguration` if you want to customize proxy handling

4. **Choose proxy settings (optional but recommended for scale)**\
   If you’re scraping many keyword/domain combinations, configure `proxyConfiguration` to improve reliability.

5. **Run the actor**\
   Click **Run**. During execution, you’ll see logs indicating progress and emails as they are found.

6. **Review results in the OUTPUT tab**\
   Open the dataset that the actor creates and preview the rows (each row includes `email`, `url`, `keyword`, and more).

7. **Export to your workflow**\
   Export the dataset to JSON/CSV and import it into your CRM, spreadsheet, or analysis pipeline.

No coding required—get structured **Expedia contact email list** results in minutes with this **Expedia email scraper**.

***

### ⚙️ Advanced features & SEO optimization

- 🔑 **Engineered for “Expedia email scraper” use cases**: Specifically built to extract emails from Expedia bios/posts related to your `keywords`, making it useful for “extract emails from Expedia” campaigns.
- 🧲 **Domain-focused results**: Use `customDomains` to keep the output aligned with your outreach targeting (e.g., business email patterns like `@gmail.com`).
- 🕒 **Timeout awareness for large runs**: Large searches or high email limits may take longer; for bigger jobs, increase the timeout in Run Options (default mentioned in the actor input description is 3600 s / 1 hr).
- 🔄 **Engine choice for trade-offs**: Switch between `"cost-effective"` and `"legacy"` depending on your needs for speed vs reliability.
- 📌 **Progress saving for resilience**: The actor persists progress during execution so you can resume runs more smoothly if interrupted.

If results seem low, re-run with broader keywords and more related terms or add more domains to `customDomains` to better match your desired leads (useful for an **Expedia lead generation email scraper** pipeline).

***

### 💡 Best use cases

- 📈 **B2B lead generation**: Build a targeted **Expedia contact email list** for sales outreach by focusing on the right email domains with `customDomains`.
- 🎯 **Niche marketing research**: Use **Expedia email address extraction** to identify brands or individuals whose public bios match your keywords.
- 🧾 **CRM enrichment**: Collect emails as structured rows (keyword, title, url, description) and enrich contact records automatically.
- 🕵️ **Competitive intel**: Quickly produce an **Expedia outreach email scraper** report of publicly listed emails tied to specific themes.
- 🧑‍💼 **Recruiting & talent sourcing**: Identify potential candidates associated with roles indicated by your `keywords` for faster outreach lists.
- 🧠 **Data analysis**: Analyze email occurrences by keyword and result context to understand patterns in publicly available Expedia data.
- 🛠️ **Automations & pipelines**: Feed dataset exports into downstream workflows (CSV/JSON import) for repeatable lead generation and reporting.

***

### 🧰 Technical specifications

- **Supported Input Formats**
  - ✅ `keywords`: array of strings (required)
  - ✅ `location`: string (optional)
  - ✅ `customDomains`: array of strings (optional)
  - ✅ `platform`: string with enum value `"Expedia"` (optional; default `"Expedia"`)
  - ✅ `engine`: string enum `"cost-effective"` or `"legacy"` (optional; default `"legacy"`)
  - ✅ `proxyConfiguration`: object (optional)

- **Proxy Support**
  - ✅ Uses the `proxyConfiguration` you provide for scraping reliability
  - ✅ Supports engine-level proxy behavior via `engine` selection

- **Retry Mechanism**
  - ✅ Includes retries and stopping logic when results are empty or unproductive

- **Dataset Structure**
  - ✅ Each found record is pushed to the dataset with:
    `network`, `keyword`, `title`, `description`, `url`, `email`, `proxyGroups`

- **Rate Limits & Performance**
  - ❌ No explicit rate-limit numbers are provided in the source materials
  - ⚠️ Large searches or high `maxEmails` may take longer; increase timeout in Run Options for large jobs (default guidance: 3600 s / 1 hr)

- **Limitations**
  - ❌ Emails are only extracted from publicly available sources and only when they appear in the scraped text content
  - ❌ Setting `maxEmails` higher does not guarantee reaching that number

***

### ❓ FAQ

#### ✅ What does Expedia Email Scraper extract?

✅ It extracts email addresses from publicly available Expedia profile bios/posts that are related to your provided `keywords`, and it filters results using your `customDomains` domains.

#### ✅ How do I target the right email addresses?

Use `customDomains` to specify which email domains you want included (for example, `["@gmail.com"]`). The scraper only keeps emails matching those domains.

#### ❌ Do I need to provide code or URLs?

No—this actor uses input parameters like `keywords`, `location`, and `maxEmails`. You don’t provide profile URLs directly in the schema; you provide search intent via keywords.

#### 💻 Can I integrate the results into my pipeline?

Yes. The actor pushes structured rows into the Apify dataset (JSON rows with fields like `email`, `url`, `keyword`, and `description`). You can export to JSON/CSV and import into your tools.

#### 🔄 Which engine should I choose: `legacy` or `cost-effective`?

Choose `engine` based on your run needs. The input description states that `"cost-effective"` uses residential proxies with async requests for faster, cheaper scraping, while `"legacy"` is described as more reliable but slower and more expensive.

#### 📊 Why are results low?

If results seem low, try re-running with broader keywords and more related terms or add more domains in `customDomains` to improve match rate for the **Expedia email scraper** workflow.

#### ⚖️ Is the data sourced from public pages only?

✅ Yes. The actor collects information only from **publicly accessible sources**. It does not access private profiles or password-protected data.

#### 🌐 Does the actor support proxies?

Yes. You can configure proxies using the `proxyConfiguration` input, and the actor is designed to be more resilient when scraping at scale.

***

### 🤝 Support & feature requests

Have feedback on **Expedia Email Scraper** or want improvements for an **Expedia email harvesting tool** workflow? We’d love to hear from you.

- 💡 **Feature Requests**: For example, request enhanced export options (CSV), additional filtering controls, or improved dataset field coverage for **Expedia email list builder** use cases.
- 📧 **Contact**: Email us at <dataforleads@gmail.com>.

Your feedback helps shape future updates to Expedia Email Scraper.

***

### 🚀 Expedia Email Scraper — final thoughts

*If you want the most practical and SEO-optimized **Expedia Email Scraper** workflow for building outreach-ready email lists, this actor is ready to help.* Configure your `keywords`, set `customDomains`, and collect structured results with minimal effort.

***

### Disclaimer

**This tool accesses publicly accessible sources** only. It does not access private profiles, authenticated data, or password-protected pages.

You are responsible for ensuring your use of the collected data complies with applicable laws and regulations (for example, GDPR/CCPA), spam regulations, and the relevant platform terms of service.

If you need a data removal request, contact us at <dataforleads@gmail.com>. Please use this tool responsibly, ethically, and for legitimate purposes only.

# 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": "Expedia",
  "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("solid-scraper/expedia-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("solid-scraper/expedia-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 solid-scraper/expedia-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Expedia Email Scraper",
        "description": "✈️ Expedia Email Scraper extracts business emails from Expedia pages with smart filters—ideal for travel marketing, lead gen, and sales teams. 🚀⚡ Get targeted contacts faster and boost outreach with confidence. 🔎",
        "version": "0.0",
        "x-build-id": "YUGH2DjlIHo63J1oX"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solid-scraper~expedia-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solid-scraper-expedia-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/solid-scraper~expedia-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solid-scraper-expedia-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/solid-scraper~expedia-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solid-scraper-expedia-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": [
                            "Expedia"
                        ],
                        "type": "string",
                        "description": "Select platform.",
                        "default": "Expedia"
                    },
                    "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
