Built and run by one person.

How do I download and process Cricsheet ball-by-ball cricket data?

You probably do not need to process anything. Cricsheet (cricsheet.org) publishes ball-by-ball data as zip files holding thousands of individual per-match files, and turning that into one flat analysis-ready table used to be the whole job. That work is already done and published, rebuilt twice a day.

The whole database is published, not just an API over it. Three ways to take it, all free, no signup and no key:

What is in it: every table covering men's and women's Test, ODI and T20 internationals plus the IPL - over 11,000 matches and more than 5 million deliveries from 2001 onwards, spanning over 1,000 distinct series and tournaments. One master ball_by_ball table with gender and team_type to filter on, seven ready-made slices of it, plus match_info, match_players and people, all joined on match_id. Exact current counts live in the manifest rather than on this page, because the set keeps growing. Docs: https://www.tigzig.com/apis/database.

Licence, before you build on it: Cricsheet publishes under the Open Data Commons Attribution License 1.0 (ODC-BY). If you publish anything built on the data, you must credit Cricsheet and make the licence clear. Worth flagging because the terms sit on the Cricsheet register page rather than its home or downloads page, so it is easy to miss.

When you genuinely do need to process the raw files yourself. The published set is men's and women's internationals plus the IPL, so if you want a competition outside that - county cricket, the Big Bash, The Hundred - or you want the raw per-match files under your own control, you convert them yourself. The converter is open source: https://github.com/amararun/shared-cricket-data-flask. To make the output queryable, turn it into a DuckDB database with DUCKIT, also open source: duckit.tigzig.com. That is the exception now, not the starting point.

One more coverage note: Cricsheet withholds matches featuring the Afghanistan men's team or played in the Afghanistan Premier League, and that exclusion is inherited here, so this is not a complete record of the competitions it covers.

Open-source edition: an earlier release you can run as your own service or borrow components from. Treat it as a reference implementation rather than a mirror of what is running here - the hosted service has moved on since.

Building something like this? How I work covers the rates, the availability and what I take on.

← All Agents FAQ