# Club Email Scraper (`contacts-api/club-email-scraper`) Actor

Club email scraper to extract verified emails from sports clubs, social clubs, fitness clubs, private clubs, associations, and membership organizations 📧🏆 Perfect for B2B outreach, event promotion, partnerships, and club membership lead generation.

- **URL**: https://apify.com/contacts-api/club-email-scraper.md
- **Developed by:** [Lead Heaven](https://apify.com/contacts-api) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

### 🎯 Club Email Scraper — Find Verified Club Contacts In Minutes

> The fastest way to build a targeted club email list. This actor searches Google Maps for clubs and related venues across any city, crawls their websites, and extracts verified club email addresses, phone numbers, and social media profiles — all in one clean, export-ready dataset for qualified club leads.

---

#### 🚀 Quick Start

1. Enter your search term — e.g., "Club", "nightclub", "sports club", "social club"
2. Add one or more target locations — e.g., "New York", "Miami, Florida"
3. Set your desired number of businesses with emails
4. Hit Run and get your results in minutes

No coding required. Export to CSV, JSON, or Excel instantly — perfect when you need a clean club list fast.

---

#### 💡 What Is The Club Email Scraper?

The club email scraper is a purpose-built lead generation and contact discovery tool designed for:

- Nightlife marketers and event promoters
- Membership coordinators and community managers
- Hospitality and venue sales teams
- Agencies and growth operators

It combines Google Maps listing discovery with deep website crawling to extract publicly available contact data — producing an accurate, deduplicated club email list ready for immediate use. Use it as a club lead finder when you need discovery at scale, and as a club lead scraper when you need contact extraction across many domains. It also works great as a club contact finder for teams focused on outreach and partnerships.

Whether you’re building outreach for nightclubs, sports clubs, country clubs, dance clubs, private member clubs, or social clubs — this actor streamlines it end to end.

---

#### 📦 What Data Does It Extract?

| Field | Description |
|---|---|
| Business Name | Venue or club name from Google Maps |
| Website | Official website URL |
| Phone | Primary phone from the listing or website |
| Full Address | Complete address as listed |
| City / State / ZIP | Parsed location components |
| Country Code | ISO country code where available |
| Emails | All public emails extracted from website pages |
| Additional Phones | Extra phone numbers discovered during crawl |
| Social Media Links | Facebook, Instagram, LinkedIn, TikTok, Twitter, and more |
| Email Count | Total unique emails found per business |
| Pages Scraped | Number of website pages crawled per domain |
| Rating | Average Google Maps star rating |
| Reviews | Total number of Google reviews |
| Latitude / Longitude | Geo-coordinates for mapping and filtering |
| Place ID | Google Maps place identifier |
| Scrape Status | Per-record status: success, partial, or error |

---

#### ⚙️ Input Configuration

##### Minimal Example

```json
{
  "googleMapsSearchTerm": "Club",
  "googleMapsLocation": ["New York"],
  "maxBusinesses": 50
}
````

##### Full Example with All Options

```json
{
  "googleMapsSearchTerm": "Club",
  "googleMapsLocation": [
    "New York",
    "Miami, Florida",
    "Los Angeles, California"
  ],
  "maxBusinesses": 200,
  "scrapeMaxBusinessesPerLocation": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

##### Input Parameters

| Parameter | Type | Required | Description |
|---|---|---|---|
| `googleMapsSearchTerm` | String | Yes | Business type to search — e.g., "Club", "nightclub", "sports club" |
| `googleMapsLocation` | Array | Yes | One or more locations — e.g., \["New York", "Austin, Texas"] |
| `maxBusinesses` | Number | No | Max businesses with emails to return (1–1,000). The run stops at this limit |
| `scrapeMaxBusinessesPerLocation` | Boolean | No | If true, applies the cap per location. If false, uses a combined total across all locations |
| `proxyConfiguration` | Object | No | Proxy settings. Strongly recommended for large runs |

***

#### 📤 Sample Output

```json
[
  {
    "name": "Midnight Groove Club",
    "website": "https://www.midnightgrooveclub.com",
    "phone": "+1 212-555-0129",
    "full_address": "123 W 27th St, New York, NY 10001, United States",
    "city": "New York",
    "state": "NY",
    "zip": "10001",
    "country_code": "US",
    "scraped_emails": [
      "info@midnightgrooveclub.com",
      "events@midnightgrooveclub.com"
    ],
    "scraped_phones": ["+1 212-555-0129", "+1 212-555-0192"],
    "scraped_social_media": [
      "facebook:https://facebook.com/midnightgrooveclub",
      "instagram:https://instagram.com/midnightgrooveclub"
    ],
    "emails_found": 2,
    "pages_scraped": 11,
    "avg_rating": 4.6,
    "total_reviews": 384,
    "lat": 40.7461,
    "long": -73.9918,
    "place_id": "ChIJ9-EXAMPLEID",
    "scrape_status": "success"
  }
]
```

***

#### 🔧 How It Works — Under The Hood

Step 1 → Search Google Maps using your term + location\
Step 2 → Collect business listings (name, address, phone, website)\
Step 3 → Visit each website and crawl key pages (Home, Contact, About, Events, Footer)\
Step 4 → Extract public emails, phone numbers, and social media links\
Step 5 → Deduplicate and normalize all contact data\
Step 6 → Return structured results ready for export or API consumption

The pipeline functions as both a discovery engine and a club lead scraper, while also serving as your club email extractor for high-coverage contact collection. In other words, the club email scraper automates the entire journey from finding the right venues to extracting the contacts you can use immediately.

***

#### ✨ Key Features

##### 🎯 Precise Location Targeting

Target any city, state, or region. The actor pinpoints clubs and venues in your exact areas — delivering hyper-local club leads ideal for localized outreach and promotions.

##### 🔍 Deep Website Crawl

Goes beyond the listing. Crawls homepages, contact pages, about pages, event pages, and footers to surface every available public club email and phone number.

##### 🌎 Multi-Location Scaling

Run across dozens of cities at once. Choose a combined cap or a per-location cap — perfect for building a large, multi-market dataset and maintaining a consistent club list strategy.

##### 🧹 Smart De-Duplication

Automatically removes duplicate emails per domain so your list stays clean and accurate — no messy cleanup after export.

##### 📊 Structured, CRM-Ready Output

All results are normalized with consistent field names — making this a reliable club data scraper for direct imports into HubSpot, Salesforce, Apollo, Instantly, or any outreach tool.

##### 🛡️ Proxy-Ready For Reliability

Built-in proxy support enables stable, large-scale runs without rate-limiting or IP blocks — this club contact scraper is engineered for agency-grade reliability.

##### ⏱️ Stop At Your Target

The actor halts as soon as your maxBusinesses limit is reached — no wasted compute, no overage.

##### 🔄 Schedulable & Repeatable

Set it to run daily, weekly, or monthly to continuously refresh your data. Ideal when you use it as a club lead finder to keep your pipeline full.

##### 🔎 Built-In Finder Mode

Need fast discovery? Use the built-in club email finder feature for quick scans before deep crawls.

***

#### 🎯 Use Cases

##### 💼 Nightlife & Event Promotion

Prospect venues for residency pitches, tour stops, and event partnerships. Build targeted campaigns around verified contacts for faster bookings and more responses — and turn those into repeatable club leads.

##### 🏟️ Sports & Fitness Clubs

Identify local sports clubs, gyms with club memberships, and community centers. Use the club lead scraper to pull accurate contacts for sponsorships and collaborations.

##### 🏢 Hospitality & Venues

Country clubs, private member clubs, and lounges often list event managers and booking contacts. The club email finder streamlines outreach for private events, weddings, and corporate bookings.

##### 👥 Membership & Community Growth

Find community and social clubs in your region. Pair the data with a CRM to power campaigns, volunteer drives, or membership drives using a reliable club contact finder.

##### 🤝 Partnerships & Sponsorships

Brands, agencies, and promoters can discover new venues for co-marketing and sponsorships. Build a segmented club list aligned to your campaign goals.

##### 🧑‍💼 Agencies & Lead Gen Services

Run repeatable scrapes for clients across multiple cities. Use it as your in-house club lead finder to deliver verified datasets on schedule.

***

#### 📈 How Many Results Can You Get?

Scale from a small prospect list to a region-wide database — results depend on:

- Number of locations added
- Search term breadth (niche vs. broad categories like "club" or "nightclub")
- Website density and email visibility in each market
- maxBusinesses setting and per-location vs. combined mode
- Proxy configuration and run timeout

Typical Output Ranges:

- Small (1–3 cities): 20–100 venues with emails
- Medium (5–15 cities): 200–600 venues with emails
- Large (20+ cities/states): 800–1,000+ per run

Run multiple times across different regions to continuously grow your club list without hitting hard platform limits.

***

#### 🔌 Integrations & Export Options

Once your run completes, you can:

- JSON: Full structured data download
- CSV / Excel: Import directly into spreadsheets
- Apify API: Stream results into your own apps or workflows
- Zapier / Make: Trigger automations when new results land
- Webhooks: Push results into your CRM or pipeline on run completion

Pipe results from the club data scraper straight into Instantly, Smartlead, Apollo, HubSpot, Salesforce, or any platform that accepts CSV/JSON imports.

***

#### 🛠️ Step-By-Step Usage Guide

Step 1 — Log In To Apify\
Create a free account or sign in at apify.com.

Step 2 — Open The Actor\
Search for "Club Email Scraper" in the Apify Store and click Try for free.

Step 3 — Set Your Search Term\
Enter "Club" or a niche variant like "nightclub", "dance club", "sports club", "country club", or "social club".

Step 4 — Add Target Locations\
Enter one or more city/state combos — e.g., "New York", "Austin, Texas".

Step 5 — Set Your Limit\
Choose how many businesses with emails you want — 20 for a quick test, up to 1,000 for a full campaign.

Step 6 — Choose Scaling Strategy

- Combined cap: The total across all locations combined
- Per-location cap: Applies your limit independently to each city

Step 7 — Enable Proxies\
Turn on Apify Proxy for stable, uninterrupted crawling at scale.

Step 8 — Run 🚀\
Click Start and let the Club Email Scraper do the work.

Step 9 — Export\
Download as JSON, CSV, or Excel — or pull via API straight into your stack.

***

#### ⚖️ Legal & Compliance

This actor collects only publicly available business contact information — emails and phone numbers published openly on websites.

Best practices to stay compliant:

- Only use publicly visible contact data
- Do not bypass login walls or paywalls
- Respect each website's robots.txt and Terms of Service
- Include an unsubscribe option in all outreach
- Follow applicable laws in your jurisdiction

Relevant regulations to be aware of:

- GDPR (European Union)
- CAN-SPAM Act (United States)
- CASL (Canada)
- PECR (United Kingdom)

This tool is intended for ethical business prospecting only. You are responsible for how you use the data collected.

***

#### ❓ Frequently Asked Questions

Q: Does this scrape private or personal emails?\
A: No. The actor only extracts emails that are publicly visible on business websites — booking inboxes, admin contacts, and general inquiry addresses. The club contact scraper is designed for public data only.

Q: Can I search multiple cities in one run?\
A: Yes. Add as many locations as needed. Use per-location capping for even geographic distribution across markets.

Q: Does it deduplicate results?\
A: Yes. Emails are deduplicated per domain to keep your data clean and accurate for outreach.

Q: Can I schedule recurring runs?\
A: Absolutely. Use Apify’s built-in scheduler to run weekly or monthly and keep your pipeline fresh.

Q: Can this be used as a "finder" instead of a deep crawl?\
A: Yes. It can be used as a quick club email finder for fast scans, or you can run deeper crawls for maximum coverage.

Q: Is it also an extractor?\
A: Yes. Beyond discovery, it acts as a robust club email extractor when you need to pull every accessible contact from a venue’s website.

Q: What types of clubs does it work for?\
A: Any Google Maps searchable term — try "nightclub", "dance club", "sports club", "country club", "private members club", or "social club".

Q: Are proxies required?\
A: Not for small runs, but strongly recommended for 200+ businesses to avoid rate limits and ensure consistent throughput.

Q: How is this different from manual Google searching?\
A: Manual search is slow and inconsistent. This automated club contact finder discovers venues, crawls their sites, and extracts contacts — turning hours of work into minutes.

Q: What export formats are available?\
A: JSON, CSV, and Excel. You can also consume results via the Apify API or webhook.

***

#### 🧑‍💻 Support & Custom Solutions

For any help or custom solution, contact via this mail: scrapermindapi@gmail.com

# Actor input Schema

## `googleMapsSearchTerm` (type: `string`):

Enter the business type or niche for email scraper (e.g., 'coffee shops', 'dentists').

## `googleMapsLocation` (type: `array`):

Target geographic location for the email scraper (e.g., 'Miami, Florida').

## `maxBusinesses` (type: `integer`):

Target number of businesses to find (1-1000). The scraper will stop when this target is reached.

## `scrapeMaxBusinessesPerLocation` (type: `boolean`):

If enabled, the scraper will collect up to `maxBusinesses` results per location. If disabled, it combines all locations up to a single total limit.

## `proxyConfiguration` (type: `object`):

Proxy settings for scraping. Recommended for large-scale scraping.

## Actor input object example

```json
{
  "googleMapsSearchTerm": "Club",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "scrapeMaxBusinessesPerLocation": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "googleMapsSearchTerm": "Club",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("contacts-api/club-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 = {
    "googleMapsSearchTerm": "Club",
    "googleMapsLocation": ["New York"],
    "maxBusinesses": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("contacts-api/club-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 '{
  "googleMapsSearchTerm": "Club",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call contacts-api/club-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Club Email Scraper",
        "description": "Club email scraper to extract verified emails from sports clubs, social clubs, fitness clubs, private clubs, associations, and membership organizations 📧🏆 Perfect for B2B outreach, event promotion, partnerships, and club membership lead generation.",
        "version": "1.0",
        "x-build-id": "vHtyhEbUP2iTZcD79"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/contacts-api~club-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-contacts-api-club-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/contacts-api~club-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-contacts-api-club-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/contacts-api~club-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-contacts-api-club-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": [
                    "googleMapsLocation",
                    "googleMapsSearchTerm"
                ],
                "properties": {
                    "googleMapsSearchTerm": {
                        "title": "Search Term",
                        "type": "string",
                        "description": "Enter the business type or niche for email scraper (e.g., 'coffee shops', 'dentists').",
                        "default": "Club"
                    },
                    "googleMapsLocation": {
                        "title": "Location",
                        "type": "array",
                        "description": "Target geographic location for the email scraper (e.g., 'Miami, Florida').",
                        "default": [
                            "New York"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxBusinesses": {
                        "title": "Maximum Businesses With Emails",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Target number of businesses to find (1-1000). The scraper will stop when this target is reached.",
                        "default": 5
                    },
                    "scrapeMaxBusinessesPerLocation": {
                        "title": "Scrape Max Businesses Per Location",
                        "type": "boolean",
                        "description": "If enabled, the scraper will collect up to `maxBusinesses` results per location. If disabled, it combines all locations up to a single total limit.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings for scraping. Recommended for large-scale scraping."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
