Built and run by one person.
The Full Cricket Database Is Now Downloadable. Test, ODI and T20 Ball by Ball, in Parquet, CSV, DuckDB or SQLite.

The Full Cricket Database Is Now Downloadable. Test, ODI and T20 Ball by Ball, in Parquet, CSV, DuckDB or SQLite.

Published: August 28, 2026

The full cricket database is now downloadable. Test, ODI and T20 ball by ball, 6,900+ matches from 2001 onwards and 3.8 million+ deliveries. Refreshed twice daily.

Available as:

The files are the same either way. The download files are regenerated immediately as soon as the data is refreshed on the API.

The live SQL access stays as it is. Postgres or DuckDB, REST API or MCP server, same endpoints as before.

Free, no signup, no key.

Compliance note, data source: Cricsheet (cricsheet.org), Open Data Commons Attribution License 1.0. TigZig is not affiliated with or endorsed by Cricsheet.

The schema, for anyone going straight to the files

Four tables. Three ball-by-ball tables, one per format, and match_info with the venue, dates, teams, toss, result and officials. They join on match_id.

The columns and the field definitions are Cricsheet's. We add two of our own to the ball-by-ball tables, over_no and delivery_in_over, both whole numbers.

The original ball column packs the over and the delivery into one decimal, so the tenth delivery of an over reads 1.10, which as a decimal is the same value as 1.1, the first delivery. Sort by it inside a long over and the tenth ball comes out in the wrong place. ball is still there and is fine for everything else.

For a key on one delivery use match_id, innings, over_no and delivery_in_over together. actual_delivery looks like it would do that job and does not, since it counts only legal deliveries, so a wide shares its number with the ball that eventually counts.

Full column list and the field definitions, with links back to Cricsheet: db-mcp.tigzig.com/redoc

Refresh, the SQL API, the licence and coverage

On the refresh. Files are rebuilt twice a day. Each one is written under a temporary name and swapped in atomically, so you never download a half-written file. They mirror to Cloudflare R2 and the edge cache is purged on upload, so the new bytes reach you within a few minutes of a rebuild. Downloads are served from Cloudflare R2, from whichever location is closest to you. The manifest publishes the generation time and the exact byte size of every file.

The SQL API stays free and open, on DuckDB and Postgres, and you can go fairly deep with it, CTEs included. There is an allowed set of functions and a cap on query length, so a few things are refused. If you want none of that, download the file and run it locally.

The licence travels with the file, in the parquet footer and in a README beside the database, so it stays attached when a file gets passed on. The canonical copy sits on the page, in the compliance note and at db-mcp.tigzig.com/terms.

Cricsheet withholds matches featuring the Afghanistan men's team and the Afghanistan Premier League. That exclusion is inherited here.

The full cricket database, now downloadable


Working on something similar? How I work covers the rates, the availability and what I take on.

The cricket dataset linked here is from Cricsheet, published under the Open Data Commons Attribution License 1.0 (ODC-BY). If you redistribute it, keep the attribution and the licence with it.