ESPN Cricinfo Scraper
Pricing
from $0.00005 / actor start
ESPN Cricinfo Scraper
Extract cricket statistics and records from ESPNcricinfo — the definitive cricket database. Search players, pull career stats, team records, venue profiles, and full match scorecards, as clean structured JSON/CSV/Excel.
Pricing
from $0.00005 / actor start
Rating
0.0
(0)
Developer
Saleem Javed
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
ESPNcricinfo Cricket Stats Scraper
Extract cricket statistics and records from ESPNcricinfo — the definitive cricket database. Search players, pull career stats, team records, venue profiles, and full match scorecards, as clean structured JSON/CSV/Excel.
Built for fantasy cricket, match previews, analytics, journalism, betting models, and research — anywhere you need cricket data in a spreadsheet or database instead of a web page.
What it does
Pick one of five modes and the Actor returns that data:
| Mode | Give it | You get |
|---|---|---|
| 🔎 Search players | player names | every matching player + their ESPNcricinfo player ID |
| 🏏 Player stats | player IDs | career batting and bowling, per format |
| 🛡️ Team stats | team names (or none) | each team's results record (won/lost/drawn), per format |
| 🏟️ Venue stats | ground names (or none) | each ground's profile (matches, scoring conditions, highest/lowest totals) |
| 📋 Match scorecard | match IDs | full scorecard — both innings, batting and bowling cards |
The player ID from Search players is the key for Player stats; the match ID (the number in any scorecard URL) drives Match scorecard.
Supported formats: Test, ODI, T20I, and IPL.
Features
- 🌍 Complete coverage — every international player and team, IPL franchises, and grounds worldwide, with decades of records.
- 🏏 Both disciplines — player stats merge batting and bowling into one row per format; scorecards include full batting and bowling cards.
- 📅 Format-aware — Test / ODI / T20I / IPL, each returned separately so you can compare a player or venue across formats.
- 🧩 Joinable IDs — every player carries a stable cricinfo ID, every team and ground an ID, so results link cleanly across runs.
- 🛡️ Resilient runs — one bad name/ID/match is skipped with a warning; the run finishes and still returns everything else.
- 🌐 Proxy support — Apify Proxy supported for reliable runs.
Input
Set mode, then fill the field(s) that mode uses:
| Field | Used by | Description |
|---|---|---|
mode | all | searchPlayers, playerStats, teamStats, venueStats, or matchScorecard. |
playerNames | searchPlayers | Names/partial names, e.g. ["Sachin Tendulkar", "Kohli"]. |
maxResultsPerName | searchPlayers | Cap matches per name (default 50). |
playerIds | playerStats | Cricinfo player IDs, e.g. ["253802"] (from Search players). |
teams | teamStats | Team names; international by name, IPL by name/abbrev ("RCB"). Empty = all teams. |
venues | venueStats | Ground names, e.g. ["Eden Gardens"]. Empty = busiest grounds. |
maxVenuePages | venueStats | Pages (~50 grounds each) to scan for named venues (default 10). |
matchIds | matchScorecard | Match IDs, e.g. ["1144530"] (the number in a scorecard URL). |
formats | player/team/venue stats | Any of test, odi, t20i, ipl (default: all four). |
proxyConfiguration | all | Proxy settings. |
Example inputs
Search players → get IDs
{ "mode": "searchPlayers", "playerNames": ["Sachin Tendulkar", "Kohli"] }
Player career stats
{ "mode": "playerStats", "playerIds": ["253802", "35320"], "formats": ["test", "odi", "t20i", "ipl"] }
Team records
{ "mode": "teamStats", "teams": ["India", "Australia"], "formats": ["test", "odi"] }
Venue profiles
{ "mode": "venueStats", "venues": ["Eden Gardens", "Wankhede"], "formats": ["test", "ipl"] }
Match scorecard
{ "mode": "matchScorecard", "matchIds": ["1144530"] }
Example output
Search players (one row per matched player)
{"searchTerm": "Kohli","playerId": "253802","name": "Virat Kohli","country": "India","bornYear": 1988,"profileUrl": "https://www.espncricinfo.com/cricketers/virat-kohli-253802","statsUrl": "https://stats.espncricinfo.com/ci/engine/player/253802.html"}
Player stats (one row per player × format)
{"playerId": "253802","playerName": "Virat Kohli","format": "ODI","span": "2008-2026","matches": 311,"innings": 299,"runs": 14797,"battingAverage": 58.71,"battingStrikeRate": 93.82,"hundreds": 54,"fifties": 77,"highScore": "183","wickets": 5,"bestBowling": "1/13","economy": 6.16}
Team stats (one row per team × format)
{"teamId": "6","teamName": "India","format": "Test","span": "1932-2026","matches": 599,"won": 186,"lost": 188,"drawn": 224,"winLossRatio": 0.989}
Venue stats (one row per venue × format)
{"groundId": "56441","groundName": "Melbourne Cricket Ground","format": "Test","span": "1877-2025","matches": 118,"battingAverage": 29.86,"runsPerOver": 2.76,"highestTotal": "624","lowestTotal": "36"}
Match scorecard (one nested record per match)
{"matchId": "1144530","name": "England v New Zealand","description": "Final","format": "ODI","venue": "Lord's, London","result": "England won the 2019 ICC Cricket World Cup","toss": "New Zealand , elected to bat first","teams": ["England", "New Zealand"],"innings": [{"inningsNumber": 1,"battingTeam": "New Zealand","runs": 241,"wickets": 8,"overs": 50.0,"batting": [{ "name": "Henry Nicholls", "playerId": "539511", "runs": 55, "balls": 77, "fours": 4, "sixes": 0, "strikeRate": 71.42, "notOut": false, "howOut": "bowled" }],"bowling": [{ "name": "Chris Woakes", "playerId": "247235", "overs": "9", "maidens": 0, "runs": 37, "wickets": 3, "economy": 4.11 }]}]}
Every field is available as a column when you export to CSV, Excel, JSON, or XML.
Good to know / limitations
- Two-step player lookup. Use Search players to find a player's ID, then feed that ID to Player stats. IDs are stable, so you can save and reuse them.
- Match IDs come from URLs. A match ID is the number in an ESPNcricinfo
scorecard URL (e.g.
.../full-scorecardpages). - Team & venue records are aggregates. Team stats are each team's overall results record per format; venue stats are aggregated across all teams that played at the ground (so they describe the ground, not a single team there).
- Formats are returned separately. A player/team/venue is one row per format it has played; formats never played are simply omitted.
- Snapshots. Stats reflect ESPNcricinfo at run time and update as matches are played — treat results as a point-in-time snapshot.
Disclaimer
This tool fetches publicly visible cricket statistics from ESPNcricinfo on demand using your own runs and proxies. Statistics are factual records. You are responsible for using the output in compliance with ESPNcricinfo's Terms of Use and applicable laws.