Cricsheet Cricket Match Data Scraper avatar

Cricsheet Cricket Match Data Scraper

Pricing

from $19.00 / 1,000 result items

Go to Apify Store
Cricsheet Cricket Match Data Scraper

Cricsheet Cricket Match Data Scraper

Scrapes cricket match records from Cricsheet by format, league, team, gender, or date range. Returns one flat row per match with optional ball-by-ball innings data.

Pricing

from $19.00 / 1,000 result items

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

11 days ago

Last modified

Share

ParseForge

Cricsheet Cricket Match Data Scraper

Scrape cricket match data from Cricsheet, from Test matches to T20 leagues, up to a million matches per run. Every match comes with teams, scores, result, and optional ball-by-ball innings data. No login or API key. Export to CSV, JSON, Excel, or XML.

Cricsheet's official archives are split into dozens of bundle files, and the raw JSON is nested and hard to query. This Actor reads the public match bundles directly, filters by format, league, team, gender, or date, and returns each match as one flat row. You can also include the full ball-by-ball innings object when you need delivery-level detail.

Who uses itWhat they scrape Cricsheet for
Sports analystsBuilding historical match databases for trend analysis
Fantasy cricket developersFeeding player and match data into prediction models
Cricket journalistsPulling match results and scorecards for articles
Data scientistsCreating datasets for machine learning on cricket outcomes
League administratorsArchiving match records for official statistics

What it does

This Actor collects cricket match records from Cricsheet by format, league, team, gender, or date range, and returns each match as a flat row with optional ball-by-ball innings data.

  • ๐Ÿ Match-level records: one row per match with teams, scores, result, and metadata.
  • ๐Ÿ“Š Optional ball-by-ball data: include the full innings/overs/deliveries object on every record.
  • ๐Ÿ” Flexible filters: narrow by match type, league, team name substring, gender, or date range.
  • ๐Ÿ“ฆ Bundle override: specify a custom Cricsheet bundle slug for advanced control.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Cricsheet data

๐Ÿ“ˆ Build a historical match database.

A sports analyst runs the Actor with matchType set to IPL and dateFrom 2015-01-01 to collect every IPL match since 2015 for trend analysis.

๐Ÿง  Train a cricket prediction model.

A data scientist scrapes all T20I matches with includeBallByBall true to get delivery-level features for a machine learning model.

๐Ÿ“ฐ Power a cricket news site.

A journalist pulls recent ODI results by setting matchType to ODI and maxItems to 50, then exports to JSON for the site's match center.

๐Ÿ† Track a league's season.

A league administrator filters by team1 'Mumbai' and date range for the current season to compile official statistics.

๐Ÿ‘ฉโ€๐Ÿ’ผ Analyze women's cricket.

A researcher sets gender to female and matchType to WT20 to collect all Women's T20 International matches for a study on scoring rates.

Why choose this scraper

What you get
No API key or loginReads Cricsheet's public bundles directly, no registration needed
Flat, queryable rowsEach match is one record, ready for spreadsheets or databases
Ball-by-ball optionToggle to include full delivery-level data when you need it
All formats and leaguesTest, ODI, T20I, T20, IPL, BBL, PSL, CPL, and more

How it compares

This Actor returns one record per match, while the competitor returns one record per delivery. Choose based on the granularity you need.

FeatureParseForgeCricsheet Ball-by-Ball Match Data Scraper
Match-level recordsYesNot listed
Ball-by-ball delivery dataOptional via includeBallByBallYes
Filter by match type or leagueYesNot listed
Filter by team nameYesNot listed
Filter by date rangeYesNot listed
Custom bundle slug overrideYesNot listed

Configure the run

Drive the Actor from match type, league, team names, gender, and date range, alone or together, and filters run as each match is read so only matches that meet your criteria reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
"maxItems": 10
}

A larger pull:

{
"maxItems": 200
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$2.10
1,000 results$21.00
10,000 results$210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Cricsheet Cricket Match Data Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Cricsheet through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/cricsheet-cricket-match-data-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check your filters. If you set team1 or team2, make sure the substring matches a team name in the selected matchType. Also verify dateFrom and dateTo are valid ISO dates and that the range includes matches.

Why is my run slow or timing out?

If you set includeBallByBall to true, records become much larger and the run may take longer. Try reducing maxItems or disabling ball-by-ball data if you don't need it.

Why do I get an error about bundle slug?

The bundle field expects a valid Cricsheet bundle slug like 'ipl_male_json'. Check the Cricsheet website for available slugs. If left empty, the Actor auto-picks based on your filters.

Why are some matches missing?

Cricsheet may not have data for every match, especially very recent or obscure ones. Also, if you set a date range, matches outside that range are excluded.

Can I get data for a specific tournament like the World Cup?

Cricsheet bundles are organized by format and league, not by tournament. You can filter by date range and teams to approximate a tournament, or use a custom bundle slug if available.

FAQ

QuestionAnswer
What is Cricsheet?Cricsheet is a public repository of cricket match data in machine-readable formats, covering international and domestic matches across many leagues and formats.
Do I need an API key or login?No. This Actor reads Cricsheet's public bundle files directly, so no registration or authentication is required.
What formats and leagues are supported?You can filter by Test, ODI, T20I, T20, IPL, BBL, PSL, CPL, SA20, ILT20, MLC, T10, LPL, BPL, MSL, WT20, WBBL, CBL, and SMAT. Leave matchType empty to pull recently added matches across all formats.
Can I get ball-by-ball data?Yes. Set includeBallByBall to true and the full innings/overs/deliveries object will be included on every record. Note that records become much larger.
How do I filter by team?Use team1 and team2 fields with case-insensitive substrings. For example, team1 'india' will match 'India', 'Indian Board President's XI', etc.
Can I filter by date?Yes. Use dateFrom and dateTo with ISO dates (YYYY-MM-DD) to include only matches starting within that range.
What is the maximum number of matches I can scrape?You can set maxItems up to 1,000,000 matches per run. The default is 10.
What is a bundle slug?Cricsheet organizes data into bundle files like 'ipl_male_json' or 'tests_male_json'. You can override the automatic selection by providing a custom bundle slug in the bundle field.
Can I filter by gender?Yes. Set gender to male, female, or any (default).
What output formats are supported?The Actor returns data in Apify's standard dataset format, which you can export to CSV, JSON, Excel, or XML.
Is the data live?Cricsheet updates its bundles regularly. This Actor pulls from the current public bundles, so you get the latest available matches.
Can I scrape a specific league like IPL?Yes. Set matchType to IPL (or any other league from the list) to get only matches from that league.

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Cricsheet. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.