Skip to main content

Simple API client for interacting with the OrangeTheory Fitness APIs.

Review the documentation.

This library allows access to the OrangeTheory API to retrieve workouts and performance data, class schedules, studio information, and bookings.

Installation

pip install otf-api

Overview

To use the API, you need to create an instance of the Otf class. This will authenticate you with the API and allow you to make requests. When the Otf object is created it automatically grabs your member details and home studio, to simplify the process of making requests.

You can either pass an OtfUser object to the OtfClass or you can pass nothing and allow it to prompt you for your username and password.

You can also export environment variables OTF_EMAIL and OTF_PASSWORD to get these from the environment.

from otf_api import Otf, OtfUser

otf = Otf()

# OR

otf = Otf(user=OtfUser(<email_address>,<password>))

OpenAPI Schema

This library generates OpenAPI 3.0.3 schema files from its Pydantic models, providing a machine-readable representation of the API structure and data models. These schemas are automatically generated during the build process and are available as build artifacts.

What's Generated

The OpenAPI schema includes:

  • All public Pydantic models from the otf_api.models module
  • Complete type definitions with field descriptions and constraints
  • Nested model references and relationships
  • Both YAML (openapi.yaml) and JSON (openapi.json) formats

Why It's Generated

The OpenAPI schema serves as a contract for other language implementations and tools:

  • TypeScript Implementation: Used by mphuff/otf-api-ts to generate type-safe TypeScript clients
  • API Documentation: Provides machine-readable API documentation
  • Code Generation: Enables automatic code generation for other programming languages
  • Integration Tools: Supports IDE integrations and API testing tools

Generating the Schema

To generate the OpenAPI schema locally:

# Install dependencies
uv sync

# Generate schema
uv run python scripts/generate_openapi.py

The schema files will be created in the schema/ directory:

  • schema/openapi.yaml - YAML format (recommended for readability)
  • schema/openapi.json - JSON format (recommended for tooling)

Schema Structure

The generated schema follows OpenAPI 3.0.3 specification with:

  • Info: API metadata and version information
  • Components/Schemas: All Pydantic models as reusable schema definitions
  • Field Names: Uses snake_case field names to match Python usage
  • Type References: Properly resolved nested model references

The schema represents the complete structure of public API objects documented in the user documentation, making it easy to build compatible clients in other languages.

Metadata

Release files for otf-api 0.21.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for otf-api 0.21.1
File Size Uploaded
otf_api-0.21.1.tar.gz 95.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for otf-api 0.21.1
File Interpreter ABI Platform
otf_api-0.21.1-py3-none-any.whl Python 3 none any Details

Total release size: 213.8 kB

Release files / otf_api-0.21.1.tar.gz

Download URL otf_api-0.21.1.tar.gz
Size 95.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d6d6396848713bc371c9ce57d09d889f06f83df64bdcd86d3fa754f6b0ef81fb
BLAKE2b-256 checksum
How to use checksums
3796f180946598c2df70c6db1076698e3b4ee705e4bef52e32161a55f671e7c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / otf_api-0.21.1-py3-none-any.whl

Download URL otf_api-0.21.1-py3-none-any.whl
Size 118.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
76a6cfc50c541ea04ab411a9ab8989d3967f8aeb91e0e7b7e4904f0c45906f6e
BLAKE2b-256 checksum
How to use checksums
f37bad358c32cd7b5508e57aff1e2094ab64a76c2d87d026ebc400035456aff3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.21.1 This release

2 release files

0.21.0

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.3

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.3

2 release files

0.13.2

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.1

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page