# Orthopedic Doctors Email Scraper (`contacts-api/orthopedic-doctors-email-scraper`) Actor

Orthopedic doctors email scraper to extract verified orthopedic specialist emails from hospitals, clinics, and healthcare directories 📧🦴 Perfect for healthcare outreach, recruitment, and targeted medical lead generation.

- **URL**: https://apify.com/contacts-api/orthopedic-doctors-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

### 🦴 Orthopedic Doctors Email Scraper — Find Verified Leads in Minutes

> The fastest way to build a targeted orthopedic doctors email list. This actor searches Google Maps for orthopedic practices in any city, crawls their websites, and extracts verified emails, phone numbers, and social profiles — giving you export-ready orthopedic doctors leads in minutes with zero manual work.

---

#### 🚀 Quick Start

1. Enter your search term — e.g., "Orthopedic Doctors"
2. Add one or more target locations — e.g., "New York", "Los Angeles"
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.

---

#### 💡 What Is the Orthopedic Doctors Email Scraper?

The Orthopedic Doctors Email Scraper is a specialized lead generation and contact discovery tool for:

- Medtech and device vendors
- Healthcare staffing and recruiting teams
- B2B sales and marketing agencies
- Researchers and analysts

It combines Google Maps discovery with deep website crawling to extract publicly available contact data and assemble an accurate, deduplicated orthopedic doctors list you can use immediately. Whether you need an orthopedic doctors lead finder, an orthopedic doctors lead scraper, an orthopedic doctors email finder, or a comprehensive orthopedic doctors contact finder — this actor handles all of it in a single automated workflow.

---

#### 📦 What Data Does It Extract?

| Field | Description |
|---|---|
| Business Name | Practice or company 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 orthopedic doctors email addresses extracted from website pages |
| Additional Phones | Extra phone numbers discovered during crawl |
| Social Media Links | Facebook, Instagram, LinkedIn, X/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": "Orthopedic Doctors",
  "googleMapsLocation": ["New York"]
}
````

##### Full Example with All Options

```json
{
  "googleMapsSearchTerm": "Orthopedic Doctors",
  "googleMapsLocation": [
    "New York",
    "Los Angeles, California",
    "Chicago, Illinois"
  ],
  "maxBusinesses": 200,
  "scrapeMaxBusinessesPerLocation": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

##### Input Parameters

| Parameter | Type | Required | Description |
|---|---|---|---|
| `googleMapsSearchTerm` | String | ✅ Yes | Business type or niche to search — e.g., "Orthopedic Doctors", "orthopedic clinic", "sports medicine" |
| `googleMapsLocation` | Array | ✅ Yes | One or more locations — e.g., \["New York", "Miami, Florida"] |
| `maxBusinesses` | Number | ❌ No | Max businesses with emails to return (1–1,000). The run stops when this target is reached |
| `s​crapeMaxBusinessesPerLocation` | Boolean | ❌ No | If true, applies the `maxBusinesses` cap per location; if false, the cap is a combined total |
| `proxyConfiguration` | Object | ❌ No | Proxy settings. Strongly recommended for large runs to avoid rate limiting |

***

#### 📤 Sample Output

```json
[
  {
    "name": "Manhattan Orthopedic Specialists",
    "website": "https://www.manhattanortho-specialists.com",
    "phone": "+1 212-555-0172",
    "full_address": "45 W 54th St, New York, NY 10019, United States",
    "city": "New York",
    "state": "NY",
    "zip": "10019",
    "country_code": "US",
    "scraped_emails": [
      "info@manhattanortho-specialists.com",
      "appointments@manhattanortho-specialists.com"
    ],
    "scraped_phones": ["+1 212-555-0172", "+1 212-555-0144"],
    "scraped_social_media": [
      "linkedin:https://www.linkedin.com/company/manhattan-ortho-specialists",
      "facebook:https://www.facebook.com/ManhattanOrthoSpecialists"
    ],
    "emails_found": 2,
    "pages_scraped": 12,
    "avg_rating": 4.7,
    "total_reviews": 238,
    "lat": 40.7636,
    "long": -73.9776,
    "place_id": "ChIJmG-EXAMPLEID",
    "scrape_status": "success"
  }
]
```

***

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

```
Step 1 → Search Google Maps using your term + location
Step 2 → Collect listing details (name, website, phone, address, rating)
Step 3 → Visit each website and crawl key pages (Home, Contact, About, etc.)
Step 4 → Extract public emails, phone numbers, and social media links
Step 5 → Normalize and deduplicate all contact data
Step 6 → Output clean, structured results for export or API use
```

This pipeline turns discovery and extraction into a single pass, so your orthopedic doctors email scraper workflow runs end‑to‑end with minimal setup.

***

#### ✨ Key Features

##### 🎯 Precise Location Targeting

Pinpoint practices by city, state, or region to build geo-targeted orthopedic doctors leads for local or national campaigns.

##### 🔍 Deep Website Crawl

Goes beyond Google listings to crawl homepages, contact pages, and footers to surface every public orthopedic doctors email and phone number.

##### 🧭 Multi-Query Flexibility

Use broad or niche queries (e.g., "pediatric orthopedics", "sports medicine") and let this orthopedic doctors contact scraper adapt to your strategy.

##### 🧹 Clean, De‑Duplicated Results

Emails are deduplicated per domain, phones normalized, and links standardized — perfect for CRM import without cleanup.

##### 🚦 Smart Halting at Target

Stop automatically once your `maxBusinesses` goal is met — no wasted compute or overages.

##### 🛡️ Proxy-Ready for Scale

Built-in proxy support enables stable, large-scale runs — ideal for agency pipelines or recurring orthopedic doctors leads acquisition.

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

Consistent fields map cleanly into HubSpot, Salesforce, Apollo, and spreadsheets. Use it as your orthopedic doctors data scraper for enrichment.

##### 🔄 Repeatable & Schedulable

Run daily, weekly, or monthly to refresh your orthopedic doctors list and keep contacts up to date.

***

#### 🎯 Use Cases

- B2B Outreach & Sales: Build segmented lists for device demos, surgical equipment pitches, or insurance partnerships using an orthopedic doctors contact finder approach.
- Healthcare Staffing & Recruiting: Identify clinics and hiring managers with a dependable orthopedic doctors lead finder for outbound pipelines.
- Local & Regional Marketing: Launch geo-targeted campaigns with verified orthopedic doctors email and phones.
- Partnership & Referral Networks: Find complementary providers (physical therapy, sports clinics) to expand referral ecosystems with an orthopedic doctors lead scraper.
- CRM Enrichment: Use the orthopedic doctors data scraper mode to fill missing emails, phones, and social links in your existing database.
- Research & Surveys: Compile a regional orthopedic doctors list to support academic studies or market research initiatives.
- Agency Client Delivery: Deliver recurring, clean orthopedic doctors leads to clients on a weekly schedule.

***

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

Output depends on:

- Number and size of locations
- Search term breadth (broad vs. niche)
- Website density and email visibility
- `maxBusinesses` and per-location vs. combined mode
- Proxy configuration and run time

Typical Output Ranges

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

Run multiple campaigns across different regions to grow your orthopedic doctors list continuously.

***

#### 🔌 Integrations & Export Options

When your run completes, you can:

- Download JSON for full structured data
- Export CSV / Excel for spreadsheets
- Pull via the Apify API into your own apps
- Trigger automations with Zapier / Make
- Send results via webhooks to CRMs and pipelines

Plug directly into Instantly, Smartlead, Apollo, HubSpot, Salesforce, or any tool that accepts CSV/JSON imports.

***

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

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

Step 2 — Open the Actor\
Search for orthopedic doctors email scraper in the Apify Store and click Try for free.

Step 3 — Set Your Search Term\
Enter "Orthopedic Doctors" or a niche variant like "sports medicine orthopedic", "pediatric orthopedics".

Step 4 — Add Target Locations\
Add one or more locations — e.g., "New York", "Dallas, Texas".

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

Step 6 — Choose Scaling Strategy

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

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

Step 8 — Run 🚀\
Click Start and let the orthopedic doctors email scraper do the work.

Step 9 — Export\
Download as JSON, CSV, or Excel — or stream via API/webhook into your stack.

***

#### ⚖️ Legal & Compliance

This actor collects only publicly available business contact information — emails and phone numbers published 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 outreach
- Follow applicable laws in your jurisdiction

Relevant regulations:

- GDPR (EU)
- CAN-SPAM Act (US)
- CASL (Canada)
- PECR (UK)

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. It only extracts public, business-facing addresses like info@, admin@, and appointments@.

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

Q: How does it handle duplicates?\
A: Emails are deduplicated per domain and normalized to keep your orthopedic doctors leads clean.

Q: Is proxy usage required?\
A: Not for small tests, but highly recommended for 200+ targets to avoid rate limits and maintain consistency.

Q: Can I use it as an orthopedic doctors email extractor or email finder?\
A: Yes. It functions as both an orthopedic doctors email extractor and an orthopedic doctors email finder by crawling websites for public emails.

Q: Is this an orthopedic doctors contact scraper or contact finder?\
A: Both. It can operate as an orthopedic doctors contact scraper (bulk extraction) and an orthopedic doctors contact finder (targeted lookups).

Q: Can it enrich my existing records?\
A: Absolutely. Use the orthopedic doctors data scraper capability to add missing emails, phones, and social links.

Q: How is this different from manual searching?\
A: Manual search is slow and inconsistent. This actor automates discovery and extraction end-to-end, delivering structured results fast.

Q: Can agencies white-label or resell this?\
A: Yes. Agencies use it as an orthopedic doctors lead finder and orthopedic doctors lead scraper to deliver recurring contact lists for clients.

***

#### 🧑‍💻 Support & Custom Solutions

Have a question, feature request, or need a custom build?

Email: scrapermindapi@gmail.com

We’re happy to help with:

- Custom input/output fields and mapping
- Niche-specific adaptations
- High-volume or enterprise runs
- Integration assistance and automation

Built for marketers, staffing professionals, and outreach teams who need reliable orthopedic doctors leads at scale — fast.

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

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

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Orthopedic Doctors Email Scraper",
        "description": "Orthopedic doctors email scraper to extract verified orthopedic specialist emails from hospitals, clinics, and healthcare directories 📧🦴 Perfect for healthcare outreach, recruitment, and targeted medical lead generation.",
        "version": "1.0",
        "x-build-id": "gWM5UeFvEvMasRLLN"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/contacts-api~orthopedic-doctors-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-contacts-api-orthopedic-doctors-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~orthopedic-doctors-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-contacts-api-orthopedic-doctors-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~orthopedic-doctors-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-contacts-api-orthopedic-doctors-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": "Orthopedic Doctors"
                    },
                    "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
