API Documentation¶
We are trying to provide useful APIs to help federations and service providers to integrate better with us. We also try to be as open as possible with the data, while respecting GDPR and the integrity of the results and meetings.
We have had a few implementations of our APIs over the years, and created tools on request for specific partners.
Going forward from 2026, we intend to support one approach using Django Rest Framework, based on URL patterns prefixed with api, such as https://data.opentrack.run/api/hello/
API Docs status¶
At the time of writing, 24 June 2026, we're updating these documentation pages, and also some older examples. Some snippets may be outdated or incorrect, but we hope to have it all correct, reviewed and useful by July 2026.
The purpose of these pages is to be a cookbook showing you the correct approach to change something, with links to browse the API and to example scripts, and not to document fields exhaustively.
API stability¶
These APIs should all be considered experimental at this stage. As we get feedback, we may tweak them by removing irrelevant fields from returned blocks and payloads, adding query parameters etc. We will try not to break any of our examples, or if we change them, to update them at the same time.
Example code¶
All of our code examples are in Python. We are also updating a GitHub repo of OpenTrack API Examples. You can clone this and adopt the code.
Playground¶
A playground and full list of our APIs can be found here:
API Playground
This uses Django's Browsable API - you will be making real API calls with your own login, guided by web forms and links. This will let you explore parameters and see the data packets returned.
Support¶
We have a Google Chat group for Opentrack API users; if you are a developer working with these, we can add you so it's easy to drop questions and screenshots into the chat, share links and so on, and contact our team. Alternatively, email us on info@opentrack.run.
What you can do with the API¶
The main uses we envision are...
Competition Calendars¶
- List competitions, and query them based on criteria
- Create competitions
Navigating a competition¶
Where you just need to fetch data, and it is not sensitive, we also provide a number of "json URLs", which you can fetch and view in a browser. These do NOT use the same API framework. In general they will not return dates of birth, unless the nation in question makes this public.
These will let you - sync the timetable - fetch competitors - fetch results - build your own near-real-time results experience.
For full real-time, we also have a Live Notifications system.
However, if you're already working with the API and are a meeting director, you can use it to fetch anything about the competition.
Competition Setup and Manipulation¶
- List/add/edit/delete events
- Edit their round structure - specifying numbers of heats, finals etc
- Set precise timetables
- Renumber events
- Merge events into one safely
- Split events up based on age and gender
- List/add/edit/delete competitors
- Assign competitors to events
- Modify competitors - e.g. assign a world athletics ID to someone, or change their bib
- Update their PB/SB info and checkin status
- List/add/edit/delete the Units in a competition
- Set up start lists directly
- Input results of all types
- Reset and redo an event
Federation and Athlete Management¶
For clubs who manage membership through us, and federations who use us for licence management, we aim to:
- List members of your organisation (current and expired)
- Allow easy licence checking by competition organisers
Querying past performances¶
We maintain a table of all past individual performances in OpenTrack. Federations using us for all their results can use APIs to retrieve these into their own data warehouses, embed rankings and top lists in their websites
If you have other needs, please contact us and ask.