Skip to main content

Whoop

Whoop is a wearable fitness and health tracking platform that monitors physiological data including heart rate, sleep, recovery, and strain, providing personalized insights to optimize athletic performance and overall wellness.

Whoop icon

Power end-to-end data operations for your Whoop API with Nexla. Our bi-directional Whoop connector is purpose-built for Whoop, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Whoop or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Whoop workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a Whoop credential, you need to obtain your Client ID and Client Secret from your Whoop Developer account. Whoop uses Client ID/Secret Key authentication for all API requests, with the Client ID and Client Secret sent in request headers.

To obtain your Whoop credentials, follow these steps:

  1. Sign in to your Whoop account using your administrator credentials.

  2. Navigate to the Whoop Developer Portal or visit developer.whoop.com to access your developer account.

  3. If you don't have a developer account yet, click Sign up or Register and complete the registration process. You may need to provide information about your intended use of the Whoop API.

  4. Once you have access to the Whoop Developer Portal, navigate to API Keys, Applications, or Credentials to access your application management.

  5. Create a new application or select an existing application from your dashboard. Click on the application name to open its settings.

  6. In the application settings, navigate to the Credentials tab or API Keys section.

  7. Under Client Credentials, you will find your Client ID and Client Secret. If these are not visible, click Generate or Create to generate new client credentials.

  8. Copy both the Client ID and Client Secret immediately, as the Client Secret may not be accessible again after you navigate away from the page.

  9. Store both credentials securely, as you will need them to configure your Nexla credential. The Client Secret is sensitive information and should be kept confidential.

The Client ID and Client Secret are sent in request headers (CLIENT-ID and CLIENT-SECRET) for all API requests to the Whoop API. These credentials authenticate your requests and grant access to Whoop resources based on your account permissions. If your credentials are compromised, you should immediately revoke them in your Whoop Developer Portal and generate new ones. For detailed information about obtaining client credentials, API authentication, and available endpoints, refer to the Whoop API documentation.

Authenticate

Credentials required

Key based authentication with a CLIENT_ID and CLIENT_SECRET in request headers.

FieldRequiredSecretDescription
API Server URLYesNoEnter the URL for the API Server URL you wish to connect to.
Client IDYesNoYour Whoop API Client ID. This will be used as a value for the request header as CLIENT_ID.
Client SecretYesYesYour Whoop API Client Secret. This will be used as a value for the request header as CLIENT_SECRET.

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – Whoop

WhoopCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  2. Enter your API Server URL in the API Server URL field. This should be the URL for the API Server you wish to connect to. The default value is https://api.prod.whoop.com. The API Server URL determines which Whoop API environment will be used for requests.

  3. Enter your Client ID in the Client ID field. This is your Whoop API Client ID. This will be used as a value for the request header as CLIENT-ID. The Client ID is used to identify your application when making API requests.

  4. Enter your Client Secret in the Client Secret field. This is your Whoop API Client Secret. This will be used as a value for the request header as CLIENT-SECRET. The Client Secret is sensitive information and must be kept confidential.

    Your Whoop credentials (Client ID, Client Secret) can be found in the Whoop Developer Portal under API Keys or Applications. The Client ID and Client Secret are sent in request headers (CLIENT-ID and CLIENT-SECRET) for all API requests to the Whoop API.

    If your credentials are compromised, you should immediately revoke them in your Whoop Developer Portal and generate new ones. The credentials provide access to your Whoop account data and should be treated as sensitive information. Keep your credentials secure and do not share them publicly.

    For detailed information about obtaining client credentials, API authentication, and available endpoints, see the Whoop API documentation.

  5. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Whoop connector tile, then select the credential that will be used to connect to the Whoop instance, and click Next; or, create a new Whoop credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Whoop endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

Get Device Metrics for Team

This endpoint template fetches device metrics for a given team from your Whoop account. Use this template when you need to access device metrics, team performance data, or device analytics for analysis, reporting, or integration purposes.

  • Enter the Team ID in the Team ID field. This should be the Team ID for fetching device metrics. This will be used for issuing a request from /enterprise-service/v1/exports?teamId=<team-id>. The Team ID determines which team's device metrics will be retrieved.
  • Enter the Metrics Date in the Metrics Date field. This should be the date value for getting metrics in yyyy-MM-dd format. You can use Nexla macros like `{now}`, `{now - 1}` etc. The default value is `{now-1}` (yesterday). The Metrics Date determines which date's metrics will be retrieved.

This endpoint fetches device metrics for a given team from your Whoop account, including device performance data, metrics, and other device analytics. Note that clicking on the TEST button for this template will not display any data as this template processes data in a 2-step sequence for downloading a file from a generated URL.

For detailed information about device metrics, API response structures, and available device data, see the Whoop API documentation.

Get Recent Cycles for Users in Lookup

This endpoint template retrieves recent cycles for a list of users stored in a Nexla lookup table. Note that this call fetches a maximum of 100 recent items per user. Use this template when you need to batch fetch cycle data for multiple users from a lookup table for analysis, reporting, or integration purposes.

  • Select the Lookup for fetching Users List from the Lookup for fetching Users List pulldown menu. This should be the Nexla Lookup that contains Users to iterate over. The Lookup determines which users will be used to fetch cycle data.
  • Enter the User ID column name in Lookup in the User ID column name in Lookup field. This should be the column name in the lookup table that contains the user IDs. The User ID column name determines which column will be used to extract user IDs from the lookup table.

This endpoint retrieves recent cycles for a list of users stored in a Nexla lookup table, allowing you to batch fetch cycle data for multiple users efficiently. Note that this call fetches a maximum of 100 recent items per user. The endpoint iterates over the lookup table and fetches cycles for each user ID in the specified column.

For detailed information about cycles, API response structures, and available cycle data, see the Whoop API documentation.

Get Recent Recoveries for Users in Lookup

This endpoint template retrieves recoveries for a list of users stored in a Nexla lookup table. Note that this call fetches a maximum of 100 recent items per user. Use this template when you need to batch fetch recovery data for multiple users from a lookup table for analysis, reporting, or integration purposes.

  • Select the Lookup for fetching Users List from the Lookup for fetching Users List pulldown menu. This should be the Nexla Lookup that contains Users to iterate over. The Lookup determines which users will be used to fetch recovery data.
  • Enter the User ID column name in Lookup in the User ID column name in Lookup field. This should be the column name in the lookup table that contains the user IDs. The User ID column name determines which column will be used to extract user IDs from the lookup table.

This endpoint retrieves recoveries for a list of users stored in a Nexla lookup table, allowing you to batch fetch recovery data for multiple users efficiently. Note that this call fetches a maximum of 100 recent items per user. The endpoint iterates over the lookup table and fetches recoveries for each user ID in the specified column.

For detailed information about recoveries, API response structures, and available recovery data, see the Whoop API documentation.

Get Recent Sleeps for Users in Lookup

This endpoint template retrieves sleeps for a list of users stored in a Nexla lookup table. Note that this call fetches a maximum of 100 recent items per user. Use this template when you need to batch fetch sleep data for multiple users from a lookup table for analysis, reporting, or integration purposes.

  • Select the Lookup for fetching Users List from the Lookup for fetching Users List pulldown menu. This should be the Nexla Lookup that contains Users to iterate over. The Lookup determines which users will be used to fetch sleep data.
  • Enter the User ID column name in Lookup in the User ID column name in Lookup field. This should be the column name in the lookup table that contains the user IDs. The User ID column name determines which column will be used to extract user IDs from the lookup table.

This endpoint retrieves sleeps for a list of users stored in a Nexla lookup table, allowing you to batch fetch sleep data for multiple users efficiently. Note that this call fetches a maximum of 100 recent items per user. The endpoint iterates over the lookup table and fetches sleeps for each user ID in the specified column.

For detailed information about sleeps, API response structures, and available sleep data, see the Whoop API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Clicking the TEST button for the "Get Device Metrics for Team" template will not display any data, as this template processes data in a 2-step sequence for downloading a file from a generated URL.

Manual configuration

Whoop data sources can also be manually configured to ingest data from any valid Whoop API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Whoop API endpoints typically follow the pattern {api_url}/{service}/v1/{endpoint_path}, where {api_url} is your API Server URL (e.g., https://api.prod.whoop.com). Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Whoop data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.