osu-npm
v1.0.5
Published
Access osu! data without an API key.
Maintainers
Readme

osu! NPM
Installation
npm i osu-npmAccess osu! data without an API key.
Argument Options
| Argument | Options | Definitions |
| -------- | ----------- | ----------- |
| username | StringNumber | String: UsernameNumber: User ID |
| type | texthtml | text: Returns data in text form (images don't show)html: Returns data in html form|
| gamemode | osu/standardtaikocatch/fruitsmania | osu/standard: Returns data from the standard version of osu!taiko: Returns data from the taiko version of osu!catch/fruits: Returns data from the catch version of osu!mania: Returns data from the mania version of osu!|
|url|String|String: News page URL|
|index|Number|Number: Index of the 10 most recent news posts |
|code|Number|Number: Beatmap ID |
|diff_code|Number|Number: Difficulty ID |
|leaderboardCode|Number|Number: Choose a leaderboard typeget_leaderboard_codes(callback) |
|n|Number|Number: The number of players you want to get (below 50) |
|link|String|String: The URL of a specific osu! post |
|forumCode|Number|Number: Choose a forum genreget_forums_codes(callback) |
|post|String|String: The post URL of a specific post |
Stream Functions
| Function | Description |
| -------- | ----------- |
| get_current_streams(callback) | Gets the current osu! streams in progress |
| return_streams_page(callback) | Gets the osu! streams page in HTML |
Player Functions
| Function | Description |
| -------- | ----------- |
| get_player_about(username, type, callback) | Gets the players about page |
| get_player_misc(username, callback) | Gets the players miscellaneous data |
| get_player_scores(username, gamemode, callback) | Gets the players score data |
| get_player_stats(username, gamemode, callback) | Gets the players stats data|
News Functions
| Function | Description |
| -------- | ----------- |
| return_specific_news_page(url, callback) | Gets the HTML of a specific news page |
| return_news_page(callback) | Gets the HTML of the osu! news page |
| get_news_at_index(index, callback) | Get the news data at the specified index |
| get_most_recent_news(callback) | Get the data of the most recent news |
| get_full_news_content(url, type, callback) | Get the content of a specific news page |
Map Functions
| Function | Description |
| -------- | ----------- |
| return_specific_mapset_difficulty(code, diff_code, callback) | Get the HTML of a specific beatmapset difficulty |
| return_mapset_page(code, callback) | Gets the HTML of a beatmap |
| get_mapset_difficulty_codes(code, callback) | Get the difficulty codes of every difficulty |
| get_mapset_description(code, type, callback) | Get the description of a beatmap |
| get_difficulty_stats(code, diff_code, callback) | Get the difficulty stats of a difficulty (only standard for now) |
| get_beatmap_stats(code, callback) | Get the beatmaps information |
Leaderboard Functions
| Function | Description |
| -------- | ----------- |
| return_leaderboards_page(leaderboardCode, callback) | Get the HTML of a specific leaderboard |
| get_n_leaderboard_spots(leaderboardCode, n, callback) | Get the top n players |
| get_leaderboard_codes(callback) | Get which number is equal to which leaderboard type |
Forums Functions
| Function | Description |
| -------- | ----------- |
| return_post_page(link, callback) | Get the HTML of a specific post |
| return_forums_page(forumCode, callback) | Get the HTML of a specific forum |
| get_post_question(post, type, callback) | Get post question |
| get_post_answers(post, callback) | Coming soon... |
| get_newest_post(forumCode, callback) | Get the newest post on a forum |
| get_forums_codes(callback) | Get which number is equal to which forum genre |
Contest Functions
| Function | Description |
| -------- | ----------- |
| return_contests_page(callback) | Get the HTML of the contests page |
| get_contests_list(callback) | Get an array of the newest contests |
Examples
Await/Async example
const api = require('osu-npm')
async function test() {
await api.get_contests_list(res => console.log(res))
}
test();returns:
[
{
url: 'https://osu.ppy.sh/community/contests/115',
title: 'A Labour of Love',
date: 'November 30, 2020 - March 1, 2021',
type: 'beatmap'
},
{
url: 'https://osu.ppy.sh/community/contests/114',
title: 'Winter Sports 2020 Fanart Contest',
date: 'Ended December 6, 2020',
type: 'art'
},
{
url: 'https://osu.ppy.sh/community/contests/113',
title: 'Monthly Beatmapping Contests 2020: #10',
date: 'Ended',
type: 'beatmap'
},
...NOTES
- These results are NOT static and are getting scraped realtime whenever a function is run
- This was based on Osu-Free-Api which was made in python
TODO
- get_player_first_place_plays
- get_player_socials
- get_player_most_played_map
- get_player_favorite_maps
- Add paging arguments
- Organize functions
