DriverDB APIdriverdb.com ↗
Access driver profiles, career stats, championship standings, race results, team data, and circuit info from DriverDB.com via a single structured API.
What is the DriverDB API?
The DriverDB API exposes 19 endpoints covering motorsport driver profiles, championship standings, race results, team data, and circuit details from DriverDB.com. You can pull a driver's Sharp ELO rating, season-by-season career breakdown, and head-to-head comparisons via get_driver_head_to_head, or retrieve full race classifications down to grid position and fastest lap using get_race_result_detail. Coverage spans all major championships tracked on the platform, not just Formula 1.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/df882008-99b9-4168-9017-e5c5d3687636/get_homepage_featured' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace driverdb-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""
DriverDB API - Motorsport Statistics, Rankings, and Driver Analysis
"""
from parse_apis.driverdb_api import DriverDB, Driver, Championship, FeaturedContent, DriverNotFound
client = DriverDB()
# Get homepage featured content (top drivers, news, results)
featured = client.featuredcontents.get()
print(featured.topDrivers[0].first_name, featured.topDrivers[0].last_name)
# Search for drivers by name
for driver in client.drivers.search(query="verstappen", limit=3):
print(driver.first_name, driver.last_name, driver.sharp_rating, driver.rank)
# Construct a known driver and explore their recent race results
max_v = client.driver(ddb_url="max-verstappen")
for result in max_v.race_results(limit=3):
print(result.event_name, result.finish_position, result.grid_position, result.championship_points)
# Get career season-by-season stats
for season in max_v.career_stats(limit=3):
print(season.overall_position, season.num_wins, season.num_events, season.num_podiums)
# Championship standings for Formula 1
f1 = client.championship(ddb_url="formula-1")
for standing in f1.standings(year="2025", limit=5):
print(standing.overall_position, standing.team_name, standing.overall_points)
# Head-to-head comparison
try:
comparison = max_v.head_to_head(slug2="lewis-hamilton")
print(comparison.driver1_name, "vs", comparison.driver2_name)
except DriverNotFound as exc:
print(f"Driver not found: {exc}")
# Browse latest motorsport news
for article in client.newsarticles.list(limit=3):
print(article.headline, article.source, article.date)
print("exercised: featuredcontents.get / drivers.search / race_results / career_stats / standings / head_to_head / newsarticles.list")
Retrieve the homepage featured content including top-rated drivers, latest news headlines from motorsport sources, and latest race results across all championships.
No input parameters required.
{
"type": "object",
"fields": {
"latestNews": "array of latest news article summaries with headline, source, date, and link",
"topDrivers": "array of top-rated drivers with profile info and stats",
"latestResults": "array of latest race results with event info, championship, track, and winners"
},
"sample": {
"data": {
"latestNews": [
{
"date": "2026-06-10",
"source": "the-race.com",
"headline": "F1's 2027 engine rule compromise revealed"
}
],
"topDrivers": [
{
"id": 21865,
"stats": {
"rank": 1,
"sharp_rating": 2307.08
},
"ddb_url": "max-verstappen",
"last_name": "Verstappen",
"first_name": "Max"
}
],
"latestResults": [
{
"event_id": 87052,
"event_name": "Cordoba - 2026-06-07",
"championship_name": "Turismo 4000 Argentino"
}
]
},
"status": "success"
}
}About the DriverDB API
Driver Data
The get_driver_profile endpoint returns biographical fields (dob, nationalities, current team) alongside aggregate career statistics: wins, poles, podiums, fastest_laps, and the site's sharp_rating with global rank. get_driver_career_stats breaks this down season by season — each entry includes championship_name, team, year, position, races, wins, poles, podiums, and points. get_driver_race_results goes further to individual events, exposing grid_position, finish_position, championship_points, and session metadata per race. search_drivers accepts a name query string and returns matching driver records with the same profile fields.
Championships, Calendars, and Results
list_championships returns up to 100 championships with id, name, ddb_url, and country. Given a championship slug and optional year, get_championship_standings delivers a full driver classification with overall_position, overall_points, and team_name. get_championship_calendar returns each round's round number, name_official, start/end dates, and track reference. get_championship_results surfaces completed rounds with podium positions, pole sitter, and fastest lap. For the full classified order of any single event, get_race_result_detail accepts a result_id and returns all finishers with their full result data.
Teams and Circuits
get_team_profile accepts a team slug (e.g. 'mclaren', 'red-bull') and returns the current driver lineup, headquarters, principal, logo_url, colour, and season stats. list_teams and list_tracks each return up to 100 entries with identifiers and country data. get_track_detail provides all layout configurations for a circuit, including layout_name, length_meters, and active periods — useful when a venue has changed configuration across seasons.
Rankings, Comparisons, and News
get_driverdb_top100 returns up to 100 drivers sorted by sharp_rating descending, while get_rising_stars filters that list to active drivers aged 25 and under. get_driver_head_to_head takes two driver slugs and returns both profiles, a common_championships array, and detailed head-to-head comparison data. On the news side, list_news returns aggregated motorsport headlines with headline, introduction, source, date, category, photo_url, and link_url, and get_news_article fetches full article HTML plus trending article references.
The DriverDB API is a managed, monitored endpoint for driverdb.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when driverdb.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official driverdb.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a driver comparison tool using
get_driver_head_to_headto display Sharp ELO ratings and head-to-head records across shared championships. - Power a fantasy motorsport app with live championship standings via
get_championship_standingsand individual race results viaget_race_result_detail. - Identify young talent for scouting dashboards using
get_rising_stars, which filters active drivers aged 25 and under by rating. - Display full season race calendars with track details by combining
get_championship_calendarandget_track_detailfor circuit layout info. - Aggregate motorsport news feeds using
list_newsandget_news_articleto surface headlines, sources, and full article content. - Generate team profile pages with driver lineups, team principals, and season stats using
get_team_profile. - Analyse a driver's season-by-season progression by fetching
get_driver_career_statsacross multiple slugs and comparing points and podium trends.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does DriverDB have an official public developer API?+
What does `get_driver_head_to_head` return, and does it filter by a specific championship?+
slug1, slug2) and returns both driver profiles with their stats, a common_championships array listing every series they both competed in, and detailed comparison data across those shared seasons. It covers all shared championships automatically — there is no filter to restrict to a single series. If you need per-championship filtering in the response, you can fork the API on Parse and revise the endpoint to add that parameter.Does the API expose constructor or team championship standings, or only driver standings?+
get_championship_standings returns driver standings including team_name per entry, but it does not return a separate constructor points table. get_team_profile provides team-level season stats. A dedicated constructor standings endpoint is not currently included. You can fork the API on Parse and revise it to add a constructor standings endpoint.How many championships and tracks does `list_championships` and `list_tracks` return?+
list_championships includes id, name, ddb_url, and country; list_tracks includes id, name_short, name_official, ddb_url, country, and layout references. Pagination is not currently supported, so series or circuits beyond 100 entries are not accessible through these list endpoints.Can I retrieve historical lap-by-lap or sector timing data through this API?+
finish_position, grid_position, laps, fastest_laps, and championship_points per driver per event. Detailed telemetry or sector splits are not part of the current endpoint set. You can fork the API on Parse and revise it to add timing-focused endpoints if that data becomes available on the source.