Welcome to osu.py’s documentation!¶
Easy to use API wrapper for osu!api written in Python. This uses osu!api v2, which is still under development. So some code that was originally working may break overnight. However, I’ll do my best to fix any issues I find as quick as possible.
Getting started¶
If you’re new to osu.py, consider checking out this guide on how to get started!
Looking for something specific¶
There are some examples on the github here that might help you find what you’re looking for. Otherwise here are some common uses for the api that you might be looking for.
Get a list of the top player’s by score, spotlight, or pp (here’s an example)
Get a user by their id or username, Get multiple with one request (ids only), or Get the user of the authorization code grant being used
Get a user’s score on a beatmap or Get all their scores for a beatmap
Get beatmapset discussion posts, beatmapset discussion votes, or beatmapset discussions
Can’t find what you’re looking for or need help?¶
Join the discord and feel free to ping me in the osu.py help channel.
Documentation tree¶
- License
- Getting started with osu.py
- API Reference
- Interactive Classes
AsynchronousClient
Client
Client.add_comment_vote()
Client.chat_acknowledge()
Client.check_download_quota()
Client.create_channel()
Client.create_multiplayer_room()
Client.create_new_pm()
Client.create_playlist()
Client.create_topic()
Client.delete_comment()
Client.download_beatmapset()
Client.edit_comment()
Client.edit_post()
Client.edit_topic()
Client.favourite_beatmapset()
Client.from_client_credentials()
Client.from_osu_credentials()
Client.get_beatmap()
Client.get_beatmap_attributes()
Client.get_beatmap_scores()
Client.get_beatmaps()
Client.get_beatmapset()
Client.get_beatmapset_discussion_posts()
Client.get_beatmapset_discussion_votes()
Client.get_beatmapset_discussions()
Client.get_beatmapset_events()
Client.get_changelog_build()
Client.get_changelog_listing()
Client.get_channel()
Client.get_channel_list()
Client.get_channel_messages()
Client.get_comment()
Client.get_comments()
Client.get_friends()
Client.get_lazer_beatmap_scores()
Client.get_match()
Client.get_matches()
Client.get_news_listing()
Client.get_news_post()
Client.get_notifications()
Client.get_open_chat_channels()
Client.get_own_data()
Client.get_ranking()
Client.get_replay_data()
Client.get_room()
Client.get_room_leaderboard()
Client.get_rooms()
Client.get_score_by_id()
Client.get_scores()
Client.get_seasonal_backgrounds()
Client.get_spotlights()
Client.get_topic_and_posts()
Client.get_updates()
Client.get_user()
Client.get_user_beatmap_score()
Client.get_user_beatmap_scores()
Client.get_user_beatmaps()
Client.get_user_highscore()
Client.get_user_kudosu()
Client.get_user_recent_activity()
Client.get_user_scores()
Client.get_users()
Client.get_wiki_page()
Client.join_channel()
Client.join_user_to_room()
Client.kick_user_from_room()
Client.leave_channel()
Client.lookup_beatmap()
Client.lookup_changelog_build()
Client.mark_channel_as_read()
Client.mark_notifications_read()
Client.post_comment()
Client.remove_comment_vote()
Client.reply_topic()
Client.report()
Client.revoke_current_token()
Client.search()
Client.search_beatmapsets()
Client.send_message_to_channel()
AuthHandler
LazerAuthHandler
NotificationWebsocket
- Endpoint results
BeatmapsetDiscussionPostsResult
BeatmapsetDiscussionsResult
BeatmapsetDiscussionVotesResult
BeatmapsetSearchResult
ChangelogListingResult
ChangelogListingSearch
CreateNewPmResult
CreateTopicResult
GetBeatmapsetEventsResult
GetChannelResult
GetMatchesResult
GetNewsListingResult
GetNotificationsResult
GetRoomLeaderboardResult
GetTopicAndPostsResult
GetUpdatesResult
NewsSidebar
NotificationStackResult
NotificationTypeResult
ReviewsConfig
SearchInfo
SearchResult
- Objects
Achievement
AchievementEvent
BaseNominations
Beatmap
BeatmapCompact
BeatmapDifficultyAttributes
BeatmapPlaycount
BeatmapPlaycountEvent
BeatmapScores
Beatmapset
BeatmapsetApproveEvent
BeatmapsetAvailability
BeatmapsetCompact
BeatmapsetDeleteEvent
BeatmapsetDiscussion
BeatmapsetDiscussionPermissions
BeatmapsetDiscussionPost
BeatmapsetDiscussionVote
BeatmapsetEvent
BeatmapsetEventComment
BeatmapsetEventNominate
BeatmapsetEventRemoveFromLoved
BeatmapsetEventDisqualify
BeatmapsetEventVote
BeatmapsetEventKudosuGain
BeatmapsetEventKudosuLost
BeatmapsetEventKudosuRecalculate
BeatmapsetEventDiscussionLock
BeatmapsetEventNominationReset
BeatmapsetEventNominationResetReceived
BeatmapsetEventGenreEdit
BeatmapsetEventLanguageEdit
BeatmapsetEventNsfwToggle
BeatmapsetEventOffsetEdit
BeatmapsetEventBeatmapOwnerChange
BeatmapsetPermissions
BeatmapsetRequirement
BeatmapsetReviveEvent
BeatmapsetUpdateEvent
BeatmapsetUploadEvent
BeatmapUserScore
Build
ChangelogEntry
ChatChannel
ChatChannelUserAttributes
ChatMessage
Comment
CommentableMeta
CommentableMetaAttributes
CommentBundle
Country
Covers
CurrentNomination
CurrentUserPin
Event
EventUser
EventBeatmap
EventBeatmapset
Failtimes
ForumPost
ForumTopic
FruitsBeatmapDifficultyAttributes
GithubUser
Group
KudosuHistory
LegacyNominations
LegacyScore
ManiaBeatmapDifficultyAttributes
Match
MatchEvent
MatchExtended
MatchGame
MatchGameScoreInfo
MetadataAttribute
MultiplayerScores
MultiplayerScoresAround
NewsPost
Navigation
Nominations
Notification
OsuBeatmapDifficultyAttributes
PlaylistItem
PlaylistItemStats
Poll
PollOption
PpWeight
ProfileBanner
RankEvent
RankHighest
RankHistory
Rankings
RankLostEvent
ReadNotification
Review
Room
Scope
ScoreDataStatistics
ScoreStatistics
ScoreUserAttributes
SearchResults
SoloScore
Spotlight
Spotlights
SystemDiscussionPostMessage
TaikoBeatmapDifficultyAttributes
TextFormat
UpdateStream
User
UserCompact
UserCover
UserAccountHistory
UserAchievement
UserBadge
UserGroup
UserKudosu
UserMonthlyPlaycount
UsernameChangeEvent
UserPreferences
UserRelations
UserReplaysWatchedCount
UserStatistics
UserStatisticsRulesets
UserStatisticVariant
UserSupportAgain
UserSupportFirst
UserSupportGift
Versions
VotersSummary
VotesSummary
WikiPage
- Utility
BeatmapsetSearchFilter
BeatmapsetSearchFilter.filters
BeatmapsetSearchFilter.set_extra()
BeatmapsetSearchFilter.set_generals()
BeatmapsetSearchFilter.set_genre()
BeatmapsetSearchFilter.set_language()
BeatmapsetSearchFilter.set_mode()
BeatmapsetSearchFilter.set_nsfw()
BeatmapsetSearchFilter.set_played()
BeatmapsetSearchFilter.set_query()
BeatmapsetSearchFilter.set_ranked()
BeatmapsetSearchFilter.set_sort()
BeatmapsetSearchFilter.set_status()
IdentitiesUtil
NotificationsUtil
PlaylistItemUtil
- Notifications
BeatmapOwnerChangeDetails
BeatmapsetDiscussionLockDetails
BeatmapsetDiscussionPostNewDetails
BeatmapsetDiscussionPostNotificationDetails
BeatmapsetDiscussionQualifiedProblemDetails
BeatmapsetDiscussionReviewNewDetails
BeatmapsetDiscussionUnlockDetails
BeatmapsetDisqualifyDetails
BeatmapsetLoveDetails
BeatmapsetNominateDetails
BeatmapsetNotificationDetails
BeatmapsetQualifyDetails
BeatmapsetRankDetails
BeatmapsetRemoveFromLovedDetails
BeatmapsetResetNominationsDetails
ChannelAnnouncementDetails
ChannelMessageDetails
CommentNewDetails
ForumTopicReplyDetails
Notification
NotificationsDetailsBase
ReadNotification
ReviewStats
UserAchievementUnlockDetails
UserBeatmapsetNewDetails
UserBeatmapsetReviveDetails
- Enums
BeatmapsetEventSort
BeatmapsetEventType
BeatmapsetGenre
BeatmapsetLanguage
ChatChannelType
ChatMessageType
ForumTopicType
GameModeInt
GameModeStr
KudosuAction
MatchEventType
MatchSort
MessageType
Mod
Mods
NotificationCategory
NotificationType
ObjectType
PlaylistQueueMode
RankStatus
RealTimeQueueMode
RoomCategory
RoomFilterMode
RoomSort
RoomType
ScoringType
TeamType
UserAccountHistoryType
UserBeatmapType
UserRelationType
UserScoreAggregate
UserScoreType
WikiSearchMode
- Interactive Classes