Cricbuzz API endpoint
Returns all record-topic/filter values and the selected Cricbuzz record table. The first-party request path was cold-replayed; supplied filters are validated against the page's current discovery values before fetching data.
/cricbuzz/recordsQuery parameters:
stat: optional record topic; defaults to mostRuns. Accepted values are mostRuns, highestScore, highestAvg, highestSr, mostHundreds, mostFifties, mostFours, mostSixes, mostNineties, mostWickets, lowestAvg, bestBowlingInnings, mostFiveWickets, lowestEcon, and lowestSr.format: optional test, odi, or t20; defaults to test.year: optional value from the response's dynamic Year list; defaults to all.team: optional team ID from the response's dynamic Team list; defaults to all.opponent: optional team ID from the response's dynamic Oppn list; defaults to all.Returns the current record-topic menus, the full values embedded in the public Format, Year, Team, and Oppn controls, and the selected table. Query values are validated against the live page's discovered options before calling Cricbuzz's first-party GET /api/cricket-stats/stats-table/{stat}/{matchTypeId}/{year}/{team}/{opponent} route. That path was found in the official page JavaScript and cold-replayed for record type, format, year, team, and opponent. Rows preserve the player ID and remaining values in header order.
Batting: Most Runs, Highest Scores, Best Batting Average, Best Batting Strike Rate, Most Hundreds, Most Fifties, Most Fours, Most Sixes, Most Nineties.
Bowling: Most Wickets, Best Bowling Average, Best Bowling, Most 5 Wickets Haul, Best Economy, Best Bowling Strike Rate.
The filters response gives every current format ID/label, year, team, and opponent value. The selected values appear in selected; the exact upstream JSON request URL appears in data_url when a table request is fetched. Cricbuzz exposes no separate sorting control on this page, so the endpoint preserves the upstream table order.
| Field | Filled in, of 50 checked | Values in the sample |
|---|---|---|
| player_id | 50 | |
| values | 50 | median 8 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| stat | string | No | mostRuns | Record topic; defaults to mostRuns Allowed values: mostRuns, highestScore, highestAvg, highestSr, mostHundreds, mostFifties, mostFours, mostSixes, mostNineties, mostWickets, lowestAvg, bestBowlingInnings, mostFiveWickets, lowestEcon, lowestSr. | mostRuns |
| format | string | No | the current table format | Match format label; defaults to the current table format Allowed values: test, odi, t20. | test |
| year | string | No | Year value from the page's dynamically discovered Year options | 2026 | |
| team | string | No | Team ID from the page's dynamically discovered Team options | 2 | |
| opponent | string | No | Opponent ID from the page's dynamically discovered Oppn options | 4 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/cricbuzz/records?stat=mostRuns&format=test" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"categories": [
{
"name": "Batting",
"stats": [
{
"value": "mostRuns",
"label": "Most Runs",
"category": "Batting"
}
]
},
{
"name": "Bowling",
"stats": [
{
"value": "mostWickets",
"label": "Most Wickets",
"category": "Bowling"
}
]
}
],
"filters": [
{
"name": "Format",
"options": [
{
"id": "1",
"label": "test"
},
{
"id": "2",
"label": "odi"
},
{
"id": "3",
"label": "t20"
}
]
},
{
"name": "Year",
"options": [
{
"id": "all",
"label": "all"
},
{
"id": "2026",
"label": "2026"
}
]
},
{
"name": "Team",
"options": [
{
"id": "all",
"label": "All"
},
{
"id": "2",
"label": "IND"
}
]
},
{
"name": "Oppn",
"options": [
{
"id": "all",
"label": "All"
},
{
"id": "3",
"label": "PAK"
}
]
}
],
"selected": {
"stat": "mostRuns",
"format": "test",
"format_id": "1",
"year": "all",
"team": "all",
"opponent": "all"
},
"data_url": "https://www.cricbuzz.com/api/cricket-stats/stats-table/mostRuns/1/all/all/all",
"current_table": {
"headers": [
"PLAYER",
"MATCHES",
"INNS",
"RUNS",
"AVG",
"SR",
"4s",
"6s"
],
"rows": [],
"total": 0
},
"source_url": "https://www.cricbuzz.com/cricket-stats",
"fetched_at": "2026-10-28T00:00:00Z",
"stale": false
}
}Request schema
No body schema
Response schema
#/definitions/cricbuzz.recordsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | cricbuzz.RecordsResponse | No | ||||
| data.categories | array | No | ||||
| data.categories[].name | string | No | ||||
| data.categories[].stats | array | No | ||||
| data.categories[].stats[].category | string | No | ||||
| data.categories[].stats[].label | string | No | ||||
| data.categories[].stats[].value | string | No | ||||
| data.current_table | cricbuzz.RecordTable | No | ||||
| data.current_table.headers | array | No | ||||
| data.current_table.rows | array | No | ||||
| data.current_table.rows[].player_id | string | No | ||||
| data.current_table.rows[].values | array | No | ||||
| data.current_table.total | integer | No | ||||
| data.data_url | string | No | ||||
| data.empty_state | string | No | ||||
| data.fetched_at | string | No | ||||
| data.filters | array | No | ||||
| data.filters[].name | string | No | ||||
| data.filters[].options | array | No | ||||
| data.filters[].options[].id | string | No | ||||
| data.filters[].options[].label | string | No | ||||
| data.selected | cricbuzz.RecordSelection | No | ||||
| data.selected.format | string | No | ||||
| data.selected.format_id | string | No | ||||
| data.selected.opponent | string | No | ||||
| data.selected.stat | string | No | ||||
| data.selected.team | string | No | ||||
| data.selected.year | string | No | ||||
| data.source_url | string | No | ||||
| data.stale | boolean | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 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/records?stat=mostRuns&format=test" \
-H "x-api-key: $CRAWLORA_API_KEY"