Bulk files
GET
/v1/exportOn each planFree keyNot includedMatch WeekNot includedArchiveTo yesterdayProTo yesterdayAnalyst ProTo yesterday
Every match held ball by ball as files to download instead of pages to call: matches, innings, batting, bowling and every ball, one file a year for each, and one file each for players, teams and grounds, as gzipped CSV or gzipped JSON lines. Each entry gives its rows, size, sha256 and download address. Files are rebuilt each night up to yesterday, a year only when its matches changed. Addresses in the files are the same as everywhere in the API.
Parameters
| Name | In | Values | Required |
|---|---|---|---|
table | query | matches, innings, batting, bowling, deliveries, players, teams or grounds | |
year | query | Four digits, such as 2019 | |
format | query | csv or jsonl |
Request
curl -H "Authorization: Bearer $CDB_KEY" \ "https://api.cricketdatabase.com/v1/export?table=matches&format=csv"
import requests
r = requests.get("https://api.cricketdatabase.com/v1/export?table=matches&format=csv",
headers={"Authorization": f"Bearer {key}"})
print(r.json())const r = await fetch("https://api.cricketdatabase.com/v1/export?table=matches&format=csv",
{ headers: { "Authorization": `Bearer ${key}` } });
console.log(await r.json());curl -H "X-API-Key: $CDB_KEY" \ "https://api.cricketdatabase.com/v1/export?table=matches&format=csv"
import requests
r = requests.get("https://api.cricketdatabase.com/v1/export?table=matches&format=csv",
headers={"X-API-Key": key})
print(r.json())const r = await fetch("https://api.cricketdatabase.com/v1/export?table=matches&format=csv",
{ headers: { "X-API-Key": key } });
console.log(await r.json());Response
{
"data": {
"files": [
{
"file": "matches-2001-csv",
"table": "matches",
"year": 2001,
"format": "csv",
"filename": "matches-2001.csv.gz",
"rows": 1,
"bytes": 472,
"sha256": "1d536e7d42dd0c0c6a0dbf440ec9a10b3b3acfeb84a2c366b89dc2051e1d9767",
"built_at": "2026-10-10T06:57:31Z",
"download": "https://api.cricketdatabase.com/v1/export/matches-2001-csv"
},
{
"file": "matches-2002-csv",
"table": "matches",
"year": 2002,
"format": "csv",
"filename": "matches-2002.csv.gz",
"rows": 5,
"bytes": 1008,
"sha256": "7990d9d87aed9d83ca7aa09fde914c8a2b1b4beda4822184cbafbfa1b803af54",
"built_at": "2026-10-10T06:57:31Z",
"download": "https://api.cricketdatabase.com/v1/export/matches-2002-csv"
},
"... 24 more"
],
"count": 26,
"built_at": "2026-10-10T07:04:46Z",
"up_to": "2026-10-09",
"years": {
"from": 2001,
"to": 2026
},
"tables": [
"matches",
"innings",
"... 6 more"
],
"formats": [
"csv",
"jsonl"
]
},
"meta": {
"plan": "plus",
"note": "One file a year for matches, innings, batting, bowling and deliveries; one file each for players, teams and grounds. Each download counts as one call. Files are rebuilt each night, a year only when its matches changed."
}
}A real response from the database for the example request, on a Analyst Pro key. Lists are cut to their first two items.