-
Notifications
You must be signed in to change notification settings - Fork 0
Home
The intent of this API is to make publicly available all gathered data, for other developers to use it in their own projects. This wiki is highly inspired from the osu-api wiki.
The data is public, you can do whatever you want with it. But please, use the API with caution as my server won't be able to handle high traffic (at all). I highly recommend caching the results and limiting your rate at 1 per second at most, while I get some sort of idea of the traffic and its influence over osudaily's performance.
Any osudaily user can request an API key from https://osudaily.net/api.php
Retrieve general user data, also with the possibility of retrieving all the collected data since the registration.
/api/user
-
k
- api key (required). -
u
- user osu_id (or username is s is set to 1) (required) -
s
- whether or not the u parameter is a string (0 = id, 1 = string). Optional, 0 by default. -
m
- mode (0 = osu!, 1 = Taiko, 2 = CtB, 3 = osu!mania). Optional, all modes are returned by default. -
min
- minimized. Optional, specifies whether you'll get the full history or just the latest data. Only the latest data is returned by default. Set it to 0 to get the full history.
A JSON string containing the user's information, and his data in all modes / the specified mode.
[{
"id" : "0", // The osu!daily user ID
"osu_id" : "4579132", // The osu! user ID
"username" : "Adri", // The osu! username
"country" : "1", // The user's country, according to the osu!daily country list (see below)
"last_update" : "YYYY-MM-DD HH:mm:ss", // The last update's timestamp
"modes" : [{ // Array of modes' data
"mode" : "3" // The mode for the data. In this example, mania.
// If minimized is set to 0
"lines" : [] // Array of data with their own timestamp "date" in an array sorted from oldest to newest.
// The following are the same as each element in the "lines" value
// If minimized is not set to 0
"pp" : "6569.37" // The amount of pp (float)
"rankworld" : "1306" // The world rank (int)
"rankcountry" : "25" // The country rank (int)
"rankedscore" : "6258466818" // The ranked score (bigint)
"totalscore" : "19590450641" // The total score (bigint)
"accuracy" : "95.4759" // The accuracy (float)
"playcount" : "33653" // The number of plays (int)
"level" : "99.2043" // The level (float)
"SS" : "4084" // The number of SS ranks (int)
"S" : "2093" // The number of S ranks (int)
"A" : "178" // The number of A ranks (int)
},{...}]
}]
Retrieve general osu!mania millions data.
/api/million
-
k
- api key (required). -
t
- type of data to return (required) See below
-
u
- osu_id of the user (required).
-
u
- osu_id of the user (required).
-
n
- The number of users in the leaderboard. Optional, set to 50 by default.
A JSON string containing the information. Depends on the specified type.
[{
"osu_id" : "4579132", // The osu! user ID
"count" : "142", // The user's millions count
}]
[{
"osu_id" : "4579132", // The osu! user ID
"beatmap_ids" : ["9908","18773","18774",...] // List of beatmap difficulty IDs the user has a million on
}]
[{
// The list of users, from first to last
[
"username" : "GrilledCheeese", // The user's username
"osu_id" : "4937439", // The osu! user ID
"count" : "8450", // The user's millions count
],[...]
}]
Retrieve the top users from the latest version of my database
/api/top
-
k
- api key (required). -
m
- mode (0 = osu!, 1 = Taiko, 2 = CtB, 3 = osu!mania). Optional, 0 by default. -
t
- Number of players to display from the first position. Optional, 50 by default. Range 1 - 100.
A JSON string containing every user's latest information. The rank can be incorrect depending on osu! api, it is better to recalculate it.
[{
// The list of users ordered by PP
[
"osu_id" : "4579132", // The osu! user ID
"username" : "Adri", // The osu! username
"country" : "1", // The user's country, according to the osu!daily country list (see below)
"pp" : "6569.37" // The amount of pp (float)
"rankworld" : "1306" // The world rank (int)
"rankcountry" : "25" // The country rank (int)
"rankedscore" : "6258466818" // The ranked score (bigint)
"totalscore" : "19590450641" // The total score (bigint)
"accuracy" : "95.4759" // The accuracy (float)
"playcount" : "33653" // The number of plays (int)
"level" : "99.2043" // The level (float)
"SS" : "4084" // The number of SS ranks (int)
"S" : "2093" // The number of S ranks (int)
"A" : "178" // The number of A ranks (int)
"playtime" : "2720552" // The number of seconds the user has played in ranked and loved maps (int)
"last_update" : "YYYY-MM-DD HH:mm:ss" // The last update's timestamp
],[...]
}]
Retrieve the closest rank available for a pp value, or vice-versa.
/api/pp
-
k
- api key (required). -
t
- (required) The type of the value you are sending. This is a string of either "rank" or "pp". -
v
- (required) The value to perform the search, according to the type. If you specified 'pp' in type and '1000' in value, you will get the closest rank for 1000 pp. -
m
- mode (0 = osu!, 1 = Taiko, 2 = CtB, 3 = osu!mania). Optional, 0 by default.
A JSON string containing a pair of the closest pp and rank that was found.
The example below is what has been returned for the request with the parameters v=1000&t=pp&m=3
{
"rank" : "110524", // The rank of the found user
"pp" : "999.791", // The pp of the found user
}