Formula 1 qualifying results

GET https://api.api.sh/f1/v1/qualifying
1 credit / call sports try it in the playground →

Qualifying classification with each driver's Q1, Q2 and Q3 lap times, constructor and car number (complete from 2003). With any of driver_id, constructor_id, circuit_id, status_id or position, returns matching classification rows across races instead (all seasons unless season/round are given): applied_filters, total, count, next_offset and races, each with its matching results.

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
season string Season year from 1950, or current (default). Example: 2024
round string Round number in the season, or last (default). Example: 1
driver_id string Only this driver (e.g. hamilton, max_verstappen): results across every race unless season/round are given.
constructor_id string Only this constructor (e.g. ferrari, red_bull).
circuit_id string Only races at this circuit (e.g. monza, silverstone).
status_id integer Only this finishing status id (1 = finished).
position integer Only this finishing position (e.g. 1 for wins).
limit integer With filters: result rows per page (1-100, default 100).
offset integer With filters: rows to skip; pass next_offset back.

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/f1/v1/qualifying?season=2024" \
  -H "x-api-key: $APISH_KEY"

Response

A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).

The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.