# Mindbody Fitness Studio Scraper (`lead.gen.labs/mindbody-fitness-studio-scraper`)

Scrape fitness studios listed on Mindbody by location. Extract details such as studio name, address, contact info, and profile links. Ideal for lead generation, competitor research, and wellness market insights

- **URL**: https://beta-securitybyobscurity.apify.com/lead.gen.labs/mindbody-fitness-studio-scraper.md
- **Developed by:** [LeadGen Labs](https://beta-securitybyobscurity.apify.com/lead.gen.labs) (community)
- **Categories:** Lead generation, Automation
- **Stats:** 12 total users, 4 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$25.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.
You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

# README

## Mindbody Fitness Studio Scraper – Extract Studio Listings, Class Info, and More

Looking to automate data extraction from [Mindbody.com](https://www.mindbodyonline.com/)? The **Mindbody Fitness Studio Scraper** is your go-to tool for gathering detailed information about fitness studios, wellness centers, and classes listed on Mindbody.

Whether you're a marketer, lead generation expert, wellness researcher, or developer building fitness apps, this Apify actor will help you extract structured data effortlessly—no manual copy-pasting needed.

***

### ⭐ Features of the Mindbody Scraper Actor

- 🔎 **Search by Location**: Enter any city or zip code to fetch fitness studios and service providers in that area.
- 🏋️ **Detailed Studio Info**: Extract names, descriptions, categories, addresses, contact details, and booking links.
- 🕐 **Class Listings**: Scrape available classes, schedules, instructors, and class types (e.g., yoga, pilates, HIIT).
- 🔗 **Direct URLs**: Get links to individual studio pages for deep-dive or redirection.
- 📄 **Structured JSON Output**: Output is clean, structured, and ready to integrate into databases or apps.
- ⚙️ **Paginated Crawling**: Specify how many result pages you want to scrape with the `max_pages` input.
- 🚀 **Fast and Scalable**: Built with Python and Selenium, optimized for speed and deployed on Apify for reliability.

***

### 🔥 Use Cases for the Scraper

- **Fitness Aggregator Platforms**: Collect Mindbody listings for building local wellness directories.
- **Lead Generation**: Gather contact details of fitness centers for outreach and marketing.
- **Market Research**: Analyze fitness trends, class types, or service offerings in different regions.
- **App Development**: Populate your health or fitness apps with real-time studio data.
- **SEO Agencies**: Enrich local SEO campaigns by pulling fitness studio data for client websites or content.
- **Travel & Wellness Blogs**: Add local wellness centers to your destination pages for enhanced value.

***

### 🧾 Input Parameters

| Parameter    | Type    | Description                                         |
|--------------|---------|-----------------------------------------------------|
| `location`   | string  | The city, state, or zip code to search studios in. |
| `max_pages`  | number  | Max number of result pages to scrape.              |

**Example Input:**

```json
{
  "location": "Los Angeles, CA",
  "max_pages": 3
}
```

### 📦 Sample Output

```json
[
  {
    "name": "CorePower Yoga",
    "category": "Yoga Studio",
    "address": "123 Main St, Los Angeles, CA 90012",
    "phone": "(213) 555-1234",
    "website": "https://www.corepoweryoga.com/",
    "booking_url": "https://www.mindbodyonline.com/explore/locations/corepower-yoga",
    "classes": [
      {
        "title": "Yoga Sculpt",
        "schedule": "Mon, Wed, Fri - 7AM",
        "instructor": "Jane Doe"
      }
    ]
  }
]
```

### 👤 Who is This Scraper Useful For?

📈 Lead Gen Experts looking to harvest wellness business contacts

💻 SaaS Builders & App Developers creating fitness or wellness products

🧘 Fitness Entrepreneurs scouting competitors or researching studio formats

💬 SEO & Content Agencies enriching wellness-related content with real data

🎓 Academic Researchers analyzing fitness availability across regions

### 💡 Feature Requests and Customization

We love to evolve! Here are some upcoming and possible enhancements:
✅ Advanced filters (class types, price ranges, instructor names)

✅ Scraping reviews and ratings

✅ Class calendar extraction

✅ Email and social media detection

✅ Export to CSV/Google Sheets integration

✅ Scheduled scraping (daily/weekly)

Want a custom feature? Reach me on [Discord:](https://discord.com/users/928560630204604437) or [X](https://x.com/lead_gen_labs)

# Actor input Schema

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

The Location to search in.

## `max_pages` (type: `integer`):

The maximum number of pages to scrape.

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

Specifies proxy servers that will be used by the scraper in order to hide its origin.

## Actor input object example

```json
{
  "location": "London, UK",
  "max_pages": 1,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("lead.gen.labs/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 = { "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    } }

# Run the Actor and wait for it to finish
run = client.actor("lead.gen.labs/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 '{
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call lead.gen.labs/mindbody-fitness-studio-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Mindbody Fitness Studio Scraper",
        "description": "Scrape fitness studios listed on Mindbody by location. Extract details such as studio name, address, contact info, and profile links. Ideal for lead generation, competitor research, and wellness market insights",
        "version": "0.0",
        "x-build-id": "P8gwYel5Kb9swUemS"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lead.gen.labs~mindbody-fitness-studio-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lead.gen.labs-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/lead.gen.labs~mindbody-fitness-studio-scraper/runs": {
            "post": {
                "operationId": "runs-sync-lead.gen.labs-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/lead.gen.labs~mindbody-fitness-studio-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-lead.gen.labs-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": [
                    "location",
                    "max_pages"
                ],
                "properties": {
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "The Location to search in.",
                        "default": "London, UK"
                    },
                    "max_pages": {
                        "title": "Maximum Number of Pages",
                        "type": "integer",
                        "description": "The maximum number of pages to scrape.",
                        "default": 1
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Specifies proxy servers that will be used by the scraper in order to hide its origin.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
