Skip to content
Sunpy edited this page Mar 15, 2018 · 2 revisions

osu!api - Extended

For API Version 0.4

Official API flags require an official osu! api key which you can create here: http://osu.ppy.sh/p/api (Do NOT share your key)

You can use comp as an get variable on all endpoints to retrieve the compressed json format instead of the prettified format.

Sample: /api/getDifficulty?c=59588a133880ff89e24ac24de4d40545&c=ad9a78dfddfbb3d26759a61952670d47&comp

Overview

Endpoint Info Read more
api/getDifficulty Get calculated star rating of any map file that is publicly available getDifficulty
api/getHash Get body and header hash from a beatmap set getHash
stat Returns status about the app stat
Required state Meaning
Yes This field is required to use the endpoint
Optional Free to use but not required
One One of which is required but ONLY one of them at the time
Multiple A minimum of one is required but you can use multiple of them aswell

getDifficulty

Parameter Info Required Official API
c md5 hash of the beatmap Multiple No
s beatmapSetID for the beatmap Multiple Yes
b beatmapID for the beatmap Multiple Yes

getHash

Parameter Info Required Official API
s beatmapSetID for the beatmap Yes No

This is not used anymore but early on in osu!'s life it used this to check if the local beatmap was outdated. (This is done elsewhere and differently now adays)

Application endpoints

stat

This will return info about the running app. Such as official api calls and extended (self) calls. It will also return the current and last minute calls to itself and official api which can be used to make graphs. At the end of every minute it pushes the current minute onto the last minute and starts over again.