Unofficial Python client for the Momence API. Book fitness classes, manage bookings, and list sessions at any Momence-powered studio (yoga, pilates, CrossFit, dance, etc.).
pip install momence-apifrom momence import MomenceClient
client = MomenceClient("you@example.com", "your-password")
# List sessions at a studio (no auth required)
sessions = client.list_sessions(host_id=5610, start="2026-04-01", end="2026-04-07")
for s in sessions:
print(f"{s['starts_at']} — {s['title']} ({s['teacher']})")
# Book a class (auto-detects your compatible membership)
result = client.book(session_id=131944193, host_id=5610)
print(result) # {"status": "success", "payload": {...}}
# View your upcoming bookings
bookings = client.my_bookings(host_id=5610)
for event in bookings["payload"]["events"]:
print(f"{event['startsAt']} — {event['name']}")
# Cancel a booking
client.cancel(booking_id=299044233)export MOMENCE_EMAIL="you@example.com"
export MOMENCE_PASSWORD="your-password"
# List available classes
momence list-sessions --host-id 5610 --start 2026-04-01 --end 2026-04-07
# Book a class
momence book --session-id 131944193 --host-id 5610
# View your bookings
momence my-bookings --host-id 5610
# Cancel a booking
momence cancel --booking-id 299044233
# Show your account info
momence userEvery Momence-powered studio has a unique host ID. You can find it by:
- Going to your studio's website
- Looking at the Momence booking widget URL — it will contain
hostId=XXXX - Or checking the studio's Momence page URL:
momence.com/u/studio-name
Create a client instance. Tokens are cached at ~/.config/momence/token.json by default.
| Method | Auth Required | Description |
|---|---|---|
list_sessions(host_id, start?, end?) |
No | List available sessions for a studio |
list_dates(host_id) |
No | List dates with available sessions |
book(session_id, host_id, membership_id?) |
Yes | Book a session (auto-detects membership if omitted) |
cancel(booking_id) |
Yes | Cancel a session booking |
my_bookings(host_id?) |
Yes | List upcoming bookings |
get_user() |
Yes | Get current user info |
get_compatible_memberships(session_id) |
Yes | List memberships compatible with a session |
| Property | Description |
|---|---|
member_id |
Your Momence member ID |
first_name |
Your first name |
last_name |
Your last name |
This is an unofficial client that uses the same API as the Momence mobile app. It is not affiliated with or endorsed by Momence. Use at your own risk — API changes in the Momence app could break this library.
MIT