ESPN Cricinfo APIespncricinfo.com ↗
Access live cricket scores, ball-by-ball commentary, full scorecards, wagon wheel data, and series fixtures from ESPN Cricinfo via a single REST API.
What is the ESPN Cricinfo API?
This API exposes 7 endpoints covering live match data, detailed scorecards, ball-by-ball commentary, and wagon wheel shot-placement data from ESPN Cricinfo. Starting with get_live_scores, you get a list of ongoing and recent matches with objectIds that chain directly into get_match_scorecard, get_match_commentary, and get_match_details — giving you everything from squad composition to per-ball wagonX/wagonY coordinates in one coherent flow.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/1d60bec3-9a21-42ea-8ee9-e5ef840ba233/get_live_scores' \ -H 'X-API-Key: $PARSE_API_KEY'
Get current live and recent cricket matches with scores, team details, and match statuses. Returns match objectIds and series objectIds that can be used with get_match_details, get_match_scorecard, and get_match_commentary endpoints. The response includes all currently running and recently completed matches across all formats and competitions.
No input parameters required.
{
"type": "object",
"fields": {
"matches": "array of match objects with objectId, series, teams, scores, status, ground, and format details"
},
"sample": {
"data": {
"matches": [
{
"slug": "surrey-vs-hampshire-31st-match",
"state": "LIVE",
"teams": [
{
"team": {
"name": "Surrey",
"abbreviation": "SUR"
},
"score": "421 & 57/2"
},
{
"team": {
"name": "Hampshire",
"abbreviation": "HAM"
},
"score": "333"
}
],
"title": "31st Match",
"format": "TEST",
"series": {
"name": "County Championship Division One",
"objectId": 1513323
},
"status": "Stumps",
"objectId": 1513356,
"statusText": "Day 3 - Surrey lead by 145 runs."
}
]
},
"status": "success"
}
}About the ESPN Cricinfo API
Live Scores and Match Discovery
get_live_scores returns an array of match objects, each carrying an objectId, series details, team names, current scores, match status, ground name, and format (Test, ODI, T20, etc.). These objectId and series objectId values are the keys to every other match-specific endpoint. get_series_fixtures provides a complementary calendar view — fixtures grouped into categories like Current Cricket, Future Series, and Recently Concluded — and also yields objectIds suitable for downstream calls.
Scorecards, Commentary, and Match Details
get_match_scorecard returns innings-level batting lines (runs, balls, fours, sixes, dismissal) and bowling lines (overs, maidens, runs, wickets) for every innings in a match. get_match_details adds squad composition via matchPlayers, closeOfPlay notes, head-to-head history, and match officials. get_match_commentary supports two modes: a default mode that returns the full content object with all comments for a match, and a paged mode triggered by inning_number and optionally from_over, which steps through ball-by-ball commentary using nextInningOver as the cursor. The optional sort_direction parameter controls ball ordering within a paged request.
Wagon Wheel and Shot Placement
get_wagon_wheel returns every ball of a specified innings as an ordered array. Each ball object includes wagonX, wagonY, wagonZone, shotType, shotControl, pitchLine, and pitchLength. An optional batsman_player_id filter narrows results to a single batter using the numeric batsmanPlayerId field that appears on each ball. A full 50-over innings typically produces around 300 ball objects in a single response with no paging required.
News Feed
get_global_feed returns paginated ESPN Cricinfo news items. Each result includes an id, title, category, and a containers object with article detail fields. The page and records parameters control pagination, and the total field tells you how many items are available across all pages.
The ESPN Cricinfo API is a managed, monitored endpoint for espncricinfo.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when espncricinfo.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official espncricinfo.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Display a live cricket scoreboard app using
get_live_scoresmatch scores and status fields - Build an innings-by-innings batting analysis tool from
get_match_scorecardbatting and bowling lines - Render shot-placement heat maps using
wagonX,wagonY, andwagonZonefromget_wagon_wheel - Power a ball-by-ball commentary feed with paged
get_match_commentaryandnextInningOvercursor - Aggregate a cricket news digest by fetching paginated items from
get_global_feed - Populate a match preview page with squad lineups and head-to-head data from
get_match_details - Build a cricket calendar widget from
get_series_fixturesgrouped collections and series objectIds
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does ESPN Cricinfo have an official developer API?+
How does pagination work in `get_match_commentary`?+
inning_number, the endpoint switches to paged mode. The response includes a nextInningOver integer you pass back as from_over on the next call to advance the page. When nextInningOver is null, you have reached the end of the innings. The match object is null in paged mode; it is only populated in the default (no inning_number) mode.Can I retrieve historical player career statistics?+
Does `get_wagon_wheel` return data for T20 and Test matches, or only ODIs?+
inning_number parameter accepts any positive integer, so the endpoint works for any match format — T20, ODI, or Test. A full 50-over ODI innings is roughly 300 balls in one response; a Test innings with more deliveries will return proportionally more ball objects in that same single response.