GymMaster Gym & Fitness Club Management API avatar

GymMaster Gym & Fitness Club Management API

Pricing

from $0.01 / 1,000 results

Go to Apify Store
GymMaster Gym & Fitness Club Management API

GymMaster Gym & Fitness Club Management API

Gym & Fitness Club Management - Access Control, Bookings & Billing Access GymMaster data for gyms and fitness clubs. Get members, access control, bookings, billing, door entries, and facility usage data. Ideal for 24/7 gyms, multi-site operations, and fitness chains.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

The Howlers

The Howlers

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

0

Monthly active users

9 days ago

Last modified

Features

Limited permissions

Share

Export members, clubs, class schedules, membership types, bookable services, sales reps, KPIs and standard reports from your own GymMaster site, using your own GymMaster API keys (bring your own key).

Status (2026-10-22): live mode follows GymMaster's public API documentation as of 2026-10-22 (the Member Portal API and the KPI, Reporting and Dashboard API V2). It has not yet been verified against a real GymMaster account. If something does not work with your site, open an issue with the error row and it will be fixed.


How it works

GymMaster has no shared API host. Every club has its own site at https://<site name>.gymmasteronline.com, and the API lives on that host. You give the actor your site name and your keys, and it calls only the documented read endpoints:

APIDocsAuthentication
Member Portal APIgymmaster.com/gymmaster-apiapi_key query parameter. Key from Settings > Integrations
KPI, Reporting and Dashboard API V2gymmaster.com/gymmaster-reporting-apiX-GM-API-KEY header. Key from Settings > Integrations > Report API > API Key

If you do not see these keys under Settings > Integrations, ask GymMaster support to enable API access for your site.


Tasks

TaskKeyGymMaster endpointWhat you get
get_membersMember PortalGET /portal/api/v1/membersAll current members. startDate limits to members updated after that date, siteId to one club
get_sitesMember PortalGET /portal/api/v1/companiesThe clubs set up on your site (id, name, billing provider)
get_classesMember PortalGET /portal/api/v1/booking/classes/scheduleThe class schedule for 7 days from startDate (default: this week)
get_membershipsMember PortalGET /portal/api/v1/membershipsMembership types available for purchase, with prices and fees
get_facilitiesMember PortalGET /portal/api/v1/booking/servicesBookable services for one club. Requires siteId
get_staffMember PortalGET /portal/api/v2/staff/salesrepStaff set as sales reps
get_reportsReport APIPOST /api/v2/report/kpi/categoriesAll KPI categories for the period (member statistics, activity, sales, payment methods, bookings, classes). With reportId: that standard report
get_billingReport APIPOST /api/v2/report/kpi/categoriesThe sales_made and payment_method KPI categories for the period
get_bookingsReport APIPOST /api/v2/report/standard_reportRows of the "All Bookings" standard report for the period (or reportId)
get_door_entriesReport APIPOST /api/v2/report/standard_reportRows of your visits or door report for the period. Set reportId if the actor cannot find one by name

For get_bookings and get_door_entries the actor first lists your standard reports (GET /api/v2/report/standard_report/list) and picks the matching one. If none matches, the error row lists every report id and name on your site so you can set reportId.


Input

ParameterTypeDefaultDescription
taskstringget_membersOne of the tasks above
siteNamestringnoneYour site name, for example myclub for https://myclub.gymmasteronline.com. Required for live data
apiKeystringnoneMember Portal API key
reportApiKeystringnoneReport API key
siteIdstringnoneNumeric club id (from get_sites). Required for get_facilities
startDatestringnoneYYYY-MM-DD. See the task table
endDatestringtodayYYYY-MM-DD. End of the report period
reportIdintegernoneStandard report id to run for get_reports, get_bookings or get_door_entries
limitinteger100Maximum records to return
webhookUrlstringnoneOptional URL that receives the result row as JSON
demoModebooleanfalseReturn labeled sample data without calling GymMaster

Report tasks default to the last 30 days when no dates are given.

Example

{
"task": "get_members",
"siteName": "myclub",
"apiKey": "YOUR_MEMBER_PORTAL_API_KEY",
"startDate": "2026-09-01",
"limit": 1000
}

Output

One dataset row per run. Records keep GymMaster's own field names:

{
"task": "get_members",
"success": true,
"demoMode": false,
"data": {
"items": [
{ "id": 1234, "firstname": "Alice", "surname": "Smith", "email": "alice@example.com", "joindate": "2025-02-01", "totalvisits": 87, "totalclasses": 12 }
],
"count": 1,
"totalReturned": 1,
"source": { "api": "Member Portal API", "host": "myclub.gymmasteronline.com", "endpoint": "/portal/api/v1/members" }
},
"timestamp": "2026-10-22T12:00:00.000Z"
}

KPI tasks return data.kpis exactly as GymMaster sends it, plus the categories and date range used. If GymMaster rejects the request, the row has "success": false and an error message that includes GymMaster's response, and the run is marked failed. API keys are never written to the dataset or the log.


Pricing

Pay per event. Prices match the live pricing on Apify:

EventWhen it is chargedPrice
Actor startOnce when the run starts, one event per GB of memory (minimum one). At the default 1 GB of memory that is $0.10 per run$0.10 per GB
Member QueryRetrieve member profiles, status, and access levels$0.01
Door Entry QueryAccess control logs with entry/exit times$0.01
Booking QueryGet class and facility reservations$0.01
Billing QueryRetrieve membership fees and payment history$0.01
Membership Plan QueryAccess plan pricing and terms$0.01
Class QueryGet group fitness schedule and attendance$0.01
Facility QueryRetrieve equipment and room availability$0.01
Site QueryAccess multi-location management data$0.01
Staff QueryGet employee data and access permissions$0.01
Report QueryRetrieve usage analytics and financial reports$0.01
ResultEach item written to the default dataset$0.00001

No task event is charged for sample runs, for runs that stop with an error (bad key, wrong site name, invalid input), or for live queries that return nothing. Apify still charges the Actor Start event on every run and the Result event for each dataset row.


Troubleshooting

"GymMaster rejected the ... key" or "GymMaster API error: ...": the key is wrong, belongs to another site, or is the wrong kind. Portal tasks need the Member Portal key, report tasks need the Report API key.

"Could not reach ...gymmasteronline.com" or HTTP 404: check siteName. It is only the subdomain, without https:// or .gymmasteronline.com (both are accepted and stripped).

"No standard report matching get_door_entries": copy a report id from the list in the error row into reportId.


Running without credentials

Without any API key (or with demoMode on) the run succeeds and returns a small sample dataset marked with "demo": true and a _notice field. It shows the output format only, it is not your data, and it charges no task event.


Built by John Rippy | Actor Arsenal