Cricbuzz API endpoint
Returns the selected team's Batting or Bowling table. First call /cricbuzz/team/stats/options with the same category and team_id. stat values currently exposed by India are mostRuns, highestScore, highestAvg, highestSr, mostHundreds, mostFifties, mostFours, mostSixes, mostNineties, mostWickets, lowestAvg, bestBowlingInnings, mostFiveWickets, lowestEcon and lowestSr; each team may expose a subset. format_id, year and opponent_id must be exact values from the options response. The source page exposes no sort control; an explicitly empty upstream table returns empty_state=no_results.
/cricbuzz/team/statsMethod: GET
Returns one team Batting or Bowling table. First call
GET /api/v1/cricbuzz/team/stats/options using the same category and
team_id; this endpoint validates every selected value against that team's
current source options before making the exact first-party JSON request.
category (required): one of international, domestic, league, or
women.team_id (required): team ID returned for that category by
/api/v1/cricbuzz/teams.stat (required): the current India page exposes mostRuns,
highestScore, highestAvg, highestSr, mostHundreds, mostFifties,
mostFours, mostSixes, mostNineties, mostWickets, lowestAvg,
bestBowlingInnings, mostFiveWickets, lowestEcon, and lowestSr.
Each team response's stats array is authoritative and may be a subset.format_id (required): exact ID from the options response. India currently
exposes 1 (test), 2 (odi), and 3 (t20). Other teams may expose
fewer formats.year (required): exact ID from the options response, including all when
offered.opponent_id (required): exact ID from the options response, including
all when offered.The source page exposes no sort control. A valid source table with no rows
returns an empty table.rows array and empty_state set to no_results.
The example shows one table row; a live response may return more rows.
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| category | string | Yes | Team-directory category from /cricbuzz/teams Allowed values: international, domestic, league, women. | international | |
| team_id | integer | Yes | Team ID returned by /cricbuzz/teams for the selected category | 2 | |
| stat | string | Yes | A value returned for the selected team by /cricbuzz/team/stats/options; current India values are mostRuns, highestScore, highestAvg, highestSr, mostHundreds, mostFifties, mostFours, mostSixes, mostNineties, mostWickets, lowestAvg, bestBowlingInnings, mostFiveWickets, lowestEcon, lowestSr | mostRuns | |
| format_id | string | Yes | Format ID returned by /cricbuzz/team/stats/options | 2 | |
| year | string | Yes | Year value returned by /cricbuzz/team/stats/options, including all when offered | 2025 | |
| opponent_id | string | Yes | Opponent ID returned by /cricbuzz/team/stats/options, including all when offered | 4 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/cricbuzz/team/stats?category=international&team_id=2&stat=mostRuns&format_id=2&year=2025&opponent_id=4" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"team": {
"id": 2,
"name": "India",
"profile_url": "https://www.cricbuzz.com/cricket-team/india/2"
},
"selected": {
"category": "international",
"team_id": 2,
"team_name": "India",
"stat": "mostRuns",
"format_id": "2",
"format": "odi",
"year": "2025",
"opponent_id": "4",
"opponent": "AUS"
},
"table": {
"headers": [
"PLAYER",
"MATCHES",
"INNS",
"RUNS",
"AVG",
"SR",
"4s",
"6s"
],
"rows": [
{
"player_id": "576",
"values": [
"Rohit Sharma",
"4",
"4",
"230",
"76.67",
"86.79",
"24",
"6"
]
}
],
"total": 1
},
"source_url": "https://www.cricbuzz.com/cricket-team/india/2/stats",
"data_url": "https://www.cricbuzz.com/api/cricket-team/stats-table/2/mostRuns/2/2025/4",
"fetched_at": "2026-10-29T00:00:00Z",
"stale": false
}
}Request schema
No body schema
Response schema
#/definitions/cricbuzz.teamStatsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | cricbuzz.TeamStatsResponse | No | ||||
| data.data_url | string | No | ||||
| data.empty_state | string | No | ||||
| data.fetched_at | string | No | ||||
| data.selected | cricbuzz.TeamStatsSelection | No | ||||
| data.selected.category | string | No | ||||
| data.selected.format | string | No | ||||
| data.selected.format_id | string | No | ||||
| data.selected.opponent | string | No | ||||
| data.selected.opponent_id | string | No | ||||
| data.selected.stat | string | No | ||||
| data.selected.team_id | integer | No | ||||
| data.selected.team_name | string | No | ||||
| data.selected.year | string | No | ||||
| data.source_url | string | No | ||||
| data.stale | boolean | No | ||||
| data.table | cricbuzz.RecordTable | No | RecordTable record, 5 fields: headers, rows, total. Described under Cricbuzz records discovery API. | |||
| data.team | cricbuzz.Team | No | ||||
| data.team.country | string | No | ||||
| data.team.id | integer | No | ||||
| data.team.image_id | integer | No | ||||
| data.team.name | string | No | ||||
| data.team.profile_url | string | No | ||||
| data.team.short_name | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/cricbuzz/team/stats?category=international&team_id=2&stat=mostRuns&format_id=2&year=2025&opponent_id=4" \
-H "x-api-key: $CRAWLORA_API_KEY"