# Update source-strava This PR was autogenerated by running `airbyte-ci connectors --name=source-strava up_to_date --pull` We've set the `auto-merge` label on it, so it will be automatically merged if the CI pipelines pass. If you don't want to merge it automatically, please remove the `auto-merge` label. Please reach out to the Airbyte Connector Tooling team if you have any questions or concerns. ## Operations - Upgrade the base image to the latest version in metadata.yaml: Successful - PATCH bump source-strava version to 0.3.33: Successful - Build source-strava docker image for platform(s) linux/amd64, linux/arm64: Successful - Get dependency updates: Successful - Create or update pull request on Airbyte repository: Successful - Add changelog entry: Successful ## Dependency updates We use [`syft`](https://github.com/anchore/syft) to generate a SBOM for the latest connector version and the one from the PR. It allows us to spot the dependencies that have been updated at all levels and for all types of dependencies (system, python, java etc.). Here are the dependencies that have been updated compared to `airbyte/source-strava:latest`. Keep in mind that `:latest` does not always match the connector code on the main branch. It is the latest released connector image when the head commit of this branch was created. | Type | Name | State | Previous Version | New Version | |------|------|-------|-------------|------------------| | python | airbyte-cdk | updated | 6.60.12 | **7.3.4** | | python | anyio | updated | 4.10.0 | **4.11.0** | | python | cattrs | updated | 24.1.2 | **25.2.0** | | python | importlib_metadata | updated | 8.0.0 | **8.7.0** | | python | joblib | updated | 1.5.1 | **1.5.2** | | python | jsonschema | updated | 4.17.3 | **4.25.1** | | python | pandas | updated | 2.2.2 | **2.2.3** | | python | whenever | updated | 0.6.16 | **0.8.8** | | python | zipp | updated | 3.19.2 | **3.23.0** | | python | jsonschema-specifications | added | not present | **2025.4.1** | | python | referencing | added | not present | **0.36.2** | | python | rpds-py | added | not present | **0.27.1** | | python | filelock | removed | 3.18.0 | **not present** | | python | pyrsistent | removed | 0.20.0 | **not present** | > [!IMPORTANT] > **Auto-merge enabled.** > > _This PR is set to merge automatically when all requirements are met._ Co-authored-by: octavia-bot-hoard[bot] <230633153+octavia-bot-hoard[bot]@users.noreply.github.com>
12 KiB
12 KiB
Strava
This page guides you through the process of setting up the Strava source connector.
Prerequisites
Scopes:
activity:read_all
Setup guide
Step 1: Set up Strava
For Airbyte Open Source:
Follow these steps to get the required credentials and inputs:
client_idandclient_secret- Create a Strava account
- Continue to follow the instructions from the doc above to obtain
client_idandclient_secret
refresh_token- Enter this URL into your browser (make sure to add your
client_idfrom previous step:https://www.strava.com/oauth/authorize?client_id=[REPLACE_WITH_YOUR_CLIENT_ID]&response_type=code&redirect_uri=https://localhost/exchange_token&approval_prompt=force&scope=activity:read_all
- Authorize through the UI
- Browser will redirect you to an empty page with a URL similar to
https://localhost/exchange_token?state=&code=b55003496d87a9f0b694ca1680cd5690d27d9d28&scope=activity:read_all - Copy the authorization code above (in this example it would be
b55003496d87a9f0b694ca1680cd5690d27d9d28) - Make a cURL request to exchange the authorization code and scope for a refresh token:
-
curl -X POST https://www.strava.com/oauth/token \ -F client_id=YOUR_CLIENT_ID \ -F client_secret=YOUR_CLIENT_SECRET \ -F code=AUTHORIZATION_CODE \ -F grant_type=authorization_code - The resulting json will contain the
refresh_token - Example Result:
-
{ "token_type": "Bearer", "expires_at": 1562908002, "expires_in": 21600, "refresh_token": "REFRESHTOKEN", "access_token": "ACCESSTOKEN", "athlete": { "id": 123456, "username": "MeowTheCat", "resource_state": 2, "firstname": "Meow", "lastname": "TheCat", "city": "", "state": "", "country": null, ... } } - Refer to Strava's Getting Started - Oauth or Authentication documents for more information
- Enter this URL into your browser (make sure to add your
athlete_id- Go to your athlete page by clicking your name on the Strava dashboard or click on "My Profile" on the drop down after hovering on your top bar icon
- The number at the end of the url will be your
athlete_id. For example17831421would be theathlete_idfor https://www.strava.com/athletes/17831421
For Airbyte Cloud:
athlete_id- Go to your athlete page by clicking your name on the Strava dashboard or click on "My Profile" on the drop down after hovering on your top bar icon
- The number at the end of the url will be your
athlete_id. For example17831421would be theathlete_idfor https://www.strava.com/athletes/17831421
Step 2: Set up the source connector in Airbyte
For Airbyte Cloud:
- Log into your Airbyte Cloud account.
- In the left navigation bar, click Sources. In the top-right corner, click + new source.
- On the source setup page, select Strava from the Source type dropdown and enter a name for this connector.
- lick
Authenticate your account. - Log in and Authorize to the Strava account
- Set required Athlete ID and Start Date
- click
Set up source.
For Airbyte Open Source:
- Go to local Airbyte page.
- In the left navigation bar, click Sources. In the top-right corner, click + new source.
- On the source setup page, select Strava from the Source type dropdown and enter a name for this connector.
- Add Client ID, Client Secret and Refresh Token
- Set required Athlete ID and Start Date
- Click
Set up source.
Supported sync modes
The Strava source connector supports the following sync modes:
- Full Refresh - Overwrite
- Full Refresh - Append
- Incremental Sync - Append
- Incremental Sync - Append + Deduped
Supported streams
- Athlete Stats
- Activities (Incremental)
Performance considerations
Strava API has limitations to 100 requests every 15 minutes, 1000 daily. More information about Strava rate limits and adjustments to those limits can be found here.
Changelog
Expand to review
| Version | Date | Pull Request | Subject |
|---|---|---|---|
| 0.3.33 | 2025-10-14 | 67918 | Update dependencies |
| 0.3.32 | 2025-10-07 | 67456 | Update dependencies |
| 0.3.31 | 2025-09-30 | 66893 | Update dependencies |
| 0.3.30 | 2025-09-23 | 66371 | Update dependencies |
| 0.3.29 | 2025-09-09 | 65664 | Update dependencies |
| 0.3.28 | 2025-08-23 | 65412 | Update dependencies |
| 0.3.27 | 2025-08-16 | 65038 | Update dependencies |
| 0.3.26 | 2025-08-02 | 64020 | Update dependencies |
| 0.3.25 | 2025-07-12 | 63084 | Update dependencies |
| 0.3.24 | 2025-07-05 | 62682 | Update dependencies |
| 0.3.23 | 2025-06-28 | 62278 | Update dependencies |
| 0.3.22 | 2025-06-14 | 61608 | Update dependencies |
| 0.3.21 | 2025-05-25 | 60208 | Update dependencies |
| 0.3.20 | 2025-05-04 | 59581 | Update dependencies |
| 0.3.19 | 2025-04-27 | 59034 | Update dependencies |
| 0.3.18 | 2025-04-19 | 58385 | Update dependencies |
| 0.3.17 | 2025-04-12 | 57939 | Update dependencies |
| 0.3.16 | 2025-04-05 | 57411 | Update dependencies |
| 0.3.15 | 2025-03-29 | 56879 | Update dependencies |
| 0.3.14 | 2025-03-22 | 56280 | Update dependencies |
| 0.3.13 | 2025-03-08 | 55588 | Update dependencies |
| 0.3.12 | 2025-03-01 | 55095 | Update dependencies |
| 0.3.11 | 2025-02-22 | 54482 | Update dependencies |
| 0.3.10 | 2025-02-15 | 54087 | Update dependencies |
| 0.3.9 | 2025-02-08 | 53562 | Update dependencies |
| 0.3.8 | 2025-02-01 | 53075 | Update dependencies |
| 0.3.7 | 2025-01-25 | 52019 | Update dependencies |
| 0.3.6 | 2025-01-11 | 51460 | Update dependencies |
| 0.3.5 | 2024-12-28 | 50764 | Update dependencies |
| 0.3.4 | 2024-12-21 | 50337 | Update dependencies |
| 0.3.3 | 2024-12-14 | 49777 | Update dependencies |
| 0.3.2 | 2024-12-12 | 49432 | Update dependencies |
| 0.3.1 | 2024-10-28 | 47601 | Update dependencies |
| 0.3.0 | 2024-08-27 | 44820 | Refactor connector to manifest-only format |
| 0.2.17 | 2024-08-24 | 44667 | Update dependencies |
| 0.2.16 | 2024-08-17 | 44354 | Update dependencies |
| 0.2.15 | 2024-08-10 | 43588 | Update dependencies |
| 0.2.14 | 2024-08-03 | 43283 | Update dependencies |
| 0.2.13 | 2024-07-20 | 42131 | Fix bug in start date format in manifest |
| 0.2.12 | 2024-07-20 | 42353 | Update dependencies |
| 0.2.11 | 2024-07-13 | 41933 | Update dependencies |
| 0.2.10 | 2024-07-10 | 41499 | Update dependencies |
| 0.2.9 | 2024-07-09 | 41201 | Update dependencies |
| 0.2.8 | 2024-07-06 | 40970 | Update dependencies |
| 0.2.7 | 2024-06-25 | 40393 | Update dependencies |
| 0.2.6 | 2024-06-21 | 39941 | Update dependencies |
| 0.2.5 | 2024-06-06 | 39221 | [autopull] Upgrade base image to v1.2.2 |
| 0.2.4 | 2024-04-19 | 37266 | Updating to 0.80.0 CDK |
| 0.2.3 | 2024-04-18 | 37266 | Manage dependencies with Poetry. |
| 0.2.2 | 2024-04-15 | 37266 | Base image migration: remove Dockerfile and use the python-connector-base image |
| 0.2.1 | 2024-04-12 | 37266 | schema descriptions |
| 0.2.0 | 2023-10-24 | 31007 | Migrate to low-code framework |
| 0.1.4 | 2023-03-23 | 24368 | Add date-time format for input |
| 0.1.3 | 2023-03-15 | 24101 | certified to beta, fixed spec, fixed SAT, added unit tests |
| 0.1.2 | 2021-12-15 | 8799 | Implement OAuth 2.0 support |
| 0.1.1 | 2021-12-06 | 8425 | Update title, description fields in spec |
| 0.1.0 | 2021-10-18 | 7151 | Initial release supporting Strava API |