Cricket Database
0 of 50 calls today
Get a free API key Sign in Dashboard Upgrade

Fantasy best XI

On each planFree keyLast 30 daysMatch WeekLast 30 daysArchiveLast 30 daysProLast 30 daysAnalyst ProIn fullMCP toolfantasy_best_xi

The highest-scoring legal eleven of a match in hindsight: 1 to 4 keepers, 3 to 6 batters, 1 to 4 all-rounders and 3 to 6 bowlers, at most 7 from one side, the captain scoring double and the vice-captain one and a half.

GEThttps://api.cricketdatabase.com/v1/fantasy/matches/{match}/best-xi

Try it

Kept in this browser and filled in on every docs page.

Press Run to call the API with your key. The answer appears here.

    

Parameters

NameTypeRequiredDescriptionValues
matchstringyesIn the address: the match's address name2026-09-17-sri-lanka-v-england
rulesstringnoA JSON object over the default rules, such as {"wkt":30,"catch":10}; see /v1/fantasy/rules

Returns

FieldTypeWhat it holds
dataobject
data.matchstringThe match's address name, for /v1/matches/{match}
data.datestringThe first day of the match
data.formatstringtest, odi, t20i, t20, multi-day or one-day
data.genderstringmale or female
data.rulesstring
data.totalnumberItems in all, with these filters
data.xi[]arrayplayer, name, team, role, points, captain, vice_captain, counted
data.constraintsobject
data.constraints.keepersstring
data.constraints.battersstring
data.constraints.allroundersstring
data.constraints.bowlersstring
data.constraints.most_from_one_sideinteger
data.constraints.captainstring
data.constraints.vice_captainstring
metaobject
meta.planstringThe plan the key is on
meta.notestring

Example answer

A real answer for /v1/fantasy/matches/2026-09-17-sri-lanka-v-england/best-xi, lists cut to their first two items.

{
    "data": {
        "match": "2026-09-17-sri-lanka-v-england",
        "date": "2026-09-17",
        "format": "t20i",
        "gender": "male",
        "rules": "default",
        "total": 861.5,
        "xi": [
            {
                "player": "la-dawson",
                "name": "LA Dawson",
                "team": "england",
                "role": "allrounder",
                "points": 107,
                "captain": true,
                "vice_captain": false,
                "counted": 214
            },
            {
                "player": "j-overton",
                "name": "J Overton",
                "team": "england",
                "role": "allrounder",
                "points": 91,
                "captain": false,
                "vice_captain": true,
                "counted": 136.5
            },
            "... 9 more"
        ],
        "constraints": {
            "keepers": "1 to 4",
            "batters": "3 to 6",
            "allrounders": "1 to 4",
            "bowlers": "3 to 6",
            "most_from_one_side": 7,
            "captain": "double",
            "vice_captain": "one and a half"
        }
    },
    "meta": {
        "plan": "plus",
        "note": "In hindsight: the eleven that would have scored most, with roles from each player's own record in the format."
    }
}

Errors

StatusCodeWhen
400bad_requestA value is not one this parameter takes, or the key was sent in the address
401unauthorizedNo key, or one that is unknown or revoked
403upgrade_requiredThe plan does not reach it; the answer names the plan that does
404not_foundNothing at that address
422unknown_parameterA parameter this endpoint does not take
429rate_limitedToo fast: wait for Retry-After
429quota_exceededThe day's calls are used: they reset at midnight UTC