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

Upsets

On each planFree keyNot includedMatch WeekNot includedArchiveNot includedProNot includedAnalyst ProIn fullMCP toolfind_upsets

Every result our ratings did not expect, from every men's and women's international and domestic match held back to 1877 (club and school matches are not in it), each with the reasons in plain words.

GEThttps://api.cricketdatabase.com/v1/upsets

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
datedatenoYYYY-MM-DDYYYY-MM-DD
fromdatenoYYYY-MM-DDYYYY-MM-DD
todatenoYYYY-MM-DDYYYY-MM-DD
yearintegernoFour digits, such as 2011
formatstringnotest, odi, t20i, t20, multi-day or one-daytestodit20it20multi-dayone-day
genderstringnomale or femalemalefemale
teamstringno
competitionstringno
min_sizeintegerno0 to 100
chance_fromstringnorating or in_playratingin_play
outcomestringnowon or drewwondrew
sortstringnonewest or biggest (default newest)newestbiggest
pageintegernoFrom 1
limitintegerno1 to 100 (default 50)

Returns

FieldTypeWhat it holds
data[]arraymatch, date, format, gender, competition, ground, coverage, teams, result, underdog, opponent, outcome, chance_before, chance_lowest, lowest_at, chance_from, upset_size, rating_gap, reasons
data[].teams[].teamstringA side's address name
data[].teams[].namestringThe name as shown
data[].teams[].scorestringRuns and wickets, every innings
data[].teams[].oversstringOvers faced
data[].teams[].wonbooleanWhether this side won
data[].underdog.teamstringA side's address name
data[].underdog.namestringThe name as shown
data[].opponent.teamstringA side's address name
data[].opponent.namestringThe name as shown
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.sortstring

Example answer

A real answer for /v1/upsets?format=odi&sort=biggest, lists cut to their first two items.

{
    "data": [
        {
            "match": "2005-06-18-australia-v-bangladesh",
            "date": "2005-06-18",
            "format": "odi",
            "gender": "male",
            "competition": "NatWest Challenge",
            "ground": "Sophia Gardens",
            "coverage": "full",
            "teams": [
                {
                    "team": "australia",
                    "name": "Australia",
                    "score": "249/5",
                    "overs": "50",
                    "won": false
                },
                {
                    "team": "bangladesh",
                    "name": "Bangladesh",
                    "score": "250/5",
                    "overs": "49.2",
                    "won": true
                }
            ],
            "result": "Bangladesh won by 5 wickets",
            "underdog": {
                "team": "bangladesh",
                "name": "Bangladesh"
            },
            "opponent": {
                "team": "australia",
                "name": "Australia"
            },
            "outcome": "won",
            "chance_before": 2,
            "chance_lowest": 30.3,
            "lowest_at": "25 ov, second innings",
            "chance_from": "rating",
            "upset_size": 96,
            "rating_gap": -939,
            "reasons": [
                "Bangladesh were given 2% by our ratings before the match",
                "Rated 939 points below Australia",
                "... 3 more"
            ]
        },
        {
            "match": "2009-11-04-west-indies-v-england-women",
            "date": "2009-11-04",
            "format": "odi",
            "gender": "female",
            "competition": null,
            "ground": "Basseterre",
            "coverage": "scorecard",
            "teams": [
                {
                    "team": "west-indies",
                    "name": "West Indies",
                    "score": null,
                    "overs": null,
                    "won": true
                },
                {
                    "team": "england",
                    "name": "England",
                    "score": null,
                    "overs": null,
                    "won": false
                }
            ],
            "result": "West Indies won by 40 runs",
            "underdog": {
                "team": "west-indies",
                "name": "West Indies"
            },
            "opponent": {
                "team": "england",
                "name": "England"
            },
            "outcome": "won",
            "chance_before": 2.6,
            "chance_lowest": null,
            "lowest_at": null,
            "chance_from": "rating",
            "upset_size": 95,
            "rating_gap": -632,
            "reasons": [
                "West Indies were given 2.6% by our ratings before the match",
                "Rated 632 points below England",
                "... 3 more"
            ]
        },
        "... 48 more"
    ],
    "meta": {
        "plan": "plus",
        "count": 50,
        "next_cursor": "Y2RiOnAy",
        "page": 1,
        "per_page": 50,
        "total": 908,
        "total_pages": 19,
        "next_page": 2,
        "prev_page": null,
        "sort": "biggest"
    }
}

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