-
Notifications
You must be signed in to change notification settings - Fork 15
v2.search_v3
ck edited this page Oct 6, 2024
·
2 revisions
GET
/v2/search
async
Search for users and wiki pages.
const { auth, v2 } = require('osu-api-extended');
async function main() {
try {
await auth.login({
type: 'v2',
client_id: CLIENT_ID,
client_secret: CLIENT_SECRET,
cachedTokenPath: './test.json' // path to the file your auth token will be saved (to prevent osu!api spam)
});
const result = await v2.search({
type: 'site',
mode: 'all',
query: 'mrekk'
});
// or
const result = await v2.search({
type: 'beatmaps',
query: 'hyikrwa'
});
if (result.error != null) {
console.log(result.error);
return;
};
console.log(result);
} catch (error) {
console.log(error);
};
};
main();
Parameter | Type | Description |
---|---|---|
params.type | 'site' or 'beatmaps' | |
params.location? | 'all' | 'user' |
params.query? | string | |
params.page? | number | |
params._played? | boolean | |
params._nsfw? | boolean | |
params.query? | string | |
params.mode? | Modes_names | number |
params.status? | beatmap_statuses | |
params.category? | (beatmap_category)[] | |
params.genre? | beatmap_genres | number |
params.language? | beatmap_languages | number |
params.achieved_rank? | (beatmap_ranks)[] | |
params.extra? | (beatmap_extra)[] | |
params.sort? | beatmap_sorting | |
params.cursor_string? | string | |
addons.legacy_only? | boolean | |
addons.apiVersion? | '20240130' | '99999999' |
addons.authKey? | string | |
addons.timeout_ms? | number | |
addons.ignoreSessionRefresh? | boolean |
export interface SearchWiki {
user: User
wiki_page: WikiPage
}
export interface User {
data: UserData[]
total: number
}
export interface UserData {
avatar_url: string
country_code: string
default_group: string
id: number
is_active: boolean
is_bot: boolean
is_deleted: boolean
is_online: boolean
is_supporter: boolean
last_visit?: string
pm_friends_only: boolean
profile_colour: any
username: string
}
export interface WikiPage {
data: WikiData[]
total: number
}
export interface WikiData {
available_locales: string[]
layout: string
locale: string
markdown: string
path: string
subtitle?: string
tags: string[]
title: string
}
export interface SearchBeatmaps {
beatmapsets: Beatmapset[]
search: Search
recommended_difficulty: any
error: any
total: number
cursor: Cursor
cursor_string: string
}
export interface Beatmapset {
artist: string
artist_unicode: string
covers: Covers
creator: string
favourite_count: number
hype: any
id: number
nsfw: boolean
offset: number
play_count: number
preview_url: string
source: string
spotlight: boolean
status: string
title: string
title_unicode: string
track_id?: number
user_id: number
video: boolean
bpm: number
can_be_hyped: boolean
deleted_at: any
discussion_enabled: boolean
discussion_locked: boolean
is_scoreable: boolean
last_updated: string
legacy_thread_url: string
nominations_summary: NominationsSummary
ranked: number
ranked_date: string
storyboard: boolean
submitted_date: string
tags: string
availability: Availability
beatmaps: Beatmap[]
pack_tags: string[]
}
export interface Covers {
cover: string
"cover@2x": string
card: string
"card@2x": string
list: string
"list@2x": string
slimcover: string
"slimcover@2x": string
}
export interface NominationsSummary {
current: number
required: number
}
export interface Availability {
download_disabled: boolean
more_information: any
}
export interface Beatmap {
beatmapset_id: number
difficulty_rating: number
id: number
mode: string
status: string
total_length: number
user_id: number
version: string
accuracy: number
ar: number
bpm: number
convert: boolean
count_circles: number
count_sliders: number
count_spinners: number
cs: number
deleted_at: any
drain: number
hit_length: number
is_scoreable: boolean
last_updated: string
mode_int: number
passcount: number
playcount: number
ranked: number
url: string
checksum: string
max_combo: number
}
export interface Search {
sort: string
}
export interface Cursor {
approved_date: number
id: number
}
export interface SearchWiki {
user: User
wiki_page: WikiPage
}
export interface User {
data: UserData[]
total: number
}
export interface UserData {
avatar_url: string
country_code: string
default_group: string
id: number
is_active: boolean
is_bot: boolean
is_deleted: boolean
is_online: boolean
is_supporter: boolean
last_visit?: string
pm_friends_only: boolean
profile_colour: any
username: string
}
export interface WikiPage {
data: WikiData[]
total: number
}
export interface WikiData {
available_locales: string[]
layout: string
locale: string
markdown: string
path: string
subtitle?: string
tags: string[]
title: string
}
export interface SearchBeatmaps {
beatmapsets: Beatmapset[]
search: Search
recommended_difficulty: any
error: any
total: number
cursor: Cursor
cursor_string: string
}
export interface Beatmapset {
artist: string
artist_unicode: string
covers: Covers
creator: string
favourite_count: number
hype: any
id: number
nsfw: boolean
offset: number
play_count: number
preview_url: string
source: string
spotlight: boolean
status: string
title: string
title_unicode: string
track_id?: number
user_id: number
video: boolean
bpm: number
can_be_hyped: boolean
deleted_at: any
discussion_enabled: boolean
discussion_locked: boolean
is_scoreable: boolean
last_updated: string
legacy_thread_url: string
nominations_summary: NominationsSummary
ranked: number
ranked_date: string
storyboard: boolean
submitted_date: string
tags: string
availability: Availability
beatmaps: Beatmap[]
pack_tags: string[]
}
export interface Covers {
cover: string
"cover@2x": string
card: string
"card@2x": string
list: string
"list@2x": string
slimcover: string
"slimcover@2x": string
}
export interface NominationsSummary {
current: number
required: number
}
export interface Availability {
download_disabled: boolean
more_information: any
}
export interface Beatmap {
beatmapset_id: number
difficulty_rating: number
id: number
mode: string
status: string
total_length: number
user_id: number
version: string
accuracy: number
ar: number
bpm: number
convert: boolean
count_circles: number
count_sliders: number
count_spinners: number
cs: number
deleted_at: any
drain: number
hit_length: number
is_scoreable: boolean
last_updated: string
mode_int: number
passcount: number
playcount: number
ranked: number
url: string
checksum: string
max_combo: number
}
export interface Search {
sort: string
}
export interface Cursor {
approved_date: number
id: number
}