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

Fantasy rankings

On each planFree keySampleMatch WeekSampleArchiveSampleProSampleAnalyst ProIn fullMCP toolfantasy_rankings

Active players (10 matches or more, the newest within a year) ranked by fantasy rating in one format family and gender: the points they are expected to score next against an average side, from every match since 2001 weighted by the strength of the opposition and by age, and pulled towards their role's average so a few big games do not rank a newcomer over a regular.

GEThttps://api.cricketdatabase.com/v1/fantasy/rankings

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
familystringnot20, oneday or long (default t20)t20onedaylong
genderstringnomale or female (default male)malefemale
rolestringnokeeper, batter, allrounder or bowlerkeeperbatterallrounderbowler
teamstringnoA team address, such as england: the players who played for it in the last year
competitionstringnoA competition address: the players who played in it in the last year
min_oppositionintegernoThe least average team rating of the sides a player faced in their last 20 matches, 0 to 3000 (default 1500, the average side, without team or competition; 0 with them)

Returns

FieldTypeWhat it holds
data[]arrayposition, rank, role_rank, player, name, role, rating, form10, last_365_days, floor, ceiling, opposition, matches, average, first_match, last_match
data[].last_365_days.matchesinteger
data[].last_365_days.averagenumber
metaobject
meta.planstringThe plan the key is on
meta.countintegerItems in this page
meta.next_cursorstringWhere the next page starts, null at the end
meta.pageintegerThis page's number
meta.per_pageintegerItems a page
meta.totalintegerItems in all, with these filters
meta.total_pagesintegerPages in all
meta.next_pageintegerThe next page, null at the end
meta.prev_pagestring or nullThe page before, null at the start
meta.scopeobject
meta.scope.familystring
meta.scope.genderstringmale or female
meta.scope.rolestring
meta.scope.min_oppositioninteger
meta.family_isstring
meta.notestring

Example answer

A real answer for /v1/fantasy/rankings?family=t20&gender=male&role=allrounder, lists cut to their first two items.

{
    "data": [
        {
            "position": 1,
            "rank": 6,
            "role_rank": 6,
            "player": "d-visser",
            "name": "D Visser",
            "role": "allrounder",
            "rating": 79.2,
            "form10": 84.5,
            "last_365_days": {
                "matches": 17,
                "average": 82.1
            },
            "floor": 37.8,
            "ceiling": 126.2,
            "opposition": 1514,
            "matches": 23,
            "average": 97.7,
            "first_match": "2024-08-17",
            "last_match": "2026-05-18"
        },
        {
            "position": 2,
            "rank": 30,
            "role_rank": 24,
            "player": "shadab-khan",
            "name": "Shadab Khan",
            "role": "allrounder",
            "rating": 70.7,
            "form10": 78.5,
            "last_365_days": {
                "matches": 43,
                "average": 78.1
            },
            "floor": 37.6,
            "ceiling": 124.6,
            "opposition": 1525,
            "matches": 325,
            "average": 62.3,
            "first_match": "2017-02-11",
            "last_match": "2026-10-11"
        },
        "... 48 more"
    ],
    "meta": {
        "plan": "plus",
        "count": 50,
        "next_cursor": "Y2RiOnAy",
        "page": 1,
        "per_page": 50,
        "total": 96,
        "total_pages": 2,
        "next_page": 2,
        "prev_page": null,
        "scope": {
            "family": "t20",
            "gender": "male",
            "role": "allrounder",
            "min_opposition": 1500
        },
        "family_is": "T20 internationals and every T20",
        "note": "rating: the points expected next against an average side, from every match weighted by the opposition's strength and by age, pulled towards the role's average; position: in this list; rank and role_rank: among every active player of the family and gender; opposition: the average team rating of the sides faced in the last 20 matches (1500 is average)"
    }
}

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
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