ClassPass Studios Scraper - Gyms, Contacts, Classes & Reviews
Pricing
from $0.45 / 1,000 classpass venues
ClassPass Studios Scraper - Gyms, Contacts, Classes & Reviews
Scrape ClassPass studios, gyms, spas and salons by city and activity: activities, address with GPS, rating breakdown, website, phone, emails, Instagram, amenities, booking platform and demand signal. Optional class schedule with credits and review history. Monitor mode returns only new venues.
Pricing
from $0.45 / 1,000 classpass venues
Rating
0.0
(0)
Developer
Scrapers Delight
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
What does ClassPass Studios Scraper do?
ClassPass Studios Scraper extracts ClassPass studios, gyms, spas and salons from classpass.com by city, neighborhood, ZIP or GPS point. Each dataset row is one ClassPass venue with its activities, address and GPS, rating with a 1-5 star breakdown, website, phone, emails, Instagram/Facebook, amenities, booking platform and weekly demand signal. Built for fitness and wellness marketers, B2B sales teams selling to studios, franchise and real-estate analysts, and wellness apps.
ClassPass scraper · ClassPass studios scraper · ClassPass gym list · fitness studio leads
- Venue leads with contacts: website on 81-97% of venues, phone on 63-88%, a published email on 14-35%, Instagram on 93-97% (measured on our test runs, see the Fields table).
- Every venue in a city: search a city, neighborhood, ZIP or
lat,lon; ClassPass reported 4,704 venues for New York and we read 1,000 of them in one test run. - ClassPass's own filters: activities (yoga, pilates, barre, boxing, massage, facial ...), category (fitness, wellness, beauty) and amenities (showers, lockers, parking).
- Class schedule: upcoming classes with instructor, start/end time, duration, level, credits and availability.
- Review history: written reviews with rating, date, class and instructor (thousands per big studio).
- Monitor mode: a scheduled run returns only venues it has not delivered before.
- No login, cookies or API key: paste places or venue links; that is all.
- Export anywhere: JSON, CSV, Excel, XML; schedules, webhooks, Make, Zapier, n8n, Google Sheets, API and MCP.
What data can you get from ClassPass?
| 🏋️ Venue name + branch (`studioName`, `subtitle`) | 🧘 Activities (`activities`) | 🗂️ Category: Fitness, Wellness, Beauty, Food and Drink |
| 📍 Address, city, state, ZIP, country | 🗺️ GPS (`latitude`, `longitude`) + km from your search | 🏙️ Neighborhood |
| ⭐ Rating + ratings count | 📊 1-5 star breakdown (`ratingBreakdown`) | 🔥 Demand: "500+ bookings this week" |
| 🌐 Website | ☎️ Phone | ✉️ Emails |
| 👍 Facebook, X, Yelp links | 🚿 Amenities: showers, lockers, mats, towels, parking | |
| 🗓️ Booking platform (MINDBODY, Mariana Tek ...) | 💸 Average ClassPass discount % | 🏳️🌈 Inclusivity labels (woman-owned, LGBTQ-friendly ...) |
| 📅 Classes: time, instructor, level, credits | 💬 Reviews: author, rating, text, date | 🖼️ Logo, main image, gallery, YouTube videos |
How to scrape ClassPass with ClassPass Studios Scraper
- Create a free Apify account (it comes with monthly free credit).
- Open ClassPass Studios Scraper and type one or more Locations, for example
New YorkorAustin, TX. - Optional: add Activities, a Category or Amenities, and switch on Class schedule or Review history.
- Set Max venues and click Start.
- Download the venues as JSON, CSV or Excel, or connect the dataset to your tools.
⬇️ Input
| Parameter | Type | Description |
|---|---|---|
| 🔍 What to scrape | ||
locations | List | City, neighborhood, ZIP/postcode, address or lat,lon, one search per line: "New York", "Shoreditch, London", "10011". Empty (and no venues) = New York. |
venues | List | Known venues: a ClassPass studio link, its alias or numeric id: "https://classpass.com/studios/barrys-park-ave-south-new-york", "crunch-gym-union-square-new-york", "36301". |
latitude / longitude | Number | One search point instead of a place name; radius from radiusKm, else 5 km. |
| 🎯 Filters (applied by ClassPass) | ||
activities | List | ClassPass activity names: "yoga", "pilates", "hot yoga", "spin", "massage". Several = venues offering any of them. |
category | Select | All categories / Fitness / Wellness / Beauty. Default: all. |
amenities | Multi-select | Showers, Lockers, Parking: venues with every amenity picked. |
radiusKm | Integer | Search radius in km. 0 (default) = ClassPass's own area for the place (New York 34 km, Austin 32 km). |
| ✂️ Refine results | ||
minRating | Number | Only venues rated at least this, e.g. 4.7. Default: 0 (off). |
minReviewCount | Integer | Only venues with at least this many ratings. Default: 0. |
withContactOnly | Boolean | Only venues with a website, phone or email. Default: false. |
| ➕ Extra data | ||
includeDetails | Boolean | GPS, contacts, socials, amenities, rating breakdown, booking platform, photos. Included in the venue price. Default: true. |
includeSchedule | Boolean | Upcoming classes per venue. Included in the venue price. Default: false. |
scheduleDays / maxClassesPerVenue | Integer | Days of classes from now (1-7, default 1) and the cap per venue (default 50). |
includeReviews | Boolean | Written reviews per venue, newest first, charged per review (review event). Default: false. |
maxReviewsPerVenue | Integer | Reviews per venue, default 20, up to 5,000. |
| 🔁 Monitoring | ||
monitorMode | Boolean | Return only venues this search did not deliver in earlier runs. Pair it with a schedule. |
monitorStoreName | Text | Named store that remembers delivered venues, one per monitored list. |
| 📦 Output | ||
maxResults | Integer | Venues in total. Default 100; 0 = everything ClassPass lists. |
maxResultsPerLocation | Integer | Cap per location line; 0 = none. |
compact | Boolean | Core fields only (name, link, activities, address, GPS, rating, website, phone, email, Instagram, booking platform). |
| ⚙️ Advanced | ||
proxyConfiguration | Proxy | Direct by default. Requests ClassPass refuses are retried through Apify residential and, last, Apify's Unblocker; pick Apify datacenter groups or your own proxy URLs to add them as a rung. |
maxConcurrency | Integer | Venues read in parallel, default 8. |
Input JSON
{"locations": ["Austin, TX"],"activities": ["yoga"],"maxResults": 15,"minRating": 4.5,"includeSchedule": true,"scheduleDays": 2,"includeReviews": true,"maxReviewsPerVenue": 30}
Search a place, not a business name
locations takes places: a city, neighborhood, ZIP/postcode or address, resolved by ClassPass's own location search (the first match is used, and the run summary shows what it matched, e.g. "New York" -> New York, radius 34.4 km). To get specific studios, paste them into venues instead.
Use activity names exactly as ClassPass shows them
Activities match ClassPass's own list (yoga, hot yoga, vinyasa yoga, pilates, reformer pilates, barre, boxing, cycling, HIIT, strength training, massage, facial, sauna, nails ...). A word that is not a list name goes through ClassPass's search box ("spin" -> Spin). A word that matches nothing is listed in the run summary and skipped, never searched unfiltered.
Narrow big cities with a radius or a cap per location
A city name searches ClassPass's whole area for it. For a few neighborhoods, use one line each ("Williamsburg, Brooklyn", "Park Slope") or set radiusKm, and maxResultsPerLocation so one line does not use the whole run.
⬆️ Output
One item per venue. A real row from our New York test run (long text shortened):
{"venueId": 2879,"studioName": "Barry's","subtitle": "Chelsea","url": "https://classpass.com/studios/barrys-chelsea-new-york","activities": ["Strength Training", "Bootcamp", "HIIT", "Running"],"categories": ["Fitness"],"address": "135 W 20th St, New York, NY 10011, USA","neighborhood": "Chelsea","latitude": 40.7418488,"longitude": -73.9956287,"rating": 4.83,"reviewCount": 223174,"ratingBreakdown": { "1": 704, "2": 892, "3": 5414, "4": 22231, "5": 193933 },"website": "http://www.barrys.com","phone": "6465592721","email": "frontdeskchelsea@barrysbootcamp.com","instagramUrl": "https://www.instagram.com/barrys/","amenities": ["Showers", "Lockers", "Mats", "Towels"],"bookingPlatform": "MARIANATEK","demandSignal": "500+ bookings this week","averageDiscountPercent": 23,"searchRank": 3}
With Class schedule and Review history on (Black Swan Yoga Westgate, Austin):
{"creditsMin": 7,"creditsMax": 7,"classes": [{ "className": "Flow", "instructor": "Abby Fine", "startTime": "2026-10-14T07:15:00-05:00","endTime": "2026-10-14T08:00:00-05:00", "duration": "45 min", "difficultyLevel": "Open Level","credits": 7, "status": "available", "demandSignal": "2+ ClassPassers are attending" }],"reviewsTotal": 3442,"reviews": [{ "author": "Anya", "rating": 5, "date": "2026-10-09T12:31:20.000Z", "className": "Flow","instructor": "Jacquelyn Ochoa", "reviewText": "Loved everything about the 6am Friday class ..." }]}
Fields
Fill = share of rows with a value on our test runs, as a range over three samples: New York's top 100 venues, New York's top 1,000, and 75 venues across New York, Austin and London.
| Field | Type | What it is | Fill |
|---|---|---|---|
venueId, alias, url | number, string | ClassPass venue id, alias and studio link | 100% |
studioName, subtitle | string | Name and branch label | 100%, 45-67% |
activities, categories | array | What the venue offers; its ClassPass categories | 100%, 96-97% |
description | string | The venue's ClassPass description | 100% |
address, streetAddress, city, zipCode, country | string | Address parts | 100% |
state | string | State / region (UK venues have none) | 67-99% |
addressLine2 | string | Suite / unit | 5-18% |
neighborhood | string | ClassPass neighborhood | 21-43% |
latitude, longitude, timezone, distanceKm | number, string | GPS, time zone, km from your search point | 100% |
rating, ratingBreakdown | number, object | Average rating and ratings per star (null when the venue has none or hides them) | 73-97% |
reviewCount, ratingDisplayTotal | number, string | Ratings count, and how ClassPass displays it | 100% |
website | string | Venue website | 81-97% |
phone | string | Phone as published | 63-88% |
email, emails | string, array | Published contact emails | 14-35% |
instagramHandle, instagramUrl | string | 93-97% | |
facebookUrl / twitterUrl / yelpUrl | string | Social links | 70-77% / 22-37% / 3% |
amenities | array | Showers, Lockers, Mats, Towels, Parking | 53-89% |
bookingPlatform, bookingWindow | string | Booking system ClassPass syncs with; how far ahead classes open | 99-100% |
whenToArrive, whatToBring, howToGetThere, proTip | string | Visit guidance | 98-100%; pro tip 10-20% |
serviceTypes | array | CLASS / APPOINTMENT / SKU | 76-88% |
demandSignal | string | e.g. "250+ bookings this week" | 67-81% |
averageDiscountPercent | number | Average ClassPass discount vs drop-in | 58-60% |
isNew, inclusivity | boolean, array | New on ClassPass; inclusivity labels | 100%, 42-65% |
logoUrl, imageUrl, photos, videos | string, array | Images and YouTube videos | 100%, 100%, 92-99%, 15-21% |
featuredReviews | array | Reviews ClassPass features on the search card | 65-95% |
classes, creditsMin, creditsMax | array, number | Upcoming classes (Class schedule on); credits on 53% of classes, so the range is on 93% of venues | Austin yoga test: 100% of venues, 186 classes |
reviews, reviewsTotal | array, number | Review history (Review history on) | Austin yoga test: 15/15 venues, 450 reviews |
searchLocation, searchActivities, searchRank, scrapedAt | Which search found the venue, its rank there, when | 100% |
Class fields: scheduleId, classId, className, instructor (61% overall: gym-time slots have none; instructor-led studios 100%), startTime, endTime (with the venue's UTC offset), duration, durationMinutes, difficultyLevel, activities, credits, status, demandSignal, isLivestream, classRating, classReviewCount. Review fields: reviewId, author (null when the reviewer hides their name: 9% on our test), rating, reviewText, date, className, instructor.
Not available: ClassPass's signed-out schedule does not say how many spots are left (only an availability status), and it shows class prices in ClassPass credits, not dollars.
How can I use ClassPass data?
- 📇 Studio lead lists: website, phone, email and Instagram for every yoga, pilates or boxing studio in a city.
- 🧭 Market mapping: count studios by activity, neighborhood and booking platform before opening a location.
- 🛠️ Sell to studios: booking-software, payments and marketing vendors can see which platform each venue uses.
- 📈 Demand tracking: weekly booking signals and ratings over time with a scheduled run.
- 🗓️ Class aggregators: upcoming classes with instructor, level and credits.
- 💬 Review analysis: what members say about instructors and classes.
How much does it cost to scrape ClassPass?
ClassPass Studios Scraper is pay-per-event (the Pricing tab always shows the live rate): one venue event per venue delivered to your dataset; the class schedule is included. Review history adds one review event per review delivered. There is no start fee, and venues removed by your filters, already delivered in monitor mode, closed or unreachable are not charged.
| Venues delivered | Venues at $0.45 per 1,000 | + 20 reviews each at $0.18 per 1,000 |
|---|---|---|
| 10 | $0.0045 | $0.0081 |
| 100 | $0.045 | $0.405 |
| 1,000 | $0.45 | $4.05 |
| 10,000 | $4.50 | $40.50 |
Apify's free plan includes monthly free credit.
Integrations, API, scheduling & MCP
Run it on a schedule (daily, weekly) with Only new venues on and send new venues to Google Sheets, Slack, email, a webhook, Make, Zapier or n8n from the Integrations tab. Call it from code with the Apify API (apify-client for Python and JavaScript), or let an AI agent use it through the Apify MCP server. compact: true keeps rows small for LLM pipelines.
More fitness and local business scrapers
- MINDBODY Scraper: fitness, beauty and wellness businesses listed on MINDBODY.
- Booksy Salon Scraper: salons and barbers with services and prices.
- Yelp Business Scraper: any local business with phone, address and rating.
- Google Maps Polygon Scraper: every business inside an area you draw.
Limits & empty runs
- Speed on our test runs (venue details on): 100 venues in about 4 seconds when ClassPass answers directly and 16-27 seconds when every request has to go through a residential proxy; 1,000 venues in about 95 seconds. The schedule and reviews add one call per venue-day and one per 50 reviews.
RUN_SUMMARYin the key-value store shows, per search, ClassPass's own total, pages read, venues delivered, and the venues filtered, closed or unreachable.- A place ClassPass does not know, or a search with no venues, ends with a clear message and costs nothing. A venue link that no longer exists is listed as closed/removed and costs nothing.
- Credits appear on about half of the classes in the signed-out schedule; the rest show none.
FAQ
How much does ClassPass Studios Scraper cost?
$0.45 per 1,000 venues with details and the class schedule, plus $0.18 per 1,000 reviews when Review history is on. No start fee; see the Pricing tab for the live rate.
How many venues can ClassPass Studios Scraper collect in one run?
As many as ClassPass lists for your locations. ClassPass reported 4,704 venues in its New York area; our test run read 1,000 of them in 10 pages of 100. Use several locations or maxResults: 0 for more.
Can I get only new studios on a schedule?
Yes. Turn on Only new venues (monitorMode) and schedule the actor. Each run delivers only venues that search has not delivered before; on our test, the second run of the same search returned 0 venues and charged nothing.
Does ClassPass Studios Scraper return contact details?
Yes, whatever the venue publishes on ClassPass: website (81-97% of venues on our tests), phone (63-88%), email (14-35%), Instagram (93-97%), Facebook, X and Yelp links.
Can it scrape class schedules?
Yes. Turn on Class schedule: each venue gets its classes for the next 1-7 days with instructor, start and end time, duration, level, credits and availability.
Can it scrape ClassPass reviews?
Yes. Turn on Review history and set Max reviews per venue. Reviews come newest first with author, rating, text, date, class and instructor.
Do I need a ClassPass account, cookies or an API key?
No. Everything comes from what ClassPass shows signed-out.
Can I use ClassPass Studios Scraper with the Apify API or an MCP server?
Yes, see the API tab for Python, JavaScript and HTTP examples, and the MCP tab to connect it to an AI agent.
Why did my run return no venues?
The location was not recognised (check the run summary), the filters removed every venue (try without minRating or withContactOnly), or monitor mode had already delivered every venue. None of these cost anything.
How is it different from other ClassPass scrapers?
It reads ClassPass's own data rather than rendering pages, so it is fast and cheap, and it adds contacts, GPS, the 1-5 star breakdown, booking platform, demand signals, the full review history, venue lookups and monitor mode.
Your feedback
Found a problem or need a field? Open an issue on the Issues tab and we will look at it.