Skip to main content

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:

  1. Going to your studio's website
  2. Looking at the Momence booking widget URL — it will contain hostId=XXXX
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

momence_api-0.1.0.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

momence_api-0.1.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

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

Hashes for momence_api-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c170691af91e4026510743d79545dbda3e967a2721dc61b93d229090e2a6851d
MD5 da59a8506cebf6e1152b522e7143faad
BLAKE2b-256 a740226f096f48727c56ef0145b311cebdf532930fd4d49a7a26f0f0aebc5422

See more details on using hashes here.

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

Hashes for momence_api-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6d8595458d1bd5c159ab3ce9021f05468d40a32b8fce84de31b70c9ad1582c6c
MD5 de65bb3e558005df5b0b29f4d472985f
BLAKE2b-256 a2152997f76780db235580fa46cccc7d1458b249edff7d4ea5f972376c0cb7e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page