Ruby REST API bindings for Osu!
Ruby Shell
Failed to load latest commit information.
bin gem setup Jan 9, 2017
lib add an accuracy attribute to Score Jan 23, 2017
.gitignore gem setup Jan 9, 2017
Gemfile gem setup Jan 9, 2017
LICENSE.txt gem setup Jan 9, 2017 clarify link to the osu-api wiki Jan 22, 2017
Rakefile gem setup Jan 9, 2017
osu-api.gemspec move VERSION scope Jan 10, 2017


REST API binding for Osu!

See here for more details about the API.

Created for ccr


Add this line to your application's Gemfile:

gem 'osu-api', github: ''

And then execute:

$ bundle

Or install it yourself as:

$ gem install osu-api


For full documentation, see here

Basic usage examples:

OSU = 'my-secret-token'

# User stats can be requested by name (string) or ID (integer)
OSU.user 'skudfuddle' #=> User
OSU.user 4789534      #=> User

# You can request user stats for different game modules
# (the default is :standard)
OSU.user 'skudfuddle', :mania # also :taiko, :ctb, :standard

# Beatmaps must be fetched by ID
OSU.beatmap 1112761   #=> Beatmap

# You can search for beatmaps by passing nil for ID
# followed by a few search terms
OSU.beatmap nil, author: 'Monstrata', mode: :standard, limit: 5
# The above searches for the first 5 maps by Monstrata
# that are mapped for standard

# Get top beatmap scores
OSU.beatmap_score 1112761 #=> Array<Score>

# Filter top beatmap scores by some criteria
OSU.beatmap_score 1112761, user: 'Dagresha' #=> Array<Score>
OSU.beatmap_score 1112761, mode: :ctb       #=> Array<Score>

# Get a user's top 3 best standard scores
OSU.user_score 'skudfuddle', limit: 3 #=> Array<Score>

# Get a user's top 3 best taiko scores
OSU.user_score 4789534, mode: :taiko, limit: 3 #=> Array<Score>

# Get a user's most recent scores
OSU.user_score 'skudfuddle', :recent


Open an issue, or preferably, contact me on Discord - I'm Lune#2639