Cricbuzz APIcricbuzz.com ↗
Access Cricbuzz live scores, scorecards, ball-by-ball commentary, player profiles, series lists, and news via a single structured API.
What is the Cricbuzz API?
This API exposes 7 endpoints covering live match data, detailed scorecards, commentary, and player profiles from Cricbuzz. The get_match_scorecard endpoint returns full batting and bowling figures per innings, while get_match_commentary delivers ball-by-ball updates sorted by timestamp. Response fields span match IDs, toss results, fall-of-wickets, partnerships, player statistics, and the latest news headlines.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/9fce0e0b-ac06-45f3-92b5-85c4b2ad3e59/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 cricbuzz-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.cricbuzz_cricket_data_api import Cricbuzz, Match, Player, Article, Fixture, MatchStatus, PlayerNotFound
cricbuzz = Cricbuzz()
# List live and upcoming matches
for match in cricbuzz.matches.list():
print(match.series_name, match.match_desc, match.state)
print(match.team1.team_name, "vs", match.team2.team_name)
print(match.venue_info.ground, match.venue_info.city)
# Get a match by ID and inspect its scorecard
m = cricbuzz.matches.get(match_id="153726")
scorecard = m.scorecard()
for inn in scorecard.innings:
print(inn.innings_id, inn.team, inn.score, inn.wickets, inn.overs)
# Get ball-by-ball commentary
commentary = m.commentary()
for entry in commentary.commentary:
print(entry.headline, entry.text, entry.timestamp)
# Get match status
match_status = m.status()
print(match_status.summary_text, match_status.match_id)
print(match_status.match_details.series_name, match_status.match_details.match_format, match_status.match_details.state)
# Fetch a player profile
player = cricbuzz.players.get(player_id="13213")
print(player.name, player.player_id)
print(player.personal_info.role, player.personal_info.batting_style, player.personal_info.team)
# Browse upcoming series fixtures
for fixture in cricbuzz.fixtures.list():
print(fixture.series_name, fixture.match_desc, fixture.match_format)
print(fixture.team1.team_name, "vs", fixture.team2.team_name)
# Get latest news
for article in cricbuzz.articles.list():
print(article.headline, article.url)
Retrieve all live and upcoming cricket match scores including match IDs, team names, series info, venue, and current status. Returns structured match data extracted from Cricbuzz's live scores page. Matches in Preview, Toss, and In Progress states are included.
No input parameters required.
{
"type": "object",
"fields": {
"matches": "array of match objects containing matchId, seriesId, seriesName, matchDesc, matchFormat, state, status, team1, team2, and venueInfo"
},
"sample": {
"data": {
"matches": [
{
"state": "Toss",
"team1": {
"teamId": 99,
"teamName": "England Women",
"teamSName": "ENGW"
},
"team2": {
"teamId": 97,
"teamName": "India Women",
"teamSName": "INDW"
},
"status": "India Women opt to bowl",
"matchId": 156091,
"seriesId": 12254,
"matchDesc": "11th Match",
"startDate": 1781082000000,
"venueInfo": {
"city": "Cardiff",
"ground": "Sophia Gardens"
},
"seriesName": "ICC Womens T20 World Cup Warm-up Matches 2026",
"matchFormat": "T20"
}
]
},
"status": "success"
}
}About the Cricbuzz API
Live Match Data
get_live_scores returns an array of currently active match objects, each carrying a matchId, seriesId, team info, current status, and venue details — no parameters required. get_match_summary accepts a match_id and returns a match_details object with fields like matchFormat, state, tossResults, result, and player-of-the-match information, giving a quick read on any match without parsing a full scorecard.
Scorecards and Commentary
get_match_scorecard takes a required match_id string and returns an innings array. Each innings object includes batting and bowling line arrays, fall_of_wickets, and partnerships. Note that preview matches (scheduled but not started) return an empty innings array. get_match_commentary returns a commentary array for the same match_id, where each entry carries headline, text, over, and timestamp fields, sorted descending by time.
Series, Players, and News
get_series_list returns all ongoing and upcoming series without any required parameters — each object in the series array includes seriesId, seriesName, matchFormat, scheduled match metadata, and venueInfo. get_player_profile requires a numeric player_id and accepts an optional name_slug; it returns personal_info (Born, Role, Batting Style), batting_stats, and bowling_stats as arrays of string rows. get_news_list returns a flat news array of headline-and-URL pairs from Cricbuzz's news page.
The Cricbuzz API is a managed, monitored endpoint for cricbuzz.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when cricbuzz.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 cricbuzz.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 widget using match status and team data from
get_live_scores - Build a match results tracker that pulls scorecard innings data via
get_match_scorecardafter each completed game - Power a fantasy cricket app with player batting and bowling stats from
get_player_profile - Send push notifications for wickets and boundaries using ball-by-ball data from
get_match_commentary - Aggregate upcoming fixtures and venues for a scheduling app with
get_series_list - Surface match result summaries including toss and player-of-the-match via
get_match_summary - Build a cricket news feed by polling
get_news_listfor the latest headlines and article URLs
| 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 Cricbuzz have an official developer API?+
What does `get_match_scorecard` return for a match that hasn't started yet?+
get_match_scorecard returns the requested match_id alongside an empty innings array for preview matches — those that are scheduled but have not yet begun. Full batting, bowling, fall-of-wickets, and partnerships data populates only once a match is in progress or completed.Does the API cover historical match data or only current and upcoming matches?+
get_series_list covers ongoing and upcoming series, and get_live_scores reflects currently active matches. Historical scorecards and archived series are not currently covered. You can fork this API on Parse and revise it to add an endpoint targeting historical match IDs.Are player statistics broken down by format (Test, ODI, T20)?+
get_player_profile returns batting_stats and bowling_stats as arrays of string rows mirroring the stat tables on the player's Cricbuzz profile page, which typically include format-level breakdowns. The exact row structure depends on what Cricbuzz exposes for that player. Filtering or reshaping those rows by format is not done at the API level. You can fork the API on Parse and revise it to return format-keyed stat objects.Does the commentary endpoint support pagination for long matches?+
get_match_commentary returns a commentary array sorted by timestamp descending. There are no pagination parameters such as page number or cursor exposed on the endpoint. For very long matches with extensive commentary, the response reflects what is available from the source at the time of the request. You can fork this API on Parse and revise it to add offset or page parameters if your use case requires paginated commentary retrieval.