SnookerAPI
Documentation / Yesterday's statistics
GET /stats/yesterday/upsetsFree key, archive on paidMCP: yesterdays_upsets

Snooker API: Yesterday's wins over a higher-ranked player, on the newest world ranking list, biggest ranking gap first. An unranked winner counts as one place below the list

Yesterday's wins over a higher-ranked player, on the newest world ranking list, biggest ranking gap first. An unranked winner counts as one place below the list.

GEThttps://api.snookerapi.net/v1/stats/yesterday/upsets

Try it

Get a key

Parameters

NameTypeWhat it is
event_ididOnly this event (ev_ id).
stagestringOnly the main draw, qualifying or pre-qualifying. main qualifying pre_qualifying
pageintegerPage number, from 1.
cursorstringThe next_cursor from the previous page.
per_pageintegerRows per page.

Returns

FieldTypeWhat it holds
matchobject or nullThe match: id, stage, round and both players; null for a century.
upset_byobjectThe lower-ranked winner: id, name and position (null when unranked).
beatenobjectThe higher-ranked loser: id, name and position.
gapintegerPlaces between them on the list; an unranked winner counts as one place below the list.
ranking_listobjectThe ranking list used: season and list, the newest we hold.

Example answer

A real answer, read from the data within the last hour: GET /v1/stats/yesterday/upsets

{
    "data": [],
    "meta": {
        "plan": "House key",
        "count": 0,
        "next_cursor": null,
        "page": 1,
        "per_page": 50,
        "total": 0,
        "total_pages": 1,
        "next_page": null,
        "prev_page": null,
        "date": "2026-10-27",
        "note": "No match finished yesterday (2026-10-27, UTC). Days between events have none.",
        "ranking_list": {
            "season": "2025-26",
            "list": "revision 11"
        }
    }
}

Errors

StatusCodeWhen
401unauthorizedNo key, or a key that is not valid. Errors
400bad_requestA parameter has the wrong shape. Errors
422unknown_parameterA parameter this call does not take. Errors
429rate_limitedToo many calls this minute; wait for Retry-After. Errors