Rolling form
GET
/v1/analytics/players/{player}/formOn each planFree keySampleMatch WeekSampleArchiveSampleProSampleAnalyst ProIn full
Rolling average and strike rate over recent innings. Lower plans get the last five.
Parameters
| Name | In | Values | Required |
|---|---|---|---|
player | path | player address | yes |
format | query | test, odi, t20i, t20, multi-day, one-day | |
innings | query | 5 to 100 (default 20) | |
window | query | 2 to 20 (default 5) |
Request
curl -H "Authorization: Bearer $CDB_KEY" \ "https://api.cricketdatabase.com/v1/analytics/players/je-root/form"
import requests
r = requests.get("https://api.cricketdatabase.com/v1/analytics/players/je-root/form",
headers={"Authorization": f"Bearer {key}"})
print(r.json())const r = await fetch("https://api.cricketdatabase.com/v1/analytics/players/je-root/form",
{ headers: { "Authorization": `Bearer ${key}` } });
console.log(await r.json());curl -H "X-API-Key: $CDB_KEY" \ "https://api.cricketdatabase.com/v1/analytics/players/je-root/form"
import requests
r = requests.get("https://api.cricketdatabase.com/v1/analytics/players/je-root/form",
headers={"X-API-Key": key})
print(r.json())const r = await fetch("https://api.cricketdatabase.com/v1/analytics/players/je-root/form",
{ headers: { "X-API-Key": key } });
console.log(await r.json());Response
{
"data": {
"player": "je-root",
"format": "all",
"innings": [
{
"match": "2026-07-10-lancashire-v-yorkshire",
"date": "2026-07-10",
"format": "t20",
"runs": 4,
"balls": 5,
"out": true,
"rolling_average": 33.2,
"rolling_strike_rate": 61.48
},
{
"match": "2026-07-12-yorkshire-v-nottinghamshire",
"date": "2026-07-12",
"format": "t20",
"runs": 2,
"balls": 4,
"out": true,
"rolling_average": 24.4,
"rolling_strike_rate": 56.22
},
"... 18 more"
]
},
"meta": {
"plan": "plus",
"window": 5
}
}A real response from the database for the example request, on a Analyst Pro key. Lists are cut to their first two items.