Description
Returns all fixtures and results of the requested date (limit: 30 days either side)
Note: live data comes from the live match data endpoint
Today's fixtures: suggested frequency once every 10 minutes (full update)
Future fixtures: suggested frequency once every 30 minutes (full update)
Note: live data comes from the live match data endpoint
Today's fixtures: suggested frequency once every 10 minutes (full update)
Future fixtures: suggested frequency once every 30 minutes (full update)
Access
- Request
GET https://api.sports.csap.ai/api/v1/matches/schedule/diary- Auth
- Header X-API-Key: <your key> (Authorization: Bearer <key> also works; ?key= is still accepted but discouraged, because the key ends up in URLs and logs)
- External keys
- Available (scoped)External keys can call it, but only data inside the open scope is returned.
- Rate limits
- 3000 per minute · 200000 per day · Set per key (rate_per_min and quota_daily returned by /api/v1/account are authoritative; the numbers above are a trial key's). Beyond them the answer is 429. In addition, heavy requests such as whole-table snapshots and statistics lists without a match id are processed 2 at a time for the whole platform; a request that cannot get a slot receives 429 with Retry-After. Responses do not carry X-RateLimit-* headers for now. See the general guide
Request parameters 1
| Parameter | Type | required | Example | Description |
|---|---|---|---|---|
| date | string | required | 2026-11-08 | Date to query, format yyyymmdd (20200101) |
Example request
curl "https://api.sports.csap.ai/api/v1/matches/schedule/diary?date=2026-11-08" \ -H "X-API-Key: YOUR_API_KEY"
Try it
Example response
{
"code": 0,
"data": [
{
"agg_score": null,
"asian_handicap": null,
"assistant1": null,
"assistant2": null,
"assistant_var": null,
"away_corner": 0,
"away_ot": null,
"away_pen": null,
"away_position": null,
"away_red": 0,
"away_score": 0,
"away_scores": 0,
"away_team": "埃瓦尔C队",
"away_team_id": null,
"away_yellow": 0,
"away_zh": "埃瓦尔C队",
"comp_ref": null,
"competition": null,
"competition_id": null,
"coverage": null,
"created_at": "2026-11-07T17:36:29.844958Z",
"cur_period_start": null,
"ended": null,
"environment": null,
"fourth": null,
"from_schedule": false,
"group_num": null,
"half_away": 0,
"half_home": 0,
"has_ot": null,
"home_corner": 0,
"home_ot": null,
"home_pen": null,
"home_position": null,
"home_red": 0,
"home_score": 2,
"home_scores": 0,
"home_team": "杜兰高",
"home_team_id": null,
"home_yellow": 0,
"home_zh": "杜兰高",
"humidity": null,
"id": 4261965,
"inferred_reason": null,
"intelligence": null,
"last_change_ts": null,
"league": "西班牙皇家足协丙级联赛",
"lineup": null,
"logo": null,
"loss": null,
"match": null,
"match_time": "2026-11-07T16:00:00Z",
"minute": null,
"mlive": null,
"name": null,
"neutral": null,
"note": null,
"ou_line": null,
"period_initial": null,
"pressure": null,
"query": null,
"referee_id": null,
"referee_name": null,
"referees": null,
"related_id": null,
"round": null,
"round_num": null,
"season_id": null,
"source": "S7",
"source_id": "4633483",
"stage_id": null,
"start_ts": "2026-11-07T16:00:00Z",
"status_code": 8,
"status_id": 8,
"status_inferred": false,
"status_type": "finished",
"tbd": null,
"team": null,
"team_reverse": null,
"temperature": null,
"type": null,
"updated_at": 1794076270312,
"var": null,
"venue_id": null,
"venue_name": null,
"version": 3,
"weather": null,
"wind": null
},
{
"agg_score": null,
"asian_handicap": null,
"assistant1": null,
"assistant2": null,
"assistant_var": null,
"away_corner": null,
"away_ot": null,
"away_pen": null,
"away_position": null,
"away_red": null,
"away_score": 1,
"away_scores": 1,
"away_team": "Grazer AK",
"away_team_id": "10012",
"away_yellow": null,
"away_zh": null,
"comp_ref": null,
"competition": null,
"competition_id": null,
"coverage": null,
"created_at": "2026-11-07T08:20:34.138943Z",
"cur_period_start": null,
"ended": null,
"environment": null,
"fourth": null,
"from_schedule": false,
"group_num": null,
"half_away": null,
"half_home": null,
"has_ot": null,
"home_corner": null,
"home_ot": null,
"home_pen": null,
"home_position": null,
"home_red": null,
"home_score": 2,
"home_scores": 2,
"home_team": "Austria Lustenau",
"home_team_id": "9982",
"home_yellow": null,
"home_zh": null,
"humidity": null,
"id": 2367750,
"inferred_reason": null,
"intelligence": null,
"last_change_ts": null,
"league": "Bundesliga",
"lineup": null,
"logo": null,
"loss": null,
"match": null,
"match_time": "2026-11-07T16:00:00Z",
"minute": null,
"mlive": null,
"name": null,
"neutral": null,
"note": null,
"ou_line": null,
"period_initial": null,
"pressure": null,
"query": null,
"referee_id": null,
"referee_name": null,
"referees": null,
"related_id": null,
"round": null,
"round_num": null,
"season_id": null,
"source": "S4",
"source_id": "5846017",
"stage_id": null,
"start_ts": "2026-11-07T16:00:00Z",
"status_code": 3,
"status_id": 8,
"status_inferred": false,
"status_type": "finished",
"tbd": null,
"team": null,
"team_reverse": null,
"temperature": null,
"type": null,
"updated_at": 1794074224497,
"var": null,
"venue_id": null,
"venue_name": null,
"version": 20,
"weather": null,
"wind": null
}
],
"message": "success",
"success": true
}Response fields 88
agg_scorenullnullableAggregate score over two legs in regular time (including extra time) · example: [3, 6]
asian_handicapnullnullableAsian handicap
assistant1nullnullableAssistant referee 1
assistant2nullnullableAssistant referee 2
assistant_varnullnullableAssistant VAR referees · example: [6261, 6262]
away_cornerintegernullableAway team corners
Example: 0away_otintegernullableAway team extra-time score
Example: 0away_penintegernullableAway team penalty shoot-out score
Example: 0away_positionnullnullableAway team rank
away_redintegernullableAway team red cards
Example: 0away_scoreintegernullableAway team score (regular time, including stoppage time)
Example: 0away_scoresintegernullableScore field · example: [1, 0, 0, 0, -1, 0, 0]
Example: 0away_teamstringAway team name (English)
Example: "埃瓦尔C队"away_team_idstringnullableAway team id
Example: "10012"away_yellowintegernullableAway team yellow cards
Example: 0away_zhstringnullableAway team Chinese name
Example: "埃瓦尔C队"comp_refstringnullableCompetition id within the source
Example: "1679"competitionnullnullableCompetition
competition_idstringnullableCompetition id
Example: "1679"coveragenullnullableAnimation, intelligence and lineup fields
created_atstringCreation time
Example: "2026-11-07T17:36:29.844958Z"cur_period_startintegernullableStart of the current period (Unix seconds)
Example: 1794071791endednullnullableEnd time (returned when there is data)
environmentnullnullableMatch environment; present only when there is data
fourthnullnullableFourth official
from_schedulebooleanWhether taken from the schedule
Example: falsegroup_numnullnullableGroup number: 1 = A, 2 = B and so on
half_awayintegernullableAway team half-time score
Example: 0half_homeintegernullableHome team half-time score
Example: 0has_otnullnullableWent to extra time: 1 yes (returned when there is data)
home_cornerintegernullableHome team corners
Example: 0home_otintegernullableHome team extra-time score
Example: 0home_penintegernullableHome team penalty shoot-out score
Example: 0home_positionnullnullableHome team rank
home_redintegernullableHome team red cards
Example: 0home_scoreintegernullableHome team score (regular time, including stoppage time)
Example: 2home_scoresintegernullableScore field · example: [1, 0, 0, 0, -1, 0, 0]
Example: 0home_teamstringHome team name (English)
Example: "杜兰高"home_team_idstringnullableHome team id
Example: "9982"home_yellowintegernullableHome team yellow cards
Example: 0home_zhstringnullableHome team Chinese name
Example: "杜兰高"humiditynullnullableHumidity
idintegerRecord id; paging cursor (the id parameter returns records >= this value). In match endpoints it is the platform match id (gmid)
Example: 4261965inferred_reasonnullnullableReason for the inference
intelligencenullnullableHas intelligence: 1 yes, 0 no
last_change_tsintegernullableLast change time (Unix seconds)
Example: 1794073669leaguestringCompetition name (English)
Example: "西班牙皇家足协丙级联赛"lineupnullnullableHas lineups: 1 yes, 0 no
logonullnullableLogo (image address on this platform; empty when there is none)
lossnullnullableAwarded as a forfeit: 1 yes (returned when there is data)
matchnullnullableMatch list
match_timestringKick-off time (UTC, ISO 8601)
Example: "2026-11-07T16:00:00Z"minutestringnullableMatch minute
Example: "Ended"mlivenullnullableHas animation: 1 yes, 0 no
namenullnullableName
neutralnullnullableNeutral venue: 1 yes, 0 no
notenullnullableRemark
ou_linenullnullableOver/under line
period_initialintegernullableMinute at which the current period starts
Example: 0pressurenullnullableAir pressure
querynullnullableQuery info (paging cursor, totals)
referee_idnullnullableReferee id
referee_namenullnullableReferee name
refereesnullnullableReferee team; present only when there is data
related_idnullnullableMatch id of the other leg of a two-legged tie
roundnullnullableRound
round_numnullnullableRound number
season_idnullnullableSeason id
sourcestringSource code (S1, S2…)
Example: "S7"source_idstringId within the source
Example: "4633483"stage_idnullnullableStage id
start_tsstringKick-off time (UTC, ISO 8601)
Example: "2026-11-07T16:00:00Z"status_codeintegerStatus code
Example: 8status_idintegerMatch status code (see the status and type code table)
Example: 8status_inferredbooleanWhether the status is inferred
Example: falsestatus_typestringMatch status: notstarted / inprogress / finished and others
Example: "finished"tbdnullnullableKick-off time to be confirmed: 1 yes (returned when there is data)
teamnullnullableTeam name
team_reversenullnullableHome and away reversed: 1 yes (returned when there is data; e.g. the official site lists A vs B and this platform lists B vs A)
temperaturenullnullableTemperature
typenullnullableType
updated_atintegerLast update time (UTC, ISO 8601; incremental sync with the time parameter goes by it)
Example: 1794076270312varnullnullableVAR referee
venue_idnullnullableVenue id
venue_namenullnullableVenue name
versionintegerVersion number (higher is newer)
Example: 3weatherstringnullableWeather id · 1: partly cloudy · 2: cloudy · 3: partly cloudy / rain · 4: snow · 5: sunny · 6: overcast with rain / thunderstorms in places · 7: overcast · 8: mist · 9: overcast with rain · 10: cloudy with rain · 11: cloudy with rain / thunderstorms in places · 12: partly cloudy / rain and thunderstorms · 13: fog
Example: "-1°C"windnullnullableWind speed
Errors
| HTTP | message | When |
|---|---|---|
| 401 | missing API key / unauthorized | No X-API-Key, or the key is invalid or disabled |
| 429 | rate limit exceeded / daily quota exceeded | The key's per-minute rate or daily quota is exceeded |
| 429 | server busy, retry later | The server's concurrency slots are full (only 2 heavy requests at a time); retry after Retry-After seconds |
| 500 | query error | The query failed on the server; you may retry |