Cricket Match Stats and Ball-by-Ball Scraper avatar

Cricket Match Stats and Ball-by-Ball Scraper

Pricing

from $21.75 / 1,000 results

Go to Apify Store
Cricket Match Stats and Ball-by-Ball Scraper

Cricket Match Stats and Ball-by-Ball Scraper

Get cricket match results, batting and bowling scorecards, ball-by-ball deliveries, player career totals, team records, venue stats and batter vs bowler matchups for IPL, BBL, PSL, Tests, ODIs, T20Is and 100+ leagues. Strike rates, economy and phases included.

Pricing

from $21.75 / 1,000 results

Rating

0.0

(0)

Developer

ParseLab

ParseLab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Cricket Match Stats Scraper: IPL, BBL, Tests, ODIs and T20 Ball-by-Ball Data

This cricket scraper turns the open Cricsheet archive into clean rows you can sort, filter and export. Pick a competition such as the IPL, Big Bash, PSL, The Hundred, Tests or ODIs, and get match results, batting and bowling scorecards, every delivery, player career totals, team records, venue statistics and batter against bowler matchups. Matches go back to 2001 for internationals and the archive is updated within days of each game.

The main difference from other cricket scrapers is that the work is already done for you. Raw ball-by-ball files give you deliveries and nothing else. This actor builds the numbers analysts actually ask for: strike rate, economy, dot ball percentage, boundary percentage, fall of wicket details, powerplay and death over splits, required run rate on every ball of a chase, career averages, winning percentage after winning the toss and more. Every player row also carries the Cricinfo and Cricbuzz player ids so you can join it with other sources.

Fantasy cricket players, betting analysts, journalists, club coaches and data science students use it to build models, dashboards and match previews.

What cricket data can you get?

  • Matches and results: one row per match with date, venue, city, competition, stage, toss, winner, margin in runs or wickets, Duckworth-Lewis flag, player of the match, umpires, referee, and the score of every innings with run rate, extras, fours, sixes and dot ball percentage.
  • Batting scorecards: one row per batter and innings with runs, balls, fours, sixes, strike rate, boundary percentage, how they were out, the bowler and fielders involved, batting position and fall of wicket score.
  • Bowling scorecards: one row per bowler and innings with overs, maidens, runs, wickets, economy, average, strike rate, dot balls, wides, no balls and boundaries conceded.
  • Ball-by-ball deliveries: one row per delivery with batter, bowler, runs, extras, wicket details, phase of the innings, team score after the ball, and for second innings the runs required, balls remaining and required run rate.
  • Player career totals: matches, runs, average, strike rate, fifties, hundreds, wickets, best bowling, catches, stumpings and player of the match awards. Group by player, season, format or competition.
  • Team records: win percentage, win percentage when batting first or chasing, toss record, average first innings score, highest and lowest totals.
  • Venue statistics: average first and second innings scores, batting first win percentage, boundaries per match, average powerplay and death over runs.
  • Batter vs bowler matchups: balls faced, runs, dismissals, strike rate and dot ball percentage for any pairing.

How to scrape IPL, BBL and international cricket stats

  1. Choose what to collect, for example Batting scorecards.
  2. Choose a competition such as the IPL, or leave the competition empty and enter years.
  3. Add filters: teams, players, venue, dates, men or women, match formats.
  4. Set the maximum number of items and run.

The newest matches come first, so a small run gives you the latest results.

Input example

{
"mode": "batting",
"competition": "ipl",
"years": ["2024"],
"playerNames": ["V Kohli"],
"maxItems": 100
}

Names follow the Cricsheet style of initials plus surname, such as V Kohli or JJ Bumrah. Partial names work. A collection code for countries, teams and leagues (india, england, mumbai_indians, msl) can be typed in the other collection field.

Output example

A batting scorecard row from the IPL final of 2026:

{
"matchId": 1535465,
"date": "2026-05-31",
"competition": "Indian Premier League",
"venue": "Narendra Modi Stadium, Ahmedabad",
"innings": 2,
"team": "Royal Challengers Bengaluru",
"opposition": "Gujarat Titans",
"player": "V Kohli",
"battingPosition": 2,
"runs": 75,
"balls": 42,
"fours": 9,
"sixes": 3,
"strikeRate": 178.57,
"boundaryPct": 72,
"dotBallPct": 23.81,
"notOut": true,
"dismissal": "not out",
"target": 156,
"teamResult": "won",
"playerOfMatch": true,
"playerCricinfoId": 253802
}

A career row for Jasprit Bumrah in the IPL shows 158 matches, 187 wickets, an economy of 7.34, a bowling average of 23.75 and a best bowling of 5/10. Numbers are real numbers, not text, so they sort and chart without cleaning.

Why use this cricket data scraper?

  • Eight views of the same data instead of one flat delivery dump.
  • Derived statistics included: averages, rates, percentages, phase splits and chase pressure, so you do not need to write your own aggregation code.
  • Player ids for Cricinfo, Cricbuzz and Cricsheet on every player row.
  • Men's and women's cricket, internationals, franchise leagues and domestic cups.
  • Clean field names in camelCase, with empty values left empty instead of filled with text.
  • Super overs left out of statistics by default, with an option to include them.

Who uses cricket match data?

  • Fantasy cricket players who want recent form, venue trends and bowler matchups.
  • Betting analysts who build pricing models from toss, venue and phase data.
  • Writers and broadcasters who need quick facts for previews and recaps.
  • Coaches and analysts comparing batters against pace or spin bowlers.
  • Students who need a clean cricket dataset for projects.

Frequently asked questions

How far back does the data go? International matches start in the early 2000s and many leagues start with their first season. Older Test matches are available for some series.

How fresh is it? The source adds matches shortly after they finish. The "added in the last 30 days" option gives only new matches.

Why do I see only 10 rows on the free plan? Free runs are a preview limited to 10 results. Paid plans return up to one million rows.

Which formats are covered? Tests, ODIs, T20 internationals, domestic one day, multi-day domestic and over 100 leagues and cups.

Can I get one row per player for a whole season? Yes. Use player career totals and group by player and season.

What if a player name returns nothing? Check the spelling the way Cricsheet writes it, for example RG Sharma or MS Dhoni. Try a shorter part of the name.

Data source and limits

Match data comes from Cricsheet (cricsheet.org), published under the Open Data Commons Attribution License. Please credit Cricsheet when you publish results built with this data. Statistics are calculated by this actor from ball-by-ball records, so figures can differ slightly from official records when a governing body corrects a match after publication. Fielding credit is based on the fielders named in the dismissal. Data for matches without ball-by-ball coverage is not included.