Endpoint Playground
Returns the events SofaScore lists for a stage sport around a UTC date: Grand Prix weekends, NASCAR race weekends, rallies and cycling races, each with its country, competition, every session start time (`session_start_timestamps`) and the session SofaScore highlights (`session`: the live, next or latest one). The list is not a strict one-day filter. It holds the events in progress on the date plus the next upcoming ones, and a quiet date still returns the next events; use `on_date`, which is true when a session of the event starts inside the requested UTC day, to separate them. Schedule rows carry no event status or winner: use `session.status`, or pass the event `id` to stage for the event detail and to stage-substages for its sessions. `date` must be a real calendar date written `YYYY-MM-DD`. An empty `stages` list is valid when nothing is in progress or scheduled nearby. The `sport` enum accepts `motorsport` and `cycling`.
14 Oct 2026: 6 stages; 10 fields had a value in every checked item.
Sample value profiles: country: USA (5), Spain (1); name: “Grand Prix of Spain” and 3 other values; on_date: true in 0 of 6.
curl 'https://api.crawlora.net/api/v1/sofascore/stage-schedule?sport=motorsport&date=2026-10-04' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| sport | string | Yes | motorsport | Stage sport key |
| date | string | Yes | 2026-10-04 | UTC calendar date, YYYY-MM-DD |
{
"code": 200,
"msg": "OK",
"data": {
"sport": "motorsport",
"date": "2026-10-04",
"count": 1,
"source_url": "https://api.sofascore.com/api/v1/stage/sport/motorsport/scheduled/2026-10-04",
"fetched_at": "2026-10-07T14:00:00Z",
"stages": [
{
"id": 214260,
"name": "Singapore GP",
"slug": "singapore-gp",
"type": {
"id": 2,
"name": "Event"
},
"country": "Singapore",
"country_code": "SG",
"competition": {
"id": 40,
"name": "Formula 1",
"slug": "formula-1",
"sport": "motorsport",
"category_id": 36,
"category_name": "Formula 1"
},
"session_start_timestamps": [
1791534600,
1791540060,
1791549000,
1791622800,
1791626400,
1791637200,
1791720000
],
"on_date": false,
"session": {
"id": 214261,
"name": "Practice 1",
"slug": "practice-1",
"type": {
"id": 3,
"name": "Practice"
},
"status": {
"type": "notstarted",
"description": "Not started"
},
"start_timestamp": 1791534600
}
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.