Motorsport APImotorsport.com ↗
Access F1 news, driver profiles, race schedules, championship standings, and detailed race results from Motorsport.com via 7 structured endpoints.
What is the Motorsport API?
This API exposes 7 endpoints covering Formula 1 data sourced from Motorsport.com, including current driver profiles, season schedules, championship standings, and per-race results. The get_race_results endpoint returns finishing positions, lap counts, intervals, and points scored for any race identified by its event slug. Combined with get_f1_standings, it gives developers a full picture of a championship season without building their own data pipeline.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/dfd791fa-ae96-44c2-8a31-a1db0d09d737/get_f1_news' \ -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 motorsport-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.
from parse_apis.motorsport_com_f1_api import Motorsport, StandingsType
client = Motorsport()
# Get latest RSS news articles
for article in client.feeds.rss():
print(article.title, article.pub_date)
# Get current driver grid
for driver in client.grids.list():
print(driver.name, driver.team)
# Get 2024 season standings
season = client.season("2024")
for standing in season.standings(type=StandingsType.DRIVER):
print(standing.position, standing.name, standing.points)
# Get race list and drill into results
for race in season.races():
print(race.name, race.slug)
for result in race.results(year="2024"):
print(result.position, result.driver, result.time, result.points)
break
Fetch the latest F1 news from the Motorsport.com RSS feed. Returns articles with titles, links, publication dates, and descriptions. The feed typically contains 20-30 recent items.
No input parameters required.
{
"type": "object",
"fields": {
"items": "array of news article objects with title, link, pub_date, and description"
},
"sample": {
"data": {
"items": [
{
"link": "https://www.motorsport.com/f1/news/kimi-antonelli-hits-back-at-george-russells-mind-games-im-still-the-underdog/10828644/?utm_source=RSS&utm_medium=referral&utm_campaign=RSS-F1&utm_term=News&utm_content=www",
"title": "Kimi Antonelli dismisses George Russell’s mind games",
"pub_date": "Wed, 10 Jun 2026 07:00:02 +0000",
"description": "After George Russell said that Kimi Antonelli’s huge Formula 1 world championship lead means..."
}
]
},
"status": "success"
}
}About the Motorsport API
News and Headlines
Two endpoints cover F1 news from Motorsport.com. get_f1_news returns a list of article objects with title, link, pub_date, and description fields pulled from the site's RSS feed, making it suitable for applications that need metadata-rich articles. get_latest_news returns a lighter payload — just title and url — sourced from the Motorsport.com news page. If you need publication dates and article summaries, use get_f1_news. If you only need headlines and links, get_latest_news is sufficient.
Driver Grid, Schedule, and Standings
get_f1_drivers returns the current season's driver grid as an array of objects with name, team, details, and profile_url. No year parameter is accepted — it always reflects the current grid. get_f1_schedule accepts an optional year parameter (e.g. '2024', '2025') and returns a schedule array of race event objects with dates and session times. get_f1_standings accepts both a type ('Driver' or 'Team') and a year parameter, returning position, name, points, and per-race point breakdowns for every entry in the standings table.
Race Lists and Detailed Results
To query race results, start with get_race_list, which accepts a year and returns an array of races each with a name, slug, and url. Pass the slug value as the event_slug parameter to get_race_results to retrieve the full finishing order for that event. The results array contains driver finish objects with position, driver name, lap count, race time, interval to the car ahead, and championship points scored. The response also includes a report_url pointing to the Motorsport.com race report for that event.
The Motorsport API is a managed, monitored endpoint for motorsport.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when motorsport.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 motorsport.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 live F1 championship tracker using
get_f1_standingsfor both driver and constructor points tables by season year. - Populate a race calendar widget with session dates from
get_f1_schedulefor any supported season. - Create a race-by-race results archive by iterating slugs from
get_race_listand fetching each viaget_race_results. - Display driver team affiliations and profile links in a team roster page using
get_f1_drivers. - Aggregate F1 headlines with publication dates for a news feed app using
get_f1_news. - Analyse points-per-race progression across a full season by combining
get_f1_standingsbreakdown fields withget_race_resultsdata. - Trigger alerts when new headlines appear by polling
get_latest_newsand diffing titles against previously stored results.
| 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 Motorsport.com have an official developer API?+
How do I retrieve results for a specific race rather than the full season?+
get_race_results requires an event_slug parameter. Call get_race_list first with the desired year to get the array of races, each of which includes a slug field. Pass that slug as event_slug to get_race_results. For example, a Bahrain GP slug might look like 'bahrain-gp-639919'. The response includes the full finishing order with lap counts, intervals, and points scored.What years of historical data are available for standings and race results?+
year parameter on get_f1_standings, get_race_list, and get_race_results accepts values like '2023', '2024', and '2025'. Coverage of earlier seasons is not guaranteed, and gaps may exist for seasons prior to 2023. Testing with specific year values is the most reliable way to confirm availability for a given season.Does the API cover qualifying results, sprint races, or practice session times?+
get_race_results covers the main race finishing order, including positions, intervals, lap counts, and points. get_f1_schedule includes session timing data but race-weekend sessions like qualifying or sprint results are not returned as separate structured endpoints. You can fork this API on Parse and revise it to add those missing endpoints.Does `get_f1_drivers` return historical driver rosters or only the current grid?+
get_f1_drivers always returns the current driver grid and does not accept a year parameter. Historical rosters from past seasons are not exposed by this endpoint. You can fork this API on Parse and revise it to add a year-filtered driver endpoint if past grid data is needed.