Collaborative activity: API Documentation
By: Fernanda Schenker Pieri
1. Introduction
The use of data in sports has grown significantly in recent years, supporting
decision-making processes in areas such as performance analysis, coaching, and
physical conditioning.
This report presents a documentation guide for two sports-related APIs: OpenLigaDB
and Strava. The objective is to describe their main endpoints, authentication
processes and potential applications within a sports organization.
2. API 1 OpenLigaDB
2.1 General Information
Field Value
API Type REST
Authentication Not required
Response JSON
Format
Base URL [Link]
2.2 Endpoint: Get Matches by League
🔹 Endpoint
GET /getmatchdata/{league}/{season}
🔹 Response Structure
Field Type Description
matchID integer Unique identifier of the match
matchDateTime string (datetime) Date and time of the match
[Link] string Home team name
[Link] string Away team name
matchResults array List of match results
2.3 Endpoint: Get Match by ID
🔹 Endpoint
GET /getmatchdata/{match_id}
🔹 Response Structure
Field Type Description
matchID integer Unique match identifier
leagueId integer League identifier
matchDateTime string Match date
team1 object Home team information
team2 object Away team information
matchResults array Match results
2.4 Endpoint: Get Teams
🔹 Endpoint
GET /getavailableteams/{league}/{season}
🔹 Response Structure
Field Type Description
teamId integer Unique team identifier
teamName string Team name
shortName string Abbreviated team name
teamIconUrl string URL of team logo
2.5 Endpoint: Get League Table
🔹 Endpoint
GET /getbltable/{league}/{season}
🔹 Response Structure
Field Type Description
position integer Team ranking
teamName string Team name
points integer Total points
goals integer Goals scored
opponentGoals integer Goals conceded
3. API 2 Strava
3.1 General Information
Field Value
API Type REST
Authentication OAuth 2.0
Response JSON
Format
Base URL [Link]
3.2 Authentication — OAuth 2.0 Flow
Step Description
1 User is redirected to Strava authorization page
2 User grants access to the application
3 Authorization code is returned via redirect URI
4 Code is exchanged for access token
5 Access token is used in API requests via Authorization header
3.3 Request Headers
Field Type Description
Authorization string Bearer access token (e.g., "Bearer {access_token}")
3.4 Endpoint: Get Athlete
🔹 Endpoint
GET /athlete
🔹 Response Structure
Field Type Description
id integer Athlete unique identifier
username string Username (may be null)
firstname string Athlete first name
lastname string Athlete last name
city string Athlete city
state string Athlete state/region
country string Athlete country
sex string Gender
premium boolean Premium subscription status
created_at string (datetime) Account creation date
3.5 Endpoint: Get Athlete Activities
🔹 Endpoint
GET /athlete/activities
🔹 Query Parameters
Parameter Type Description
per_page integer Number of results per
page
page integer Page number
🔹 Response Structure
Field Type Description
id integer Activity ID
name string Activity name
distance float Distance in meters
moving_time integer Time in seconds
elapsed_time integer Total elapsed time
average_speed float Average speed
sport_type string Type of activity
start_date string (datetime) Activity start time
3.6 Endpoint: Get Activity by ID
🔹 Endpoint
GET /activities/{id}
🔹 Response Structure
Field Type Description
id integer Activity ID
name string Activity name
distance float Distance in meters
moving_time integer Duration in seconds
elapsed_time integer Total elapsed time
total_elevation_gain float Elevation gain
sport_type string Activity type
start_date string (datetime) Start time
3.7 Endpoint: Get Athlete Stats
🔹 Endpoint
GET /athletes/{id}/stats
🔹 Response Structure
Field Type Description
biggest_ride_distance float Longest ride distance
biggest_climb_elevation_gain float Maximum elevation gain
recent_run_totals object Recent running statistics
ytd_run_totals object Year-to-date statistics
all_run_totals object All-time statistics
4. Application in Sports Organizations
4.1 Overview
The use of APIs in sports organizations enables different departments to access
structured data for decision-making processes.
OpenLigaDB and Strava provide complementary types of data that can support match
analysis and athlete performance monitoring.
4.2 Department Applications
Department API Use Case Data Used
Performance OpenLigaDB Analyze match results and team match data, scores,
Analysis performance teams
Coaching Staff OpenLigaDB Prepare matches and study fixtures, league tables
opponents
Scouting OpenLigaDB Monitor competitions and team match results,
Department performance standings
Fitness Strava Monitor athlete workload and distance, time, speed
Department activity levels
Medical Staff Strava Track recovery and physical activity metrics,
condition training load
Performance Strava Support physical performance activity data
Analysis evaluation
4.3 Practical Value
OpenLigaDB supports a macro-level understanding of competitions and match
outcomes, making it useful for tactical and strategic analysis.
Strava, on the other hand, provides micro-level data related to individual physical
performance, allowing clubs to monitor workload and optimize training processes.
Together, these types of data can support more informed decision-making across
different departments within a sports organization.
4.4 Integration of APIs in a Sports Analysis
Workflow
🔹Overview
The selected APIs do not directly communicate with each other. Instead, they can be
integrated within a data analysis workflow, where data from multiple sources is
combined to support decision-making processes.
🔹Integration Approach
Step Description
1 Retrieve match data from OpenLigaDB (fixtures, results, teams)
2 Retrieve athlete data from Strava (activities, performance metrics)
3 Store and process data using tools such as Python and pandas
4 Analyze data separately or in combination, depending on the use case
🔹 Practical Example
A sports organization could use OpenLigaDB to analyze match schedules and results,
while using Strava to monitor the physical performance of players.
Although the data sources are independent, combining both perspectives allows for a
broader understanding of performance at both team and individual levels.
5. Conclusion
This report presented technical documentation of two sports-related APIs:
OpenLigaDB and Strava.
OpenLigaDB provides accessible and structured match data, making it suitable for
competition analysis and match-related insights. In contrast, Strava offers
athlete-centered data focused on physical performance, requiring authentication
through OAuth 2.0.
The documentation of their main endpoints demonstrated differences in data structure,
complexity, and access requirements, while highlighting how each API can support
different functions within a sports organization.
Although the APIs operate independently, they can be integrated within a data
analysis workflow to support more comprehensive decision-making processes across
departments such as performance analysis, coaching, and fitness monitoring.