Classpass Scraper avatar

Classpass Scraper

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Classpass Scraper

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

Ahmed Jasarevic

Maintained by Community

Actor 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:

  1. Data Source: Choose ClassPass, MindbodyOnline, or both
  2. Location: Enter a city name (e.g., "New York") or provide latitude/longitude
  3. Scrape Options: Toggle which data categories to extract
  4. Proxy Configuration: Enable Apify proxy for reliable scraping (recommended for ClassPass)

Step 2: Run the Actor

Click the Start button. The actor will:

  1. Navigate to search results for your location
  2. Extract data from listing pages
  3. Follow detail pages for enriched information
  4. 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

FieldTypeDefaultDescription
sourceselectbothData source: classpass, mindbodyonline, or both
locationstringNew YorkCity or location name
latitudenumber-Latitude (overrides location name)
longitudenumber-Longitude (overrides location name)
maxItemsinteger50Maximum items per category (1-500)
scrapeClassesbooleantrueExtract class schedules
scrapeStudiosbooleantrueExtract studio profiles
scrapePricingbooleantrueExtract pricing data
scrapeReviewsbooleanfalseExtract user reviews
maxConcurrencyinteger3Parallel browser pages (1-10)
proxyConfigurationobject{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

FieldDescription
sourcePlatform: classpass or mindbodyonline
classNameName of the fitness class
instructorInstructor name
startTimeClass start time
durationClass duration
difficultyLevelBeginner/Intermediate/Advanced
spotsAvailableAvailable spots
studioNameStudio or gym name
addressFull address
ratingAverage rating (1-5)
priceRangePrice indicator ($, $$, $$$)
amenitiesAvailable amenities
photosStudio photo URLs

Pricing / Cost Estimation

Free Tier

  • 10 items maximum per run
  • Single data source (ClassPass OR MindbodyOnline)
  • Basic proxy (shared datacenter IPs)
  • 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

  1. Set maxConcurrency to 5-10 for faster scraping
  2. Disable scrapeReviews if not needed (reduces page visits)
  3. Use specific latitude/longitude for precise location targeting

Improving Accuracy

  1. Use Apify proxy with residential group for ClassPass
  2. Increase maxItems gradually to avoid rate limiting
  3. Monitor the actor log for Cloudflare challenge warnings

Cost Control

  1. Start with maxItems: 10 to test
  2. Use source: "classpass" or source: "mindbodyonline" individually
  3. 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 BUYPROXIES94952 residential 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:

  1. Apify proxy with residential group
  2. Reasonable concurrency (3-5)
  3. 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