The MotoGP API can be broadly divided into two sections:
- Results API: Delivers data focused on results, such as practice and race sessions, classifications, grid positions, and more.
- Broadcast API: Provides information about events, riders, and seasons.
The MotoGP API is a restful API with different endpoints which return JSON metadata about events, seasons, riders, classifications and so on.
The base address of the MotoGP API is https://api.motogp.pulselive.com/motogp/v1
Data resources are accessed via standard HTTP requests in UTF-8 format. The API is read only, therefore the only HTTP verb in use is GET.
Retrieve a timing feed during live sessions.
GET /timing-gateway/livetiming-lite
"head": {
"championship_id": "3",
"category": "MotoGP",
"circuit_id": "6",
"circuit_name": "Autodromo Internazionale del Mugello",
"global_event_id": "",
"event_id": "606",
"event_tv_name": "Mugello MotoGP� Official Test",
"event_shortname": "IT1",
"date": "03/06/2024",
"datet": 20240603,
"datst": 20240603,
"num_laps": 0,
"gmt": "",
"trsid": 1,
"session_id": "1",
"session_type": 4,
"session_name": "Session 1",
"session_shortname": "FP1",
"duration": "288000000",
"remaining": "0",
"session_status_id": "F",
"session_status_name": "F",
"date_formated": "10:00 - 03/06/2024",
"url": null
},
"rider": {
"1": {
"order": 1,
"rider_id": 7646,
"status_name": "CL",
"status_id": "1",
"rider_number": "33",
"color": "ff6600",
"text_color": "ffffff",
"pos": 1,
"rider_shortname": "Binder",
"rider_name": "Brad",
"rider_surname": "BINDER",
"lap_time": "1'47.617",
"num_lap": 5,
"last_lap_time": "1'57.459",
"last_lap": 17,
"trac_status": "B",
"team_name": "Red Bull KTM Factory Racing",
"bike_name": "KTM",
"gap_first": "0.000",
"gap_prev": "0.000",
"on_pit": true
},
...
}
}Retrieve a list of MotoGP seasons.
GET /results/seasons
[
{
"id": "db8dc197-c7b2-4c1b-b3a4-6dc534c023ef",
"name": null,
"year": 2023,
"current": true
},
{
"id": "db8dc197-c7b2-4c1b-b3a4-6dc534c014ef",
"name": null,
"year": 2022,
"current": false
}
...
]Retrieve a list of MotoGP events for a given season.
GET /results/events?seasonUuid={id}&isFinished={isFinished}
id string required
The season UUID.
isFinished boolean
Retrieve only past events when true. Valid values are true, false.
[
{
"country": {
"iso": "PT",
"name": "Portugal",
"region_iso": ""
},
"event_files": {
...
},
"circuit": {
"name": "Autódromo Internacional do Algarve",
...
},
"sponsored_name": "Grande Prémio Tissot de Portugal",
"toad_api_uuid": "4b70d9b1-3f31-4521-9ec1-9d18cd67a32a",
...
}
]The value of toad_api_uuid is a reference to the same event in the Broadcast API.
Retrieves a list of categories for a given season.
GET /results/categories?seasonUuid={id}
id string required
The season ID.
[
{
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"name": "MotoGP™",
"legacy_id": 3
},
{
"id": "549640b8-fd9c-4245-acfd-60e4bc38b25c",
"name": "Moto2™",
"legacy_id": 2
},
{
"id": "954f7e65-2ef2-4423-b949-4961cc603e45",
"name": "Moto3™",
"legacy_id": 1
},
{
"id": "3bda82ba-0445-440c-9375-cd48d777bd95",
"name": "MotoE™",
"legacy_id": 19
}
]Retrieves a list of categories for a given event.
GET /results/categories?eventUuid={id}
id string required
The event ID.
[
{
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"name": "MotoGP™",
"legacy_id": 3
},
{
"id": "549640b8-fd9c-4245-acfd-60e4bc38b25c",
"name": "Moto2™",
"legacy_id": 2
},
{
"id": "954f7e65-2ef2-4423-b949-4961cc603e45",
"name": "Moto3™",
"legacy_id": 1
},
{
"id": "3bda82ba-0445-440c-9375-cd48d777bd95",
"name": "MotoE™",
"legacy_id": 19
}
]Retrieve sessions for a given event.
GET /results/sessions?eventUuid={eventId}&categoryUuid={categoryId}
eventId string required
The event ID.
categoryId string required
The category ID.
[
{
"date": "2023-03-24T10:45:00+00:00",
"number": 1,
"condition": {
"track": "Dry",
"air": "17º",
"humidity": "72%",
"ground": "21º",
"weather": "Cloudy"
},
"circuit": "Autódromo Internacional do Algarve",
"session_files": {
...
},
"id": "cb7655d9-387b-4247-9bbe-a067bbe484ff",
"type": "P",
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"event": {
...
},
"status": "Official"
},
...
]Retrieve a single session
GET /results/sessions/{id}
id string required
The session ID.
"date": "2023-03-24T10:45:00+00:00",
"number": 1,
"condition": {
"track": "Dry",
"air": "17º",
"humidity": "72%",
"ground": "21º",
"weather": "Cloudy"
},
"circuit": "Autódromo Internacional do Algarve",
"session_files": {
...
},
"id": "cb7655d9-387b-4247-9bbe-a067bbe484ff",
"type": "P",
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"event": {
...
},
"status": "Official"
}Retrieve the classification for a single session.
GET /results/session/{id}/classification?seasonYear={seasonYear}&test={isTest}
id string required
The session ID.
seasonYear integer
The season year. Valid values are 2023, 2024, etc. Passing this value seems to have no effect, but may possibly be used for disambiguation where required.
isTest boolean
Whether the current session is for an official test (as opposed to a normal race weekend). Valid values are true, false.
{
"classification": [
{
"id": "372fcfe7-a9e9-4ebc-817e-67ce7300204e",
"position": 1,
"rider": {
"id": "e7e4c72e-952e-4f64-8e8a-a47ff590fade",
"full_name": "Alex Marquez",
"country": {
"iso": "ES",
"name": "Spain",
"region_iso": ""
},
"legacy_id": 8173,
"number": 73,
"riders_api_uuid": "41195f0f-9817-4a4d-913e-c1fbbb351d9b"
},
"team": {
"id": "c3c7604e-d1d6-46c0-955f-b53214e0812c",
"name": "Gresini Racing MotoGP",
"legacy_id": 77,
"season": {
"id": "db8dc197-c7b2-4c1b-b3a4-6dc534c023ef",
"year": 2023,
"current": false
}
},
"constructor": {
"id": "b9d93efb-3cd0-4681-9de4-c412a866d568",
"name": "Ducati",
"legacy_id": 110
},
"best_lap": {
"number": 12,
"time": "01:38.782"
},
"total_laps": 15,
"top_speed": 339.6,
"gap": {
"first": "0.000",
"prev": "0.000"
},
"status": "INSTND"
},
...
],
"file": "https://resources.motogp.com/files/results/2023/POR/MotoGP/P1/Classification.pdf",
"files": null
}Retrieve the riders partaking in an event.
GET /event/{eventId}/entry?categoryUuid={categoryId}
eventId string required
The event ID.
categoryId string required
The category ID.
{
"entry": [
{
"id": "5b510f5b-cf29-46b7-832f-1eb96c900188",
"number": 1,
"rider": {
"id": "9cb55304-0ac1-401c-beb6-1a4f445018a4",
"full_name": "Francesco Bagnaia",
"country": {
"iso": "IT",
"name": "Italy",
"region_iso": ""
},
"legacy_id": 8273,
"number": 1,
"rider_api_uuid": "66b78301-5826-4986-b11e-fa68a7bd77a7"
},
"team": {
"id": "52ce0374-e215-4d1c-ae94-062ea3cb45ac",
"name": "Ducati Lenovo Team",
"legacy_id": 75,
"season": {
"id": "db8dc197-c7b2-4c1b-b3a4-6dc534c023ef",
"year": 2023,
"current": false
}
},
"team_name": "Ducati Lenovo Team",
"constructor": {
"id": "b9d93efb-3cd0-4681-9de4-c412a866d568",
"name": "Ducati",
"legacy_id": 110
},
"wildcard": false,
"replacement": null,
"replaced": false,
"rookieOfTheYear": false,
"independentTeamRider": false
},
...
],
"file": "https://resources.motogp.com/files/results/2023/FRA/MotoGP/Entry.pdf"
}Retrieve the grid positions for a single event.
GET /results/event/{eventId}/category/{categoryId}/grid
eventId string required
The event ID.
categoryId string required
The category ID.
[
{
"rider": {
"id": "f55b433d-38b8-4d1d-bb3a-a709c82a0260",
"full_name": "Marc Marquez",
"country": {
"iso": "ES",
"name": "Spain",
"region_iso": ""
},
"legacy_id": 7444,
"riders_api_uuid": "23e50438-a657-4fb0-a190-3262b5472f29"
},
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"event": {
...
},
"qualifying_position": 1,
"qualifying_time": "01:37.226"
},
...
]Retrieve the rider standings.
GET /results/standings?seasonUuid={seasonId}&categoryUuid={categoryId}
seasonId string required
The season ID.
categoryId string required
The category ID.
{
"file": "https://resources.motogp.com/files/results/2023/VAL/Moto2/RAC/worldstanding.pdf",
"classification": [
{
"id": "88fb6e29-1a24-4ccd-b47f-619f5dd2ab77",
"position": 1,
"rider": {
"id": "a6108385-dd4c-490d-b02e-542ed0275f79",
"full_name": "Pedro Acosta",
"country": {
"iso": "ES",
"name": "Spain",
"region_iso": ""
},
"legacy_id": 8658,
"number": 37,
"riders_api_uuid": "ea39a0af-95d3-4a37-81a7-f332efdb9216"
},
"team": {
"id": "57a76f99-caf6-4020-88d3-c8532c0b7af0",
"name": "Red Bull KTM Ajo",
"legacy_id": 49,
"season": {
"id": "db8dc197-c7b2-4c1b-b3a4-6dc534c023ef",
"year": 2023,
"current": false
}
},
"constructor": {
"id": "40e1073c-1f6a-44c3-8320-cd6eb811ac71",
"name": "Kalex",
"legacy_id": 447
},
"session": "RAC",
"points": 332.5
},
...
]
"xmlFile": "https://resources.motogp.com/files/results/2023/VAL/Moto2/RAC/worldstanding.XML"
}Retrieve the official files relating to the standings.
GET /results/standings/files?seasonUuid={seasonId}&categoryUuid={categoryId}
seasonId string required
The season ID.
categoryId string required
The category ID.
{
"riders_results": {
"podiums": "https://resources.motogp.com/files/results/2023/VAL/Podiums.pdf",
"pole_positions": "https://resources.motogp.com/files/results/2023/VAL/PolePositions.pdf",
"nations_statistics": "https://resources.motogp.com/files/results/2023/VAL/table2.pdf",
"riders_all_time": "https://resources.motogp.com/files/results/2023/VAL/table4.pdf"
},
"riders_championship": {
"independent_team_rider": "",
"rookie_of_the_year": "https://resources.motogp.com/files/results/2023/VAL/Moto2/RAC/rookieirtacup.pdf",
"season_statistics": "https://resources.motogp.com/files/results/2023/VAL/Moto2/table1.pdf",
"bmw_award": ""
}
}Retrieve the qualifying standings.
GET /results/standings/bmwaward?seasonUuid={seasonId}
seasonId string required
The season ID.
"file": "https://resources.motogp.com/files/results/2023/VAL/MotoGP/BMW_Award.pdf",
"classification": [
{
"id": "90d81326-4f7d-4165-b165-1fedb3beced2",
"position": 1,
"rider": {
"id": "9cb55304-0ac1-401c-beb6-1a4f445018a4",
"full_name": "Francesco Bagnaia",
"country": {
"iso": "IT",
"name": "Italy",
"region_iso": ""
},
"legacy_id": 8273,
"number": 1,
"riders_api_uuid": "66b78301-5826-4986-b11e-fa68a7bd77a7"
},
"team": {
"id": "52ce0374-e215-4d1c-ae94-062ea3cb45ac",
"name": "Ducati Lenovo Team",
"legacy_id": 75,
"season": {
"id": "db8dc197-c7b2-4c1b-b3a4-6dc534c023ef",
"year": 2023,
"current": false
}
},
"constructor": {
"id": "b9d93efb-3cd0-4681-9de4-c412a866d568",
"name": "Ducati",
"legacy_id": 110
},
"countryShortName": "ITA",
"points": 369,
"event": {
...
}
},
...
]
}Retrieve all categories for a single season
GET /categories?seasonYear={seasonYear}
seasonYear integer required
The season year. Valid values are 2023, 2024, etc.
[
{
"id": "737ab122-76e1-4081-bedb-334caaa18c70",
"name": "MotoGP",
"legacy_id": 3
},
{
"id": "ea854a67-73a4-4a28-ac77-d67b3b2a530a",
"name": "Moto2",
"legacy_id": 2
},
{
"id": "1ab203aa-e292-4842-8bed-971911357af1",
"name": "Moto3",
"legacy_id": 1
},
{
"id": "cf196668-f900-4116-af79-810b91828a37",
"name": "MotoE",
"legacy_id": 19
}
]Retrieves the broadcast events.
GET /events?seasonYear={seasonYear}
seasonYear integer required
The season year. Valid values are 2023, 2024, etc.
[
{
"timing_id": 1000,
"event_categories": [
{
"category_id": "93888447-8746-4161-882c-e08a1d48447e",
"category_timing_id": 3,
"timing_id": 601,
"sequence": 1
}
],
"country": "ES",
"circuit": {
"id": "c5e48a7a-42d3-4e5d-8a40-2efc77eb36b6",
"name": "Circuit Ricardo Tormo",
"iso_code": "ES",
"country": "Spain",
"region": "VC",
"city": "Cheste",
"postal_code": "46380",
"address": "Salida, Autovía del Este, 334, 46380 Madrid, Valencia, Spain",
"lat": "39.4848428",
"lng": "-0.6265042",
"place_id": "ChIJn1iBxLHwYA0R9ErxCUURNkQ",
"constructed": 1999,
"designer": "Antonio Risueño Galindo",
"active": true,
"timing_ids": [
{
"business_unit": "MGP",
"id": 77
},
{
"business_unit": "RKC",
"id": 77
},
{
"business_unit": "CEV",
"id": 77
},
{
"business_unit": "ATC",
"id": 77
}
],
"track": {
...
},
"circuit_descriptions": [
...
],
"user_location": {
"lat": "39.487719",
"lng": "-0.628912",
"radius": 2000
}
},
"kind": "TEST",
"broadcasts": [
{
"id": "c09e76c7-0d9a-4a91-a30d-4737e0188591",
"shortname": "FP1",
"name": "Free Practice",
"date_start": "2023-11-28T10:00:00+0100",
"date_end": "2023-11-28T18:00:00+0100",
"remain": -17291893,
"type": "SESSION",
"kind": "PRACTICE",
"status": "FINISHED",
"progressive": 1,
"has_timing": true,
"has_live": true,
"has_report": false,
"has_results": true,
"has_on_demand": true,
"is_live": false,
"is_live_timing": false,
"live": false,
"category": {
"id": "93888447-8746-4161-882c-e08a1d48447e",
"acronym": "MGP",
"name": "MotoGP",
"active": true,
"timing_id": 3,
"priority": 1
},
"gp_day": 1,
"timing_id": 1
}
],
"date_end": "2023-11-28T01:00:00+01:00",
"time_zone": "EUROPE/MADRID",
"type": "SPORT",
"shortname": "VC1",
"business_unit": {
"id": "d6ced16c-c25e-4f61-bfa5-4683679ff873",
"name": "MotoGP™",
"acronym": "MGP"
},
"url": "Valencia MotoGP™ Official Test ",
"sequence": 1,
"schedule": {
"options": [
{
"date": 1701129600,
"dateStart": "2023-11-28T10:00:00+0100",
"name": "Tuesday",
"day": 28,
"month": "November",
"day_suffix": "th",
"gp_day": 1
}
],
"selected_day": 1
},
"date_start": "2023-11-28T01:00:00+01:00",
"urls": [
],
"assets": [
...
],
"name": "Valencia MotoGP™ Official Test ",
"season": {
"id": "b17bec50-9780-4845-a6fd-f6212d05276c",
"year": 2024,
"current": true
},
"id": "fc73530a-7d68-4a25-8d86-9cb932a3bca9",
"categories": [
{
"id": "93888447-8746-4161-882c-e08a1d48447e",
"acronym": "MGP",
"name": "MotoGP",
"active": true,
"timing_id": 3,
"priority": 1
}
],
"status": "FINISHED",
"hashtag": "#ValenciaTest"
},
...
]Retrieve a single broadcast event
GET /events/{id}
id string required
The broadcast event ID.
{
"event_categories": [
...
],
"country": "AR",
"circuit": {
...
},
"type": "SPORT",
"urls": [
...
],
"assets": [
...
],
"season": {
"id": "b38a3bd8-8bab-47b4-b1f4-a41bd03b9a25",
"year": 2023,
"current": false
},
"id": "688005f3-5ce3-482d-83ec-c05c8d8eb844",
"categories": [
{
"id": "93888447-8746-4161-882c-e08a1d48447e",
"acronym": "MGP",
"name": "MotoGP",
"active": true,
"timing_id": 3,
"priority": 1
},
{
"id": "bc2b0143-1bfb-4ad0-9501-da2e474e3ea7",
"acronym": "MT2",
"name": "Moto2",
"active": true,
"timing_id": 2,
"priority": 2
},
{
"id": "7b0adf61-0a93-4e3d-a7ef-1fee93c2591f",
"acronym": "MT3",
"name": "Moto3",
"active": true,
"timing_id": 1,
"priority": 3
}
],
"hashtag": "#ArgentinaGP",
"timing_id": 2,
"kind": "GP",
"broadcasts": [
{
"id": "4f5093d8-7345-4939-9030-52f3a6f36c02",
"shortname": "SHOW",
"name": "GearUP",
"date_start": "2023-03-30T11:45:00-0300",
"date_end": "2023-03-30T12:00:00-0300",
"remain": -38267263,
"type": "MEDIA",
"kind": "PRESS",
"status": "FINISHED",
"progressive": 11,
"has_timing": false,
"has_live": false,
"has_report": false,
"has_results": false,
"has_on_demand": false,
"is_live": false,
"is_live_timing": false,
"live": false,
"category": {
"id": "93888447-8746-4161-882c-e08a1d48447e",
"acronym": "MGP",
"name": "MotoGP",
"active": true,
"timing_id": 3,
"priority": 1
},
"gp_day": 0,
"timing_id": 110
},
...
],
"date_end": "2023-04-01T21:00:00-03:00",
"time_zone": "AMERICA/CORDOBA",
"shortname": "ARG",
"business_unit": {
"id": "d6ced16c-c25e-4f61-bfa5-4683679ff873",
"name": "MotoGP™",
"acronym": "MGP"
},
"url": "Argentina",
"results-api-circuit-uuid": "536d88a0-b7b9-4312-a5f1-f196e8228991",
"sequence": 2,
"schedule": {
"options": [
{
"date": 1680134400,
"dateStart": "2023-03-30T13:15:00-0300",
"name": "Thursday",
"day": 30,
"month": "March",
"day_suffix": "th",
"gp_day": 0
},
{
"date": 1680220800,
"dateStart": "2023-03-31T15:00:00-0300",
"name": "Friday",
"day": 31,
"month": "March",
"day_suffix": "st",
"gp_day": 1
},
{
"date": 1680307200,
"dateStart": "2023-04-01T17:00:00-0300",
"name": "Saturday",
"day": 1,
"month": "April",
"day_suffix": "st",
"gp_day": 2
},
{
"date": 1680393600,
"dateStart": "2023-04-02T15:45:00-0300",
"name": "Sunday",
"day": 2,
"month": "April",
"day_suffix": "nd",
"gp_day": 3
}
],
"selected_day": 3
},
"date_start": "2023-03-30T21:00:00-03:00",
"results-api-event-uuid": "7dfe8c6b-d700-41d7-a7e8-fde4069b8c05",
"name": "Gran Premio Michelin® de la República Argentina",
"status": "FINISHED"
}Retrieve all riders across all categories in the current season.
GET /riders
[
{
"current_career_step": {
"season": 2024,
"number": 1,
"sponsored_team": "Ducati Lenovo Team",
"team": {
"id": "892fff2f-7402-4fbd-99fb-5fd567d8a80c",
"constructor": {
"id": "38af1078-e2f1-4399-811c-1e98cf6f6150",
"name": "Ducati",
"legacy_id": 110
},
"name": "Ducati Lenovo Team",
"legacy_id": 15,
"color": "#cc0000",
"text_color": "#ffffff",
"picture": "...",
"published": true
},
"category": {
"id": "737ab122-76e1-4081-bedb-334caaa18c70",
"name": "MotoGP",
"legacy_id": 3
},
"in_grid": true,
"short_nickname": "FB1",
"current": true,
"pictures": {
"profile": {
"main": "...",
"secondary": null
},
"bike": {
"main": "...",
"secondary": null
},
"helmet": {
"main": "...",
"secondary": null
},
"number": "...",
"portrait": "..."
},
"type": "Official"
},
"country": {
"iso": "IT",
"name": "Italy",
"flag": "https://photos.motogp.com/countries/flags/iso2/IT.svg"
},
"birth_city": "Torino",
"surname": "Bagnaia",
"birth_date": "1997-01-14",
"name": "Francesco",
"nickname": null,
"legacy_id": 8273,
"id": "66b78301-5826-4986-b11e-fa68a7bd77a7",
"years_old": 27,
"published": true
},
...
]Retrieve a single rider.
GET /riders/{id}
id string required
The rider ID.
{
"country": {
"iso": "ES",
"name": "Spain",
"flag": "https://photos.motogp.com/countries/flags/iso2/ES.svg"
},
"career": [
{
"season": 2024,
"number": 42,
"sponsored_team": "Monster Energy Yamaha MotoGP™",
"team": {
"id": "141b6f0f-7e53-4d27-9bdb-0ea8fba7e842",
"constructor": {
"id": "f2e835be-7fab-4782-a26b-de3d583d132c",
"name": "Yamaha",
"legacy_id": 3
},
"name": "Monster Energy Yamaha MotoGP™",
"legacy_id": 19,
"color": "#0c368c",
"text_color": "#ffffff",
"picture": "...",
"published": true
},
"category": {
"id": "737ab122-76e1-4081-bedb-334caaa18c70",
"name": "MotoGP",
"legacy_id": 3
},
"in_grid": true,
"short_nickname": "AR42",
"current": true,
"pictures": {
"profile": {
"main": "...",
"secondary": "..."
},
"bike": {
"main": "...",
"secondary": null
},
"helmet": {
"main": "...",
"secondary": null
},
"number": "...",
"portrait": "..."
},
"type": "Official"
},
...
],
"birth_city": "Barcelona",
"legend": false,
"birth_date": "1995-12-08",
"merchandise_url": "...",
"biography": {
...
},
"published": true,
"legend_picture": null,
"wildcard": false,
"injured": false,
"surname": "Rins",
"name": "Alex",
"nickname": null,
"physical_attributes": {
"height": 176,
"weight": 68
},
"legacy_id": 8150,
"id": "04bf0ce4-5062-44fc-9745-ec85a8d8f8d3",
"banned": false
}Retrieve rider statistics.
GET /riders/{legacyId}/stats
legacyId integer required
The Rider legacy ID.
{
"first_grand_prix": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"event": {
"id": "c68ece2b-fc82-42b1-a1fb-6a0f4af01d64",
"name": "GRAND PRIX OF QATAR",
"sponsored_name": "Commercial Bank Grand Prix of Qatar",
"short_name": "QAT",
"test": false,
"season": "2015",
...
}
},
...
],
"podiums": {
"categories": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"count": 35
},
...
],
"total": 75
},
"last_wins": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"event": {
"id": "c9d2b49e-2b65-4975-9e4a-80d5429cc1b2",
"name": "GRAND PRIX OF THE AMERICAS",
"sponsored_name": "Red Bull Grand Prix of The Americas",
"short_name": "AME",
"test": false,
"season": "2024",
...
}
},
{
"category": {
"id": "549640b8-fd9c-4245-acfd-60e4bc38b25c",
"legacy_id": 2,
"name": "Moto2™"
},
"event": {
"id": "1b869fa9-da9e-4ee5-90c3-fd3e171ad5ae",
"name": "MALAYSIAN MOTORCYCLE GRAND PRIX",
"sponsored_name": "Shell Advance Malaysian Motorcycle GP",
"short_name": "MAL",
"test": false,
"season": "2014",
...
}
},
...
],
"third_positions": {
"categories": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"count": 14
},
...
],
"total": 22
},
"poles": {
"categories": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"count": 15
},
...
],
"total": 26
},
"first_podiums": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"event": {
"id": "0af4a3a6-99f5-4aaf-bffa-3ace311df40d",
"name": "GRAND PRIX DE FRANCE",
"sponsored_name": "Monster Energy Grand Prix de France",
"short_name": "FRA",
"test": false,
"season": "2016",
...
}
},
...
],
"second_positions": {
"categories": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"count": 11
},
...
],
"total": 27
},
"world_championship_wins": {
"categories": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"count": 0
},
...
],
"total": 1
},
"best_positions": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"count": 1
},
...
],
"best_grid_positions": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"count": 1
},
...
],
"first_grand_prix_victories": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"event": {
"id": "00a3ae01-6c18-4d92-ba15-b3a9bb89e660",
"name": "BRITISH GRAND PRIX",
"sponsored_name": "Octo British Grand Prix",
"short_name": "GBR",
"test": false,
"season": "2016",
...
}
},
...
],
"race_fastest_laps": {
"categories": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"count": 12
},
...
],
"total": 24
},
"best_qualify_positions": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"count": 1
},
...
],
"grand_prix_victories": {
"categories": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"count": 10
},
...
],
"total": 26
},
"all_races": {
"categories": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"count": 167
},
...
],
"total": 235
},
"first_race_fastest_lap": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"event": {
"id": "4e410e6b-75ef-4180-ad4b-87669009245c",
"name": "GRAN PREMI DE CATALUNYA",
"sponsored_name": "Gran Premi Monster Energy de Catalunya",
"short_name": "CAT",
"test": false,
"season": "2016",
...
}
},
...
],
"first_pole_positions": [
{
"category": {
"id": "e8c110ad-64aa-4e8e-8a86-f2f152f6a942",
"legacy_id": 3,
"name": "MotoGP™"
},
"event": {
"id": "d1eb5ec0-d5f2-451f-8eba-34cf83ff725d",
"name": "GRAND PRIX OF QATAR",
"sponsored_name": "Grand Prix of Qatar",
"short_name": "QAT",
"test": false,
"season": "2017",
...
}
},
...
]
}Retrieve rider statistics, summarised by season.
GET /riders/{legacyId}/statistics
legacyId integer required
The Rider legacy ID.
[
{
"season": "2023",
"category": "MotoGP\u2122",
"constructor": "KTM",
"starts": 12,
"first_position": 0,
"second_position": 2,
"third_position": 1,
"podiums": 3,
"poles": 0,
"points": 173,
"position": 4
},
{
"season": "2022",
"category": "MotoGP\u2122",
"constructor": "KTM",
"starts": 20,
"first_position": 0,
"second_position": 3,
"third_position": 0,
"podiums": 3,
"poles": 0,
"points": 188,
"position": 6
},
...
]Retrieve the teams.
GET /teams?categoryUuid={categoryId}&seasonYear={seasonYear}
categoryId string required
The broadcast category ID.
seasonYear integer required
The season year. Valid values are 2023, 2024, etc.
This is the only known way to get all riders from all seasons, as the /riders endpoint only has the riders from the current season.
[
{
"color": "#5cb33a",
"riders": [
{
"id": "71df6f0d-51c3-4cdb-9f5c-51939e6f33f2",
"name": "Maverick",
"surname": "Viñales",
...
"years_old": 28,
"published": true,
"legacy_id": 7409
},
{
"id": "a1311c17-1099-4893-bba0-347bf43226a4",
"name": "Lorenzo",
"surname": "Savadori",
...
"years_old": 30,
"published": true,
"legacy_id": 7246
},
{
"id": "a2f51450-cb43-4d32-8eef-bda9ebb435ed",
"name": "Aleix",
"surname": "Espargaro",
...
"years_old": 33,
"published": true,
"legacy_id": 6854
}
],
"constructor": {
"id": "21fbe597-b587-42e1-b571-a06af5cc2487",
"name": "Aprilia",
"legacy_id": 7
},
"name": "Aprilia Racing",
"legacy_id": 21,
"id": "11d18b37-baba-400a-80c2-f8ddf040f97e",
"text_color": "#ffffff",
"published": true,
"picture": "https://photos.motogp.com/teams/1/1/11d18b37-baba-400a-80c2-f8ddf040f97e/FrontalBike_0008_41-Aleix-Espargaro,-Bike_aleix.png"
},
...
]