Every session of the season, from lights out to the chequered flag. Full classification, gaps, intervals, lap times, tyre compounds, drivers and constructors, delivered in one uniform JSON on a single plan.
{
"data": {
"id": 19615512,
"sport_id": 2,
"league_id": 3468,
"season_id": 26733,
"venue_id": 343587,
"name": "Race",
"starting_at": "2026-07-19 13:00:00",
"state_id": 5,
"leg": "1/1",
"lineups": [
{
"player_id": 37920807,
"team_id": 276198,
"driver_name": "Kimi Antonelli",
"driver_number": 12,
"driver": { "image_path": "https://cdn.sportmonks.com/images/motorsport/players/7/37920807.png" }
}
// + 21 more drivers, each with number, team and photo
],
"results": [
{ "participant_id": 37920807, "description": "POSITION", "result": { "position": 1 } },
{ "participant_id": 37920807, "description": "GAP_TO_LEADER", "result": { "gap": "1:24:42.479" } },
{ "participant_id": 37920807, "description": "TIME", "result": { "time": "1:49.963" } },
{ "participant_id": 37920807, "description": "TYRE", "result": { "compound": "SOFT" } },
{ "participant_id": 37920804, "description": "POSITION", "result": { "position": 2 } },
{ "participant_id": 37920804, "description": "INTERVAL", "result": { "interval": "1.952" } }
// 109 result rows: five types per driver, minus the leader's interval
]
}
}


Case study
"The quality of the data itself stands out."
Once you start utilising it, you realise its excellence isn't just superficial.

Case study
"Data reliability has been constantly improving."
I particularly highlight the support team's agility and efficiency in resolving any issues.


Case study
"Sportmonks has proven to be a great partner."
Finding high-quality football and betting data is challenging. When available, it's often too expensive or hard to integrate.

Case study
"Real-world football, inside FIFA Career Mode."
SoFIFA pulls up-to-date squads, ratings and historical seasons into the game.

Case study
"Seven years. No major problems."
Other services provided the same data at much higher prices that we could not afford.
Case study
"Automated sports media at scale."
ScorePlay powers sports media management with real-time Sportmonks data: every match, every moment.
"Sportmonks feels like a partner rather than just a service."
The support team is fast, helpful, and actually understands what you're trying to achieve.
Case study
"AI football commentary in 12+ languages."
Botbrains scales generative match commentary across markets, powered by Sportmonks data.
Case study
"Middle East's fastest-growing football fan platform."
Built on Sportmonks data to power live experiences for millions of fans.
"Fast and consistent, critical for live features."
Getting started was very smooth. Within a short time we were retrieving data and integrating it into the platform.
Case study
"Logic over gut feeling in sports betting."
Fine Line replaces guesswork with data-driven decisions across 2,200+ leagues.
Case study
"Side project to sustainable football platform."
Footi built and scaled the whole product on Sportmonks data.
"Worldwide coverage at unmatched price."
Depth of coverage on the worldwide package was unmatched at the price point.
Case study
"Sweden's most complete football site."
Fotboll.com is built end-to-end on Sportmonks data across all major leagues.
This is a real Formula 1 race rendered straight from the API. Left is the race centre, right is the exact JSON it came from. Drag the divider and check any value against the response.
Kimi Antonelli
MERWinner1:49.963S
Charles Leclerc
FER+1.9521:49.414H
Max Verstappen
RBR+11.5861:49.791H
Lewis Hamilton
FER+17.2451:50.619H
Oscar Piastri
MCL+18.9881:49.774H
Isack Hadjar
RBR+23.3071:49.298H
Lando Norris
MCL+24.0141:48.890M
Gabriel Bortoleto
AUD+49.141:51.252H
Arvid Lindblad
RCB+50.4061:50.574H
Franco Colapinto
ALP+76.0371:51.197H
Pierre Gasly
ALP+76.9911:51.130H
Liam Lawson
RCB+77.5231:51.075H
Nico Hulkenberg
AUD+78.3481:51.169H
Oliver Bearman
HAA+94.4651:51.511H
Alexander Albon
WIL+104.6841:52.040H
Carlos Sainz
WIL+105.8561:52.197H
Esteban Ocon
HAA+110.9251:51.900H
Valtteri Bottas
CAD+1 lap1:52.796S
Fernando Alonso
AST+2 laps1:57.116H
Lance Stroll
ASTDNF2:9.921S
Sergio Perez
CADDNF2:40.889H
George Russell
MERDNFn/aM
Mercedes
Ferrari
Red Bull Racing
McLaren
Audi
Racing Bulls
Alpine
Haas
Williams
Cadillac
Aston Martin{
"data": {
"id": 19615512,
"sport_id": 2,
"league_id": 3468,
"season_id": 26733,
"stage_id": 77479373,
"venue_id": 343587,
"name": "Race",
"starting_at": "2026-07-19 13:00:00",
"state_id": 5,
"leg": "1/1",
"lineups": [
{
"player_id": 37920807,
"team_id": 276198,
"driver_name": "Kimi Antonelli",
"driver_number": 12,
"grid_position": null,
"driver": {
"image_path": "https://cdn.sportmonks.com/images/motorsport/players/7/37920807.png"
}
},
{
"player_id": 37920804,
"team_id": 276189,
"driver_name": "Charles Leclerc",
"driver_number": 16,
"grid_position": null
}
// … 20 more drivers, each with number, team_id and photo
],
"results": [
{ "participant_id": 37920807, "description": "POSITION", "result": { "position": 1 } },
{ "participant_id": 37920807, "description": "GAP_TO_LEADER", "result": { "gap": "1:24:42.479" } },
{ "participant_id": 37920807, "description": "TIME", "result": { "time": "1:49.963" } },
{ "participant_id": 37920807, "description": "TYRE", "result": { "compound": "SOFT" } },
{ "participant_id": 37920804, "description": "POSITION", "result": { "position": 2 } },
{ "participant_id": 37920804, "description": "INTERVAL", "result": { "interval": "1.952" } },
{ "participant_id": 37920804, "description": "TIME", "result": { "time": "1:49.414" } },
{ "participant_id": 37920804, "description": "TYRE", "result": { "compound": "HARD" } },
{ "participant_id": 37920800, "description": "POSITION", "result": { "position": 3 } },
{ "participant_id": 37920800, "description": "INTERVAL", "result": { "interval": "11.586" } }
// 109 result rows in total, across five types per driver.
// Not 110: the leader has no INTERVAL row, there is no car ahead.
]
}
}
Drag the divider to resize. Double-click it to reset. Timing values are printed exactly as the API returns them, so you can match any cell to the response.
One plan covers every race weekend of the season: practice, qualifying and the race. These are the actual field names in the response, so you can map your models before you write a single line of integration code.
Result rows are returned per driver per type, so a 22 car race returns 109 rows across the five timing types. That is 109 and not 110 because the leader has no interval row: there is no car ahead. Field availability follows the session, so a race classification returns finishing positions and gaps where a qualifying session returns times, and grid position appears where the timing feed provides it. Full field definitions live in the Motorsport API documentation.
One base URL, one token, standard REST and JSON. If you already use the Sportmonks Football API, the auth and response conventions are the ones you know. New here? Your first F1 call is minutes away.
include=lineups.driver;results to get the entry list and the timing in one response./seasons/{id}?include=teams on team_id, then reuse it all season.Timing data is delivered over REST, so you request the session you are showing and refresh it at the rate your product needs. Session responses stay small, and the plan allows 3,000 calls per hour per endpoint, which covers a race weekend at a live-timing refresh rate.
Stuck on an include or a result type? You talk to a person, 7 days a week. Sportmonks is the only sports data API with an actual face.
{
"data": {
"id": 19615512,
"name": "Race",
"starting_at": "2026-07-19 13:00:00",
"lineups": [
{
"driver_name": "Kimi Antonelli",
"driver_number": 12,
"team_id": 276198
}
// one object per driver on the entry list
],
"results": [
{
"participant_id": 37920807,
"description": "POSITION",
"result": { "position": 1 }
}
// one object per driver, per result type
]
}
}
"Very good product with great price/performance ratio. Live scores are delivered fast and reliably. Clean, easy to use API. It builds a base for our own app. Well done!"
"Sportmonks have been great for getting our business up and running. The technical support has been spot on and responses to issues implementing the API excellent."
"When I first found Sportmonks, I was astonished by how well it's documented, and how affordable and flexible the plans are. The API end-points are very well structured and continue to improve."
Read the full stories on our case studies page.
One plan, every session of the season, with no tiers to decode and no data held back behind an upgrade. No contracts and no minimums. We publish our prices, so compare us openly.
Everything you need to build a Formula 1 product
per month, paid yearly · € 830 billed for twelve months
All prices are exclusive of VAT and, where applicable, VAT will be applied at the standard rate.
The Sportmonks Formula 1 API is a REST API that returns live and historical Formula 1 data as JSON. It is part of our Motorsport API v3, where every session of a race weekend is a fixture with its own start time, venue and state, so practice, qualifying and the race all arrive in the same shape.
Each fixture carries two arrays that do the work. lineups gives you the entry list: driver name, car number, grid position, constructor and an official driver photo. results gives you the timing: finishing position, gap to the leader, interval to the car ahead, lap time and tyre compound, one row per driver per result type. Constructor names and crests join on team_id through the season endpoint, so a full race centre comes out of two calls.
That means you do not parse a different format for standings, timing and entry lists. You write one parser, point it at a session ID, and render whatever your product needs: a live race centre, a driver table, a results archive or a season calendar. Already building with our Football API? It is the same token, the same auth and the same JSON conventions.
Quick answers before you sign up. Want the long version? It is all in the Motorsport API documentation.
The Sportmonks Formula 1 API is a REST API that returns live and historical Formula 1 data as JSON. It is part of the Sportmonks Motorsport API v3, where every session of a race weekend is a fixture with its own start time, venue and state.
Each session returns two arrays: lineups with the entry list (driver name, car number, grid position, constructor and driver photo) and results with the timing (finishing position, gap to leader, interval, lap time and tyre compound).
Per driver, per session, you get five timing values: position, gap to leader, interval to the car ahead, lap time and tyre compound. Alongside that you get the entry list with driver names, car numbers, grid positions, official driver photos and a constructor reference.
Result rows are returned per driver per type, so a 22 car race classification returns 109 rows. Constructor names and crests are joined on team_id through the season endpoint.
Yes. Race and session data updates in real time, which is what makes a live race centre possible: positions and intervals move as the race does. Data is delivered over REST, so you request the session you are displaying and refresh it at the rate your product needs.
The Full Season F1 plan allows 3,000 API calls per hour per endpoint, which covers a race weekend at a live-timing refresh rate.
Every race weekend on the Formula 1 calendar is covered, and each session is returned as its own fixture, so practice, qualifying and the race all arrive in the same shape. There is no separate plan or add-on for particular circuits. If your product depends on a specific session type, check the current session list in the documentation before you build around it.
There is one plan, Full Season F1, at 79 euro per month, or 830 euro billed for twelve months, which works out at about 69 euro per month. Prices are exclusive of VAT. The plan includes every session of the season, the full classification data set, drivers and constructors, and 3,000 API calls per hour per endpoint.
No contracts and no minimums. You can move between monthly and yearly whenever your product changes.
Yes. Sign up and you get an API token instantly, with no credit card and no sales call, so you can make real calls against real sessions before you decide. If you get stuck, you talk to a person, 7 days a week. Free trial included.
Formula 1, football and cricket all live on one Sportmonks account, with the same authentication style and the same JSON conventions, so adding a sport does not mean adding a vendor or a second integration pattern. Each sport is its own subscription, so check your plan in MySportmonks for exactly which sports your token is entitled to.
Formula 1 now lives in the Motorsport API v3. The documentation includes a migration guide that maps the v1 Formula One API onto the v3 structure, so you can move across without reverse engineering the differences.
If anything in your integration does not map cleanly, contact support and a person will work through it with you.
Three reference pages built from live Motorsport API responses rather than maintained by hand. Useful whether you are integrating the data or just checking who is driving what.
Every constructor on the grid with drivers, car numbers, base, power unit supplier and championship record.
View the constructors → 22All 22 race seats with car numbers and entrants, plus the career record behind each driver on the grid.
View the drivers → 24Every round of the season with circuit length, lap count, race distance, corner count and lap record.
View the circuits →Professional-grade Formula 1 data on the most approachable sports data API. Get a token, call a real session, and see the data before you commit to anything.