stravalib is a python library for interacting with version 3 of the Strava API.

This library is designed provide a simple and easy-to-use object model paradigm for interacting with the API, support modern versions of Python (2.7,3.2+), and expose the full functionality of the REST API.

Why use stravalib? The Strava REST API is fairly straightforward. The main reasons to use something like stravalib would be:

  • Result structs (dicts) are returned as more “strongly typed” model objects.
  • Relationships can be traversed on model objects to pull in related content “seamlessly”.
  • Units and date/time/durations types are converted to python objects to facilite converting and displaying these values.
  • Built-in support for rate limiting and more intelligent error handling.


High-level changes in library by version.

Getting Started

The package is avialable on PyPI to be installed using easy_install or pip:

shell$ pip install stravalib

Of course, by itself this package doesn’t do much; it’s a library. So it is more likely that you will list this package as a dependency in your own install_requires directive in Or you can download it and explore Strava content in your favorite python REPL.

In order to make use of this library, you will need to have access keys for one or more Strava users. These access keys can be fetched by using helper methods provided by stravalib.client.Client class. See Authentication and Authorization for more details.

API Reference

In-depth reference guide for developing software with stravalib.

Indices and tables