We provide a public REST API for application developers that want to integrate their applications with Livelox. Applications should be intended for public use and not compete with Livelox to be able to qualify. We do not provide API keys for personal use at this time.
Please use the API responsibly. Do not share your API key. Do not embed your API key in end-user client applications (e.g. mobile apps); store it securely in your backend or use OAuth2-based authorization instead. Do not send an excessive number of requests. Cache data on your side when possible. We reserve the right to suspend API users not adhering to these rules without prior notice.
There are two ways to access the API.
Your application's API key should be included as an ApiKey
HTTP header with each request. Make sure to use your unique API key instead of the example API key below.
ApiKey: 559FCA56B17E48DDB971DEEF1E90C8F2
To acquire an API key, please contact info@livelox.com. Provide a brief description of your application, and why you would like to integrate it with Livelox. The API key must be kept secret and should therefore not be embedded in end-user applications (e.g. mobile apps).
For end-user applications, authorization to access the API should be given by the users rather than by using an API key. The OAuth2 protocol is used, applying the Authorization Code with PKCE Flow. This means that users will experience a one-time redirection to the Livelox website, where they allow your application to access Livelox on their behalf. Please contact info@livelox.com to acquire a client_id
. Provide your redirect URI (must not be http if other than localhost), a brief description of your application, and why you would like to integrate it with Livelox.
Authorization endpoint: https://api.livelox.com/oauth2/authorize
Token endpoint: https://api.livelox.com/oauth2/token
Token revocation endpoint: https://api.livelox.com/oauth2/revoke
User info endpoint: https://api.livelox.com/oauth2/userinfo
events.import
- lets the application import course setting information to Livelox events on behalf of a user
Authorization codes are valid for 10 minutes. Access tokens are valid for 24 hours. Refresh tokens do not expire. Users can revoke tokens or change scopes in their Livelox account settings.
For further information regarding OAuth2, check out these resources:
Livelox can be integrated with event management systems and entry/result web portals. Those systems provide event information such as classes, courses, start lists and result lists to Livelox, which in turn provides URLs to the Livelox viewer for the classes in the event. It is possible to make a fully-featured bidirectional automatic integration, like the Eventor event management system, but also simpler ones where only part of the event information is exchanged. Learn more about event integration.
GET https://api.livelox.com/events
Returns events in Livelox in JSON format.
All parameters are optional.
Name | Type | Description |
---|---|---|
from |
datetime, yyyy-mm-ddThh:mm:ssZ |
The start of the time interval in UTC to search within. |
to |
datetime, yyyy-mm-ddThh:mm:ssZ |
The end of the time interval in UTC to search within. The time interval is considered to end immediately before this time. |
q |
string | A string used to search for event names or event organisers. |
modifiedSince |
datetime, yyyy-mm-ddThh:mm:ssZ |
Returns only events that were modified later than this UTC time. |
latitude |
number | The latitude of a circle center point to search within. Used together with longitude and radius . |
longitude |
number | The longitude of a circle center point to search within. Used together with latitude and radius . |
radius |
number | The radius in meters to search within. Used together with latitude and longitude . |
south |
number | The latitude of the south edge of a bounding box to search within. Used together with north , west and east . |
north |
number | The latitude of the north edge of a bounding box to search within. Used together with south , west and east . |
west |
number | The longitude of the west edge of a bounding box to search within. Used together with south , north and east . |
east |
number | The longitude of the east edge of a bounding box to search within. Used together with south , north and west . |
countryId |
integer/string | The ID of the country where the event is organised. You can use either Livelox's internal country IDs or ISO 3166-1 alpha-3 codes. For a list of country IDs, see the endpoint GET https://api.livelox.com/countries . |
onlySearchable |
boolean | Filters the result to only include the events that have been marked as searchable from the Livelox start page. Events without valid map and class course connections are considered non-searchable. Defaults to false . |
onlyHavingValidMapAndCourses |
boolean | Filters the result to only include the events that contain a map and courses. Defaults to false . |
includeClasses |
bool | Whether to include the event's classes in the response. Defaults to true . |
includeProperties |
bool | Whether to include the event's key-value properties in the response. Defaults to true . |
cultureCode |
string | Returns culture-specific values (e.g. country names) in this language. Defaults to en-US . |
paging |
string, index:size |
Paginates the result. index is the zero-based page index; size is the number of search results per page. Example: 1:20 will return search results 21-40. |
GET https://api.livelox.com/event/{eventId}
Returns details about a specific event in Livelox in JSON format.
Name | Type | Description |
---|---|---|
eventId |
integer | The ID of the event. |
All parameters are optional.
Name | Type | Description |
---|---|---|
includeClasses |
bool | Whether to include the event's classes in the response. Defaults to true . |
includeProperties |
bool | Whether to include the event's key-value properties in the response. Defaults to true . |
cultureCode |
datetime, yyyy-mm-ddThh:mm:ssZ |
Returns culture-specific values (e.g. country names) in this language. Defaults to en-US . |
GET https://api.livelox.com/orienteering/courses/iofxml
Returns information about the courses for an event in IOF XML format. Information that is not yet public is not returned.
Name | Type | Description |
---|---|---|
eventId |
integer | The ID of the event. Required. |
projectionEpsgCode |
integer | The code of the EPSG projection that the control coordinates should be expressed in. Omit to use WGS84. |
includeControls |
boolean | Whether to include controls for the courses or not. |
includeClassConnections |
boolean | Whether to include class connections (i.e. a number of IDs for classes) for the courses or not. Set includeClasses to true to also include class sub objects. |
includeClasses |
boolean | Whether to include classes for the courses or not. |
GET https://api.livelox.com/countries
Returns all countries present in Livelox in JSON format.
Name | Type | Description |
---|---|---|
cultureCode |
string | The language that country names should be presented in. Defaults to en-US . |
onlyHavingEvents |
boolean | Whether to return only countries that have at least one event related to it. |