ESPN Cricinfo APIespncricinfo.com ↗
Access live cricket scores, ball-by-ball commentary, full scorecards, match details, series fixtures, and news from ESPN Cricinfo via a single API.
What is the ESPN Cricinfo API?
The ESPN Cricinfo API covers 6 endpoints that expose live match scores, detailed scorecards, ball-by-ball commentary, series fixtures, and a global news feed. Starting with get_live_scores, you get an array of match objects including objectId and series identifiers that chain into get_match_scorecard, get_match_details, and get_match_commentary — giving you a complete picture of any ongoing or recent match.
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'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace espncricinfo-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.espn_cricinfo_api import Cricinfo, Match, MatchDetail, FeedItem, FixtureCollection
cricinfo = Cricinfo()
# List all current live/recent matches
for match in cricinfo.matches.list():
print(match.title, match.state, match.status)
print(match.series.name)
for mt in match.teams:
print(mt.team.name, mt.team.abbreviation, mt.score)
# Get details for a specific match by objectId
m = cricinfo.match(object_id=1513356)
detail = m.details(series_id="1513323")
print(detail.match.title, detail.match.status)
# Get scorecard for a match
sc = m.scorecard(series_id="1513323")
print(sc.match.title, sc.match.state)
# Get ball-by-ball commentary
comm = m.commentary(series_id="1513323")
print(comm.match.title, comm.match.status)
# Browse the news feed
for item in cricinfo.feeds.list(records=5):
print(item.id, item.title, item.category)
for container in item.containers:
print(container.item.title, container.item.type)
# Get series fixtures overview
for collection in cricinfo.fixtures.list():
print(collection.title)
for group in collection.series_groups:
print(group.title)
for si in group.items:
print(si.title, si.series.name)
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 Identification
get_live_scores is the entry point for real-time data. It returns an array of match objects, each containing a match objectId, series identifier, team names, current scores, and match status. These identifiers are required inputs for get_match_details, get_match_scorecard, and get_match_commentary, so the live scores endpoint effectively acts as a discovery layer for the rest of the API.
Scorecards and Match Details
get_match_scorecard returns per-innings batting and bowling lines — individual player statistics broken down by innings. get_match_details goes further, adding squad composition via matchPlayers, closeOfPlay notes, ground information, match officials, and head-to-head history. Both endpoints accept match_id and series_id as required parameters, sourced from either get_live_scores or get_series_fixtures.
Commentary and Fixtures
get_match_commentary returns the comments array (ball-by-ball text), overComments, and currentInningNumber, making it useful for applications that need granular in-play narrative. get_series_fixtures returns fixture groups organized into categories such as Current Cricket, Future Series/Tournaments, and Recently Concluded, with seriesGroups containing series items and associated team images alongside objectId values compatible with the match-level endpoints.
News Feed
get_global_feed provides a paginated news and content feed. Inputs include page and records for pagination control. Each result item carries an id, title, category, and a containers field holding article details. The feed's item count can vary at any given time, and the total available count is returned as a top-level total field.
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 live cricket scores and match statuses in a mobile sports app using
get_live_scores - Build a scorecard viewer that shows batting and bowling statistics per innings via
get_match_scorecard - Power a ball-by-ball commentary feed for in-play betting or fan engagement tools using
get_match_commentary - Aggregate squad and player data for fantasy cricket platforms using
matchPlayersfromget_match_details - Show upcoming and recently concluded series schedules using
get_series_fixturesfixture groups - Drive a cricket news widget or aggregator by paginating through
get_global_feedresults - Track head-to-head match history between teams using the summary data returned by
get_match_details
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does ESPN Cricinfo have an official developer API?+
What does `get_match_commentary` return, and how is it structured?+
get_match_commentary returns a content object containing a comments array with ball-by-ball text entries, an overComments field grouping commentary by over, a currentInningNumber field, and innings-level metadata. The match object at the top level provides context like teams, scores, and officials for the same match.Can I look up historical player career statistics through this API?+
matchPlayers) for live and recent matches. Historical career aggregates and player profile pages are not exposed. You can fork this API on Parse and revise it to add an endpoint targeting player career data.How fresh is the live scores data, and are there any coverage gaps?+
get_live_scores reflects current and recent match states as available on ESPN Cricinfo. Coverage depends on which matches ESPN Cricinfo tracks — lower-tier domestic competitions may have limited or delayed data compared to international fixtures and major T20 leagues.Does the API support filtering matches by format (Test, ODI, T20)?+
get_live_scores and get_series_fixtures do not expose a format filter parameter — they return all available matches and fixture groups. Format information may appear within individual match objects in the response. You can fork this API on Parse and revise the endpoint to add server-side filtering by match format.