Unofficial Python client for the Momence API — book classes, manage bookings, and list sessions
Project description
momence-api
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.).
Installation
pip install momence-api
Quick Start
As a Python library
from 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)
As a CLI tool
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 user
Finding Your Studio's Host ID
Every 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
API Reference
MomenceClient(email, password, token_path=None)
Create a client instance. Tokens are cached at ~/.config/momence/token.json by default.
Methods
| 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 |
Properties
| Property | Description |
|---|---|
member_id |
Your Momence member ID |
first_name |
Your first name |
last_name |
Your last name |
Disclaimer
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.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file momence_api-0.1.0.tar.gz.
File metadata
- Download URL: momence_api-0.1.0.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c170691af91e4026510743d79545dbda3e967a2721dc61b93d229090e2a6851d
|
|
| MD5 |
da59a8506cebf6e1152b522e7143faad
|
|
| BLAKE2b-256 |
a740226f096f48727c56ef0145b311cebdf532930fd4d49a7a26f0f0aebc5422
|
File details
Details for the file momence_api-0.1.0-py3-none-any.whl.
File metadata
- Download URL: momence_api-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d8595458d1bd5c159ab3ce9021f05468d40a32b8fce84de31b70c9ad1582c6c
|
|
| MD5 |
de65bb3e558005df5b0b29f4d472985f
|
|
| BLAKE2b-256 |
a2152997f76780db235580fa46cccc7d1458b249edff7d4ea5f972376c0cb7e5
|