Bowling log
GET
/v1/players/{player}/bowlingOn each planFree keySampleMatch WeekSampleArchiveIn fullProIn fullAnalyst ProIn full
Every bowling spell, newest first. Lower plans get the last ten.
Parameters
| Name | In | Values | Required |
|---|---|---|---|
player | path | player address | yes |
format | query | test, odi, t20i, t20, multi-day, one-day | |
year | query | ||
page | query | Page number, from 1 | |
limit | query | Results per page, 1 to 100 (default 50) |
Request
curl -H "Authorization: Bearer $CDB_KEY" \ "https://api.cricketdatabase.com/v1/players/je-root/bowling"
import requests
r = requests.get("https://api.cricketdatabase.com/v1/players/je-root/bowling",
headers={"Authorization": f"Bearer {key}"})
print(r.json())const r = await fetch("https://api.cricketdatabase.com/v1/players/je-root/bowling",
{ headers: { "Authorization": `Bearer ${key}` } });
console.log(await r.json());curl -H "X-API-Key: $CDB_KEY" \ "https://api.cricketdatabase.com/v1/players/je-root/bowling"
import requests
r = requests.get("https://api.cricketdatabase.com/v1/players/je-root/bowling",
headers={"X-API-Key": key})
print(r.json())const r = await fetch("https://api.cricketdatabase.com/v1/players/je-root/bowling",
{ headers: { "X-API-Key": key } });
console.log(await r.json());Response
{
"data": [
{
"match": "2026-09-27-england-v-sri-lanka",
"date": "2026-09-27",
"format": "odi",
"team": "England",
"opponent": "Sri Lanka",
"innings": 2,
"overs": "3",
"maidens": 0,
"runs": 15,
"wickets": 1,
"dots": 11
},
{
"match": "2026-07-25-welsh-fire-v-mi-london",
"date": "2026-07-25",
"format": "t20",
"team": "Welsh Fire",
"opponent": "MI London",
"innings": 2,
"overs": "1",
"maidens": 0,
"runs": 10,
"wickets": 0,
"dots": 1
},
"... 48 more"
],
"meta": {
"plan": "plus",
"count": 50,
"next_cursor": "Y2RiOnAy",
"page": 1,
"per_page": 50,
"total": 331,
"total_pages": 7,
"next_page": 2,
"prev_page": null,
"player": "je-root"
}
}A real response from the database for the example request, on a Analyst Pro key. Lists are cut to their first two items.