OrbTop

Cricsheet Ball-by-Ball Match Data Scraper

SPORTSAIEDUCATION

Cricsheet Ball-by-Ball Match Data Scraper

Downloads and parses Cricsheet's open ball-by-ball cricket match archives. Returns one record per delivery — match metadata, innings, over, batter, bowler, runs scored, wickets, and extras — for every format in the Cricsheet dataset.

Cricsheet is the de-facto open cricket dataset used by fantasy platforms, betting models, and academic researchers. It covers Test, ODI, T20I, IPL, BBL, and dozens of other competitions. This actor flattens the archive into queryable per-delivery rows, which is the highest-granularity cricket analytics format available.

What you get

Each output record represents a single ball bowled:

Field Description
match_id Cricsheet unique match identifier
competition Competition name (e.g. Indian Premier League)
format Match type (test, odi, t20)
match_date Date of the match (YYYY-MM-DD)
venue Ground name and city
team_a / team_b Both teams
batting_team Which team is batting in this innings
toss_winner Team that won the toss
result Match result
innings Innings number (1 or 2)
over Over number (0-indexed)
ball Ball within the over
batter Batter facing
non_striker Non-striking batter
bowler Bowler
runs_batter Runs off the bat
runs_extras Extra runs
runs_total Total runs from this delivery
wicket_kind How the wicket fell (caught, bowled, lbw, run_out...)
wicket_player_out Player dismissed (empty if no wicket)
extras_type Type of extra (wides, noball, byes, legbyes)

Input

Parameter Type Default Description
matchFormat string t20s Format archive to download: all, tests, mdms, odis, t20s, t20is, ipl, bbl
maxMatches integer 5 Maximum matches to process. Leave blank for the full archive.
maxItems integer 100 Maximum delivery records to return.

Format options

  • all — every match in the Cricsheet database (~22,000 matches, 141 MB)
  • tests — Test matches only (~900 matches)
  • mdms — Multi-day matches (~2,100 matches)
  • odis — One-day internationals (~3,100 matches)
  • t20s — T20 leagues worldwide (~5,400 matches)
  • t20is — T20 internationals only (~320 matches)
  • ipl — Indian Premier League
  • bbl — Big Bash League

Usage notes

Scale. A full all run with no maxMatches cap returns millions of delivery records. For most analytics use cases, select a specific format and set reasonable caps.

Resumable runs. maxItems caps the total deliveries emitted. maxMatches controls how many matches are parsed before stopping — useful when you need complete match records rather than a truncated mid-match stream.

Attribution. Cricsheet data is released under the Open Database License (ODbL). Give credit to Cricsheet.org when you publish work derived from this data.

Data source

Cricsheet.org — a community cricket data project providing ball-by-ball data for international and major T20 league cricket since 2005. The archive is updated regularly as new matches are played.