Skip to main content

Strava

Strava is a fitness tracking social network for runners and cyclists, exposing athlete profiles, activities, segments, and clubs through its REST API. Nexla connects to the Strava API to ingest activity and athlete data or to push updates and new activities back to Strava.

Strava icon

Power end-to-end data operations for your Strava API with Nexla. Our bi-directional Strava connector is purpose-built for Strava, 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 Strava or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Strava 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

Strava authenticates API requests using OAuth 2.0. Before creating a Strava credential in Nexla, you need to register an API application in your Strava account to obtain a Client ID and Client Secret, then grant Nexla access through the three-legged OAuth authorization flow.

To register a Strava API application and obtain your credentials, follow these steps:

  1. Sign in to your Strava account at strava.com.

  2. Navigate to your API application settings at strava.com/settings/api.

  3. Complete the application form, providing an application name, a website, and an Authorization Callback Domain. The callback domain must be set to a value that permits Nexla's OAuth redirect to complete.

  4. After the application is created, note the Client ID and Client Secret shown on the API settings page. The Client Secret is sensitive and should be kept confidential.

  5. Decide which OAuth scopes your integration requires. Strava supports scopes such as read, read_all, activity:read, activity:read_all, activity:write, profile:read_all, and profile:write. Read scopes are needed to ingest athlete and activity data, and write scopes are needed to update athletes, star segments, or create and upload activities.

When you connect in Nexla, Strava redirects you to authorize the application, and the returned authorization code is exchanged for access and refresh tokens automatically. For details on the authorization flow, token exchange, and scopes, see the Strava API Authentication documentation and the Strava API Reference.

Authenticate

Credentials required

An OAuth authentication flow where users must authorize an application to access their data

FieldRequiredSecretDescription
Authorization URLNoNoThe URL endpoint where users authenticate and authorize access
Client IDYesYesA unique public identifier assigned to your application
Access ScopeNoNoA space-separated list of permissions your application requests
Token URLNoNoThe URL endpoint where authorization codes are exchanged for access tokens
Client SecretNoYesA private key used to authenticate your application when requesting tokens

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.

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

  3. Confirm the Authorization URL and Token URL fields. Strava uses https://www.strava.com/oauth/authorize for authorization and https://www.strava.com/oauth/token for token exchange.

  4. Enter the Client ID and Client Secret from your Strava API application, and set the Access Scope to the space-separated list of permissions your integration requires.

  5. Click the Authenticate button and complete the Strava authorization prompt to grant Nexla access. Strava will redirect back to Nexla and the access and refresh tokens will be stored with the credential.

    If your Client Secret is compromised, revoke or reset it from your Strava API application settings and update the credential in Nexla with the new value.

    For detailed information about OAuth scopes, token exchange, and available endpoints, see the Strava API Authentication documentation and the Strava API Reference.

  6. 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 Strava connector tile, then select the credential that will be used to connect to Strava, and click Next; or, create a new Strava 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 Strava 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.

[Rest API] Get Authenticated Athlete

This endpoint template retrieves the profile of the currently authenticated athlete. Use this template when you need the athlete's identity, profile attributes, and account details.

  • Get Authenticated Athlete. This endpoint returns the profile associated with the credential's access token.

For details on the response structure and available athlete fields, see the Strava API Reference.

[Rest API] Get Athlete Stats

This endpoint template retrieves activity statistics for an athlete, including recent, year-to-date, and all-time totals for their runs, rides, and swims.

  • Get Athlete Stats. Provide the athlete ID whose statistics you want to fetch.

For details on the response structure and available statistics, see the Strava API Reference.

[Rest API] Get Zones

This endpoint template retrieves the heart rate and power zones of the authenticated athlete.

  • Get Zones. This endpoint returns the zone configuration for the authenticated athlete.

For details on the response structure and available zone fields, see the Strava API Reference.

[Rest API] List Athlete Activities

This endpoint template retrieves a list of activities for the authenticated athlete. Use this template to ingest the athlete's activity feed for analysis and reporting.

  • List Athlete Activities. Results can be paginated and filtered by time range.

For details on the response structure, pagination, and available activity fields, see the Strava API Reference.

[Rest API] Get Activity

This endpoint template retrieves the details of a single activity by its ID.

  • Get Activity. Provide the activity ID whose details you want to fetch.

For details on the response structure and available activity fields, see the Strava API Reference.

[Rest API] List Activity Laps

This endpoint template retrieves the laps recorded for a given activity.

  • List Activity Laps. Provide the activity ID whose laps you want to fetch.

For details on the response structure and available lap fields, see the Strava API Reference.

[Rest API] Get Activity Zones

This endpoint template retrieves the heart rate and power zone distribution for a given activity.

  • Get Activity Zones. Provide the activity ID whose zone data you want to fetch.

For details on the response structure and available zone fields, see the Strava API Reference.

[Rest API] List Activity Comments

This endpoint template retrieves the comments posted on a given activity.

  • List Activity Comments. Provide the activity ID whose comments you want to fetch.

For details on the response structure and available comment fields, see the Strava API Reference.

[Rest API] List Activity Kudoers

This endpoint template retrieves the athletes who gave kudos to a given activity.

  • List Activity Kudoers. Provide the activity ID whose kudoers you want to fetch.

For details on the response structure and available kudoer fields, see the Strava API Reference.

[Rest API] Get Segment

This endpoint template retrieves the details of a single segment by its ID.

  • Get Segment. Provide the segment ID whose details you want to fetch.

For details on the response structure and available segment fields, see the Strava API Reference.

[Rest API] List Starred Segments

This endpoint template retrieves the segments starred by the authenticated athlete.

  • List Starred Segments. This endpoint returns the segments the authenticated athlete has starred.

For details on the response structure and available segment fields, see the Strava API Reference.

[Rest API] List Segment Efforts

This endpoint template retrieves the efforts recorded on a given segment.

  • List Segment Efforts. Provide the segment ID whose efforts you want to fetch.

For details on the response structure and available effort fields, see the Strava API Reference.

[Rest API] Get Segment Effort

This endpoint template retrieves the details of a single segment effort by its ID.

  • Get Segment Effort. Provide the segment effort ID whose details you want to fetch.

For details on the response structure and available effort fields, see the Strava API Reference.

[Rest API] Explore Segments

This endpoint template searches for popular segments within a geographic bounding box.

  • Explore segments. Provide a bounding box and optional filters to discover segments in an area.

For details on the request parameters and response structure, see the Strava API Reference.

[Rest API] Get Club

This endpoint template retrieves the details of a single club by its ID.

  • Get Club. Provide the club ID whose details you want to fetch.

For details on the response structure and available club fields, see the Strava API Reference.

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.

Manual configuration

Strava data sources can also be manually configured to ingest data from any valid Strava API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. 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 Strava 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.

Use as a destination

Click the + icon on the Nexset that will be sent to the Strava destination, and select the Send to Destination option from the menu. Select the Strava connector from the list of available destination connectors, then select the credential that will be used to connect to Strava, and click Next; or, create a new Strava credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Strava endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

[Rest API] Create an Activity

This endpoint template creates new activities for the authenticated athlete using records from a Nexset. Use this template to add manually logged activities to Strava from your Nexla flows.

  • Create an Activity. Each record from your Nexset is sent as a separate request containing the activity's name, type, start time, and duration.

The request body must match the format expected by the Strava API. For details on required fields and available activity properties, see the Strava API Reference.

[Rest API] Upload Activity

This endpoint template uploads activity files to Strava for the authenticated athlete.

  • Upload Activity. Each record from your Nexset is sent as a separate upload request. Uploads are processed asynchronously by Strava.

Strava processes uploads asynchronously and returns an upload status that can be polled. For details on supported file formats and the upload flow, see the Strava API Reference.

[Rest API] Update Activity

This endpoint template updates an existing activity for the authenticated athlete using records from a Nexset.

  • Update Activity. Include the activity ID to identify the activity to update, along with the fields to change.

The request body must match the format expected by the Strava API. For details on updatable fields, see the Strava API Reference.

[Rest API] Update Athlete

This endpoint template updates the profile of the authenticated athlete using records from a Nexset.

  • Update Athlete. Include the athlete profile fields to change, such as weight.

The request body must match the format expected by the Strava API. For details on updatable profile fields, see the Strava API Reference.

[Rest API] Star Segment

This endpoint template stars or unstars a segment for the authenticated athlete using records from a Nexset.

  • Star Segment. Include the segment ID and the desired starred state for each record.

The request body must match the format expected by the Strava API. For details, see the Strava API Reference.

Manual configuration

Strava destinations can also be manually configured to send data to any valid Strava API endpoint. 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, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Strava write endpoints expect specific request formats and scopes. Update and star operations require the ID of the object to be modified, and write scopes such as activity:write or profile:write must be granted on the credential.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Strava endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Strava endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.