# MindBody Fitness Studio Scraper (`jungle_synthesizer/mindbody-fitness-studio-scraper`) Actor

Extract fitness, wellness, and beauty studios from MindBody's consumer marketplace — ~70k studios globally. Search by city/zip/coords. Filter by category (Yoga, Pilates, CrossFit, Spa, etc.). Returns name, address, phone, modalities, amenities, rating, intro pricing.

- **URL**: https://apify.com/jungle\_synthesizer/mindbody-fitness-studio-scraper.md
- **Developed by:** [BowTiedRaccoon](https://apify.com/jungle_synthesizer) (community)
- **Categories:** Lead generation, Business, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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

## MindBody Fitness Studio Scraper

Scrapes fitness, wellness, and beauty studios from [MindBody](https://www.mindbody.io/explore) — the consumer marketplace powering roughly 70,000 studios globally. Returns full studio profiles, pricing on intro offers, and the booking-page URL, all in flat JSON ready for a CRM.

---

### MindBody Fitness Studio Scraper Features

- Searches by city, zip, or direct lat/lon coordinates.
- Filters by category type (Fitness, Beauty, Wellness) and by specific modality — Yoga, Pilates, Barre, CrossFit, Martial Arts, Dance, Cycling, Spa, and a couple dozen more.
- Returns 30+ fields per studio. Address, phone, geocoordinates, modalities, amenities, owner-identity flags, ratings, gallery images, intro pricing — the things you'd actually use, plus a few you didn't know to ask for.
- Hits MindBody's public discovery JSON API directly. No browser, no proxies, no auth tokens.
- Bulk-pulls intro offers and matches them to studios in the same call. Class pricing is a high-signal lead-gen field that most competitors skip.
- Configurable radius, up to 100 miles. Default 25 mi.

---

### Who Uses MindBody Studio Data?

- **B2B SaaS sales teams** — payment processors, scheduling alternatives, and payroll vendors prospecting fitness/wellness SMBs.
- **Equipment dropshippers** — filter by amenity flags (showers, parking) or modality (CrossFit, Boxing) and call studios actually buying gear.
- **Class-pass-style marketplaces** — build a coverage map before launch, with intro pricing already attached.
- **Insurance brokers** — fitness studios are a known underwriting niche; this gives you the contact set in one run.
- **Market research and M&A** — count yoga studios in a metro, segment by modality, track openings and closures over time.
- **Local marketing agencies** — pitch the 200 boutique studios in your city without scraping them by hand like it's 2009.

---

### How MindBody Fitness Studio Scraper Works

1. Pick a location. A free-text city or zip works ("New York, NY", "90210"), or supply latitude and longitude directly to skip the geocode step.
2. Choose the categories. Fitness, Beauty, Wellness, or any combination — narrow further to a specific modality if you want only yoga studios, only barre, only spas.
3. The scraper resolves your location, paginates MindBody's discovery API, and pulls intro-offer pricing for the same radius in a single bulk call.
4. Records stream into the dataset as flat JSON. Stop early with `maxItems`, or let it run through every studio in radius.

---

### Input

```json
{
    "location": "New York, NY",
    "radiusMiles": 10,
    "categoryTypes": ["Fitness"],
    "categories": ["Yoga"],
    "maxItems": 100
}
````

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `location` | string | — | City, zip, or "City, ST" to search around. Required unless lat/lon supplied. |
| `latitude` | string | — | Override the geocoded latitude. Use with `longitude` to skip geocoding. |
| `longitude` | string | — | Override the geocoded longitude. Use with `latitude` to skip geocoding. |
| `radiusMiles` | integer | `25` | Search radius in miles, 1–100. |
| `categoryTypes` | array | `["Fitness"]` | Top-level categories. Any subset of `Fitness`, `Beauty`, `Wellness`. Empty = all three. |
| `categories` | array | `[]` | Specific modalities — `Yoga`, `Pilates`, `Barre`, `CrossFit`, `Martial arts`, `Dance`, etc. Empty = no narrowing. |
| `maxItems` | integer | `100` | Cap on records returned, 1–5000. |

Lat/lon mode (skip geocoding):

```json
{
    "latitude": "34.0522",
    "longitude": "-118.2437",
    "radiusMiles": 15,
    "categoryTypes": ["Fitness", "Wellness", "Beauty"],
    "maxItems": 250
}
```

***

### MindBody Fitness Studio Scraper Output Fields

```json
{
    "studioId": "455843",
    "slug": "gibney-dance",
    "profileUrl": "https://www.mindbodyonline.com/explore/locations/gibney-dance",
    "bookingUrl": "https://www.mindbodyonline.com/explore/locations/gibney-dance/book",
    "studioName": "Gibney Dance",
    "locationName": "Gibney Dance",
    "categoryType": "Fitness",
    "categories": ["Barre", "Dance", "Other", "Pilates"],
    "modalities": ["Ballet", "Cardio", "Contemporary", "Hip hop", "Mat", "Pilates"],
    "address": "53A Chambers Street",
    "address2": "",
    "city": "New York",
    "state": "NY",
    "county": "New York County",
    "zip": "10007",
    "country": "United States",
    "countryCode": "US",
    "neighborhood": "",
    "latitude": 40.7139234,
    "longitude": -74.0054772,
    "timezone": "America/New_York",
    "phone": "6468376809",
    "description": "MAKING SPACE FOR DANCE. Gibney's Training Department serves the current and holistic needs of adult dance artists...",
    "locationDescription": "Gibney operates in TWO Manhattan locations...",
    "logoUrl": "https://prodapilymberfitness.mindbodyonline.com/organizations/15125/original_logo.gif",
    "mobileLogoUrl": "https://prodapilymberfitness.mindbodyonline.com/organizations/15125/mobile/original_logo_mobile.png",
    "stockImageUrl": "",
    "galleryImages": [
        "https://prodapilymberfitness.mindbodyonline.com/studios/24145/gallery_images/183512/cropped_image_1.jpg",
        "https://prodapilymberfitness.mindbodyonline.com/studios/24145/gallery_images/183513/cropped_image_2.jpg"
    ],
    "amenities": ["lockers", "showers", "elevator/ramps to all areas", "wheelchair accessible entrance", "close to public transit"],
    "businessIdentifiesAs": ["lgbtq+-owned", "women-owned"],
    "averageRating": 4.95,
    "totalRatings": 410,
    "totalDeals": 0,
    "classPricing": [],
    "currencyCode": "USD",
    "onlineStoreActive": true,
    "scrapedAt": "2026-04-25T14:44:41.158Z"
}
```

| Field | Type | Description |
|-------|------|-------------|
| `studioId` | string | Internal MindBody location ID. |
| `slug` | string | URL slug used by mindbody.io. |
| `profileUrl` | string | Public profile URL on mindbodyonline.com. |
| `bookingUrl` | string | Direct booking-page URL. |
| `studioName` | string | Studio / business name. |
| `locationName` | string | Location-specific name for multi-location businesses. |
| `categoryType` | string | Top-level category — `Fitness`, `Beauty`, or `Wellness` (joined if multiple). |
| `categories` | array | Studio categories — Yoga, Pilates, Barre, etc. |
| `modalities` | array | Specific subcategories — Vinyasa, Hot yoga, HIIT. |
| `address` | string | Street address. |
| `address2` | string | Suite or unit. |
| `city` | string | City. |
| `state` | string | State or region code. |
| `county` | string | County (US only, when reported). |
| `zip` | string | Postal code. |
| `country` | string | Country name. |
| `countryCode` | string | ISO country code. |
| `neighborhood` | string | Neighborhood, when MindBody has it. |
| `latitude` | number | Studio latitude. |
| `longitude` | number | Studio longitude. |
| `timezone` | string | IANA timezone identifier. |
| `phone` | string | Studio phone number. |
| `description` | string | Studio business description. |
| `locationDescription` | string | Location-specific description. |
| `logoUrl` | string | Primary logo URL. |
| `mobileLogoUrl` | string | Mobile-optimized logo URL. |
| `stockImageUrl` | string | Default stock image used when the studio has no real photo. |
| `galleryImages` | array | Studio photo gallery URLs. |
| `amenities` | array | Amenity flags — showers, lockers, parking, wheelchair access. |
| `businessIdentifiesAs` | array | Owner identity flags — women-owned, lgbtq+-owned. |
| `averageRating` | number | Average user rating, 0–5. |
| `totalRatings` | number | Number of ratings collected. |
| `totalDeals` | number | Number of active intro offers. |
| `classPricing` | array | Intro offers as formatted strings, e.g. `"First Class Free ($0 USD)"`. |
| `currencyCode` | string | ISO currency code. |
| `onlineStoreActive` | boolean | True when MindBody online booking is active. |
| `scrapedAt` | string | ISO timestamp of extraction. |

***

### FAQ

#### How do I scrape MindBody studio data?

MindBody Fitness Studio Scraper takes a location (city, zip, or lat/lon) and a category filter, then pulls every studio in radius from MindBody's public discovery API. It returns flat JSON. Run it once per metro and you have the lead set for that market.

#### How much does MindBody Fitness Studio Scraper cost to run?

Pay-per-event pricing — $0.10 per actor start plus $0.001 per record. A run that returns 1,000 studios costs about $1.10. Larger metros with 2,000+ Fitness studios run in the $2–3 range.

#### What data can I get from MindBody?

The scraper returns 30+ fields per studio: name, full address, geocoordinates, phone, modalities (Yoga, Pilates, Barre, etc.), amenities (showers, parking, wheelchair access), owner identity flags (women-owned, lgbtq+-owned), ratings, gallery images, and any intro pricing the studio is currently offering. Email and direct website are not in MindBody's API response — phone and the booking URL are.

#### Can I filter by specific modality?

Yes. Set `categoryTypes: ["Fitness"]` and `categories: ["Yoga"]` to get only yoga studios. Combine modalities — `["Yoga", "Pilates"]` returns both. Leaving `categories` empty returns everything in the chosen category types.

#### Does MindBody Fitness Studio Scraper need proxies?

No. MindBody's discovery gateway is a public JSON API with no auth, no Cloudflare, no rate-limit gymnastics. The scraper hits it directly with a polite courtesy delay between pages. Most runs finish in seconds to a few minutes depending on metro size.

#### How fresh is the data?

Records reflect MindBody's current consumer-facing index, refreshed at run time. Studio listings update slowly — most metro coverage is stable week to week. Intro-offer pricing changes more often, which is part of why we pull it on every run.

***

### Need More Features?

Need custom fields, a different geographic filter, or scheduling on a cron? File an issue on the actor page or get in touch.

### Why Use MindBody Fitness Studio Scraper?

- **Comprehensive** — 30+ fields per studio, including modalities, amenities, intro pricing, and owner-identity flags. Most competing scrapers stop at name, address, phone.
- **Cheap to run** — about $1 per 1,000 records on the standard PPE profile, which beats the cost of most lead-gen lists by an order of magnitude and gives you fresher data.
- **Fast** — direct JSON API, no browser, no proxies. A 1,000-record run takes under a minute. Compare that to spinning up Playwright for a hundred SPA-rendered profile pages.

# Actor input Schema

## `sp_intended_usage` (type: `string`):

Please describe how you plan to use the data extracted by this crawler.

## `sp_improvement_suggestions` (type: `string`):

Provide any feedback or suggestions for improvements.

## `sp_contact` (type: `string`):

Provide your email address so we can get in touch with you.

## `location` (type: `string`):

City, zip, or 'City, ST' to search around. Example: 'New York, NY' or '90210'. Required unless latitude+longitude supplied.

## `latitude` (type: `string`):

Override the geocoded latitude. Use with longitude to skip geocoding entirely.

## `longitude` (type: `string`):

Override the geocoded longitude. Use with latitude to skip geocoding entirely.

## `radiusMiles` (type: `integer`):

Search radius in miles around the location. Default: 25.

## `categoryTypes` (type: `array`):

Top-level categories to include. Empty = all three.

## `categories` (type: `array`):

Narrow to specific modalities. Examples: Yoga, Pilates, Barre, CrossFit, Martial arts, Dance, Cycling, Bootcamp, Boxing. Leave empty to include everything in the chosen Category Types.

## `maxItems` (type: `integer`):

Maximum number of studios to return.

## Actor input object example

```json
{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "location": "New York, NY",
  "radiusMiles": 25,
  "categoryTypes": [
    "Fitness"
  ],
  "maxItems": 100
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "location": "New York, NY",
    "radiusMiles": 25,
    "categoryTypes": [
        "Fitness"
    ],
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("jungle_synthesizer/mindbody-fitness-studio-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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "location": "New York, NY",
    "radiusMiles": 25,
    "categoryTypes": ["Fitness"],
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("jungle_synthesizer/mindbody-fitness-studio-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 '{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "location": "New York, NY",
  "radiusMiles": 25,
  "categoryTypes": [
    "Fitness"
  ],
  "maxItems": 100
}' |
apify call jungle_synthesizer/mindbody-fitness-studio-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "MindBody Fitness Studio Scraper",
        "description": "Extract fitness, wellness, and beauty studios from MindBody's consumer marketplace — ~70k studios globally. Search by city/zip/coords. Filter by category (Yoga, Pilates, CrossFit, Spa, etc.). Returns name, address, phone, modalities, amenities, rating, intro pricing.",
        "version": "0.1",
        "x-build-id": "5DSkJBVuusXSstpSO"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/jungle_synthesizer~mindbody-fitness-studio-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-jungle_synthesizer-mindbody-fitness-studio-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/jungle_synthesizer~mindbody-fitness-studio-scraper/runs": {
            "post": {
                "operationId": "runs-sync-jungle_synthesizer-mindbody-fitness-studio-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/jungle_synthesizer~mindbody-fitness-studio-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-jungle_synthesizer-mindbody-fitness-studio-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": [
                    "radiusMiles"
                ],
                "properties": {
                    "sp_intended_usage": {
                        "title": "What is the intended usage of this data?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Please describe how you plan to use the data extracted by this crawler."
                    },
                    "sp_improvement_suggestions": {
                        "title": "How can we improve this crawler for you?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide any feedback or suggestions for improvements."
                    },
                    "sp_contact": {
                        "title": "Contact Email",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide your email address so we can get in touch with you."
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City, zip, or 'City, ST' to search around. Example: 'New York, NY' or '90210'. Required unless latitude+longitude supplied."
                    },
                    "latitude": {
                        "title": "Latitude (optional)",
                        "type": "string",
                        "description": "Override the geocoded latitude. Use with longitude to skip geocoding entirely."
                    },
                    "longitude": {
                        "title": "Longitude (optional)",
                        "type": "string",
                        "description": "Override the geocoded longitude. Use with latitude to skip geocoding entirely."
                    },
                    "radiusMiles": {
                        "title": "Radius (miles)",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Search radius in miles around the location. Default: 25.",
                        "default": 25
                    },
                    "categoryTypes": {
                        "title": "Category Types",
                        "type": "array",
                        "description": "Top-level categories to include. Empty = all three.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Fitness",
                                "Beauty",
                                "Wellness"
                            ]
                        }
                    },
                    "categories": {
                        "title": "Specific Categories (optional)",
                        "type": "array",
                        "description": "Narrow to specific modalities. Examples: Yoga, Pilates, Barre, CrossFit, Martial arts, Dance, Cycling, Bootcamp, Boxing. Leave empty to include everything in the chosen Category Types.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum number of studios to return.",
                        "default": 100
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
