Club OS API Gym CRM & Lead Management
Pricing
from $0.01 / 1,000 results
Club OS API Gym CRM & Lead Management
Gym CRM & Lead Management - Sales Pipeline, Members & Conversions Access Club OS data for fitness clubs & gyms. Get leads, members, sales pipeline, tasks, appointments & communication history. Ideal for gym sales teams, franchise operations, & fitness club management.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
The Howlers
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
13 hours ago
Last modified
Categories
Share
Club OS API - Gym CRM & Lead Management
Export leads, members, staff, appointments, clubs and locations, follow-ups, sales events and KPIs from your own Club OS account, using your own Club OS API credentials (bring your own key). Useful for gyms and fitness franchises that want Club OS CRM data in a spreadsheet, a BI tool or an automation.
Status (2026-10-22): live mode follows Club OS's public API documentation (API V3 and API V2) as of 2026-10-22. It has not yet been verified against a real Club OS account. If something does not work with your club, open an issue with the error row and it will be fixed.
How it works
Club OS publishes two APIs. The actor uses only their documented read endpoints:
| API | Docs | Host | Authentication |
|---|---|---|---|
| API V3 | API V3 overview, reference | https://api.club-os.io | X-API-Key header |
| API V2 | API V2 overview, reference | https://api2.club-os.com | GET /authenticate?username=&password= returns a 24-hour token, sent as Authorization: <token> |
Getting credentials
Club OS issues API credentials to its customers on request. Email support@club-os.com (or ask your Club OS Account Manager) for an API V3 key, and for API V2 username and password if you want follow-ups, sales events or KPIs.
Tasks
| Task | API | Endpoint | What you get |
|---|---|---|---|
get_leads | V3 | GET /users?roleId=99 | Prospects. startDate / endDate filter on created date |
get_members | V3 | GET /users?roleId=7 | Members. startDate / endDate filter on created date |
get_staff | V3 | GET /users?roleId=2,3,4,5,6 | Club admins, location managers, salespeople, front desk and trainers |
get_appointments | V3 | GET /events | Events (meetings, personal training, classes, appointments, consultations) between startDate and endDate |
get_clubs | V3 | GET /clubs (+ GET /locations when clubId is set) | Clubs your key can access, and that club's locations |
get_tasks | V2 | GET /followups | Follow-ups for one location in the period |
get_sales_pipeline | V2 | GET /sales-events-occurring | Sales events for one location in the period, with attendee status and outcome |
get_reports | V2 | GET /kpis | KPI data for the club, grouped by location |
Every task except get_clubs needs clubId. get_tasks and get_sales_pipeline also need locationId.
Earlier versions listed get_communications and get_campaigns. Club OS's public API has no endpoint for either, so they were removed rather than faked.
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
task | string | get_leads | One of the tasks above |
apiKey | string | none | API V3 key |
apiUsername | string | none | API V2 username |
apiPassword | string | none | API V2 password |
clubId | string | none | Numeric Club OS club id |
locationId | string | none | Numeric Club OS location id |
startDate | string | 30 days ago | YYYY-MM-DD (UTC) |
endDate | string | today | YYYY-MM-DD (UTC), inclusive. get_appointments defaults to 30 days from today |
limit | integer | 100 | Maximum records to return |
webhookUrl | string | none | Optional URL that receives the result row as JSON |
demoMode | boolean | false | Return labeled sample data without calling Club OS |
Example
{"task": "get_leads","apiKey": "YOUR_CLUB_OS_API_V3_KEY","clubId": "100","startDate": "2026-10-01","limit": 1000}
Output
One dataset row per run. Records keep Club OS's own field names:
{"task": "get_leads","success": true,"demoMode": false,"data": {"items": [{ "userId": 52311, "clubId": 100, "locationId": 1001, "role": { "id": 99, "name": "Prospect" }, "firstName": "Michael", "lastName": "Thompson", "email": "m.thompson@example.com", "createdDate": "2026-10-03T14:12:00.000Z", "source": "Web" }],"count": 1,"total": 1,"hasMore": false,"source": { "api": "Club OS API V3", "host": "api.club-os.io" }},"timestamp": "2026-10-22T12:00:00.000Z"}
If Club OS rejects the request, the row has "success": false and an error message that includes Club OS's response, and the run is marked failed. Credentials are never written to the dataset or the log.
Pricing
Pay per event. Prices match the live pricing on Apify:
| Event | When it is charged | Price |
|---|---|---|
| Actor Start | Once per run, for every run (one event per GB of memory, minimum one) | $0.10 |
| Result | Each item written to the default dataset | $0.00001 |
Task event (one per task, for example get_leads) | Once per run, only when Club OS returns at least one live record | $0.01 |
No task event is charged for sample runs, for runs that stop with an error (bad credentials, missing clubId, invalid input), or for live queries that return zero records. Apify still charges the Actor Start event on every run and the Result event for each dataset row.
Troubleshooting
"Club OS rejected the API V3 key": the key is wrong or not active. Confirm it with Club OS support.
"Club OS rejected the API V2 username and password": API V2 uses separate credentials from API V3.
"needs clubId" / "needs locationId": run get_clubs (with your clubId) to list your club and location ids.
Running without credentials
Without credentials (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