API.searchBeatmapsets

interface WithBeatmapPacktags {
    artist: string;
    artist_unicode: string;
    availability: {
        download_disabled: boolean;
        more_information: null | string;
    };
    beatmaps: WithMaxcombo[];
    bpm: number;
    can_be_hyped: boolean;
    covers: {
        card: string;
        card@2x: string;
        cover: string;
        cover@2x: string;
        list: string;
        list@2x: string;
        slimcover: string;
        slimcover@2x: string;
    };
    creator: string;
    deleted_at: null | Date;
    discussion_locked: boolean;
    favourite_count: number;
    hype: null | {
        current: number;
        required: number;
    };
    id: number;
    is_scoreable: boolean;
    last_updated: Date;
    legacy_thread_url: string;
    nominations_summary: {
        current: number;
        eligible_main_rulesets: null | [
            | "osu"
            | "taiko"
            | "fruits"
            | "mania"];
        required_meta: {
            main_ruleset: number;
            non_main_ruleset: number;
        };
    };
    nsfw: boolean;
    offset: number;
    pack_tags: string[];
    play_count: number;
    preview_url: string;
    ranked: RankStatus;
    ranked_date: null | Date;
    source: string;
    spotlight: boolean;
    status: string;
    storyboard: boolean;
    submitted_date: null | Date;
    tags: string;
    title: string;
    title_unicode: string;
    track_id: null | number;
    user_id: number;
    video: boolean;
}

Hierarchy (view full)

Properties

artist: string
artist_unicode: string
availability: {
    download_disabled: boolean;
    more_information: null | string;
}

Type declaration

  • download_disabled: boolean

    So it's false if you can download it

  • more_information: null | string
beatmaps: WithMaxcombo[]
bpm: number
can_be_hyped: boolean
covers: {
    card: string;
    card@2x: string;
    cover: string;
    cover@2x: string;
    list: string;
    list@2x: string;
    slimcover: string;
    slimcover@2x: string;
}
creator: string
deleted_at: null | Date
discussion_locked: boolean
favourite_count: number
hype: null | {
    current: number;
    required: number;
}
id: number
is_scoreable: boolean
last_updated: Date
legacy_thread_url: string
nominations_summary: {
    current: number;
    eligible_main_rulesets: null | [
        | "osu"
        | "taiko"
        | "fruits"
        | "mania"];
    required_meta: {
        main_ruleset: number;
        non_main_ruleset: number;
    };
}

Type declaration

  • current: number
  • eligible_main_rulesets: null | [
        | "osu"
        | "taiko"
        | "fruits"
        | "mania"]
  • required_meta: {
        main_ruleset: number;
        non_main_ruleset: number;
    }

    Required nominations

    • main_ruleset: number
    • non_main_ruleset: number
nsfw: boolean
offset: number
pack_tags: string[]
play_count: number
preview_url: string

A string like that where id is the id of the beatmapset: //b.ppy.sh/preview/58951.mp3

ranked: RankStatus
ranked_date: null | Date
source: string
spotlight: boolean
status: string

Is it ranked, is it graveyarded, etc

storyboard: boolean
submitted_date: null | Date
tags: string
title: string

A title readable by any english-speaking person, so it'd be in romaji if the song's title is in Japanese

title_unicode: string

Basically the title is the original language, so with hiragana, katakana and kanji if Japanese

track_id: null | number

If the song exists on a featured artist's page, then it has a track_id

https://osu.ppy.sh/beatmaps/artists/tracks/<track_id> redirects to the page of said featured artist

user_id: number
video: boolean