Classpass Scraper
Pricing
from $0.50 / 1,000 results
Classpass Scraper
Scrapes fitness class schedules, studio profiles, pricing, and reviews from ClassPass and MindbodyOnline.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrapes fitness class schedules, studio profiles, pricing data, and user reviews from ClassPass and MindbodyOnline — two of the largest fitness marketplace platforms.
What does Classpass Scraper do?
This actor extracts structured fitness data including:
- Class schedules: Class name, instructor, time, duration, difficulty level, spots available
- Studio profiles: Name, address, amenities, rating, price range, photos
- Pricing data: Class packs, memberships, drop-in rates
- User reviews: Ratings, review text, author, date
The scraper supports both ClassPass (Cloudflare-protected) and MindbodyOnline (React SPA) using PlaywrightCrawler with stealth configurations.
Why use Classpass Scraper?
Buyer Personas
- Fitness studio owners: Competitor analysis — see what classes competitors offer, their pricing, and customer sentiment
- Wellness marketplace builders: Aggregate fitness data for your platform
- Corporate wellness platforms: Identify studios and classes for employee benefits
- Fitness app developers: Enrich your app with real-time class schedules and studio data
- Real estate analysts: Gym density as a neighborhood signal for property valuation
Use Cases
- Track competitor pricing and class offerings
- Identify market gaps in fitness class types
- Analyze customer sentiment across studios
- Build fitness class aggregators
- Real estate investment analysis using gym density
How to use Classpass Scraper
Step 1: Configure Input
Set your preferred options in the Input tab:
- Data Source: Choose ClassPass, MindbodyOnline, or both
- Location: Enter a city name (e.g., "New York") or provide latitude/longitude
- Scrape Options: Toggle which data categories to extract
- Proxy Configuration: Enable Apify proxy for reliable scraping (recommended for ClassPass)
Step 2: Run the Actor
Click the Start button. The actor will:
- Navigate to search results for your location
- Extract data from listing pages
- Follow detail pages for enriched information
- Output structured data to the dataset
Step 3: Export Data
Download your data in JSON, CSV, HTML, or Excel format from the Dataset tab.
Input
| Field | Type | Default | Description |
|---|---|---|---|
source | select | both | Data source: classpass, mindbodyonline, or both |
location | string | New York | City or location name |
latitude | number | - | Latitude (overrides location name) |
longitude | number | - | Longitude (overrides location name) |
maxItems | integer | 50 | Maximum items per category (1-500) |
scrapeClasses | boolean | true | Extract class schedules |
scrapeStudios | boolean | true | Extract studio profiles |
scrapePricing | boolean | true | Extract pricing data |
scrapeReviews | boolean | false | Extract user reviews |
maxConcurrency | integer | 3 | Parallel browser pages (1-10) |
proxyConfiguration | object | {useApifyProxy: true} | Proxy settings |
Output
The actor outputs data to a dataset with the following structure:
Classes
{"source": "classpass","className": "Vinyasa Flow","instructor": "Sarah Johnson","startTime": "2026-09-02T10:00:00","duration": "60 min","difficultyLevel": "Intermediate","spotsAvailable": 5,"studioName": "Yoga Studio NYC","location": "New York","url": "https://classpass.com/studio/yoga-studio-nyc","scrapedAt": "2026-09-02T09:38:41.000Z"}
Studios
{"source": "mindbodyonline","studioName": "FitLife Gym","address": "123 Main St, New York, NY 10001","city": "New York","rating": 4.5,"reviewCount": 128,"priceRange": "$$","amenities": ["Showers", "Lockers", "Parking"],"photos": ["https://cdn.example.com/photo1.jpg"],"url": "https://www.mindbodyonline.com/fitness/fitlife-gym","scrapedAt": "2026-09-02T09:38:41.000Z"}
Pricing
{"source": "classpass","studioName": "Cycle Studio","planName": "10 Class Pack","planType": "class_pack","price": 150.00,"currency": "USD","credits": 10,"validity": "3 months","url": "https://classpass.com/studio/cycle-studio","scrapedAt": "2026-09-02T09:38:41.000Z"}
Data Table
| Field | Description |
|---|---|
source | Platform: classpass or mindbodyonline |
className | Name of the fitness class |
instructor | Instructor name |
startTime | Class start time |
duration | Class duration |
difficultyLevel | Beginner/Intermediate/Advanced |
spotsAvailable | Available spots |
studioName | Studio or gym name |
address | Full address |
rating | Average rating (1-5) |
priceRange | Price indicator ($, $$, $$$) |
amenities | Available amenities |
photos | Studio photo URLs |
Pricing / Cost Estimation
Free Tier
- 10 items maximum per run
- Single data source (ClassPass OR MindbodyOnline)
- Basic proxy (shared datacenter IPs)
Paid Plan
- Unlimited items per run
- Both data sources simultaneously
- Residential proxy group (
BUYPROXIES94952) - Higher concurrency (up to 10 parallel pages)
Compute Units
- Each page visit uses ~0.5-1 CU
- Detail pages use ~1 CU
- Typical run (50 items): ~25-50 CU
- Proxy usage included in paid plans
Tips & Advanced Options
Optimizing for Speed
- Set
maxConcurrencyto 5-10 for faster scraping - Disable
scrapeReviewsif not needed (reduces page visits) - Use specific
latitude/longitudefor precise location targeting
Improving Accuracy
- Use Apify proxy with residential group for ClassPass
- Increase
maxItemsgradually to avoid rate limiting - Monitor the actor log for Cloudflare challenge warnings
Cost Control
- Start with
maxItems: 10to test - Use
source: "classpass"orsource: "mindbodyonline"individually - Disable unused scrape options (classes, studios, pricing, reviews)
Technical Details
Scraping Strategy
- ClassPass: PlaywrightCrawler with stealth headers to bypass Cloudflare Bot Management
- MindbodyOnline: PlaywrightCrawler for React SPA rendering
- Proxy: Apify proxy with
BUYPROXIES94952residential group
Anti-Bot Protection
ClassPass uses Cloudflare Bot Management which:
- Blocks datacenter IPs
- Requires JavaScript execution
- May present challenges
The actor uses:
- Residential proxy rotation
- Realistic browser headers
- Proper page load waiting
- Error handling for challenge pages
FAQ
Q: Why am I getting fewer results than expected?
A: ClassPass has aggressive anti-bot protection. Ensure you're using:
- Apify proxy with residential group
- Reasonable concurrency (3-5)
- Not scraping from the same location too frequently
Q: Can I scrape specific studios?
A: Yes! Provide direct URLs in the startUrls input field:
{"startUrls": [{"url": "https://classpass.com/studio/specific-studio"},{"url": "https://www.mindbodyonline.com/fitness/specific-gym"}]}
Q: How accurate is the pricing data?
A: Pricing data is extracted from public listings. Some studios may require login to view full pricing. The scraper captures what's publicly available.
Disclaimers
- This scraper is for educational and research purposes
- Respect the Terms of Service of ClassPass and MindbodyOnline
- Use responsibly and avoid excessive scraping
- Data accuracy depends on the source website's current state
- Some data may require authentication to access
Support
- Report issues via the Issues tab
- For custom scraping needs, contact for consulting
- Join the Apify community for tips and updates