• Search for beatmapsets as if you were on the website or on lazer!

    Parameters

    • this: API
    • Optionalquery: {
          categories?:
              | "Any"
              | "Ranked"
              | "Qualified"
              | "Loved"
              | "Favourites"
              | "Pending"
              | "WIP"
              | "Graveyard"
              | "My Maps";
          cursor_string?: string;
          extra?: ("must_have_video" | "must_have_storyboard")[];
          general?: (
              | "Recommended difficulty"
              | "Include converted beatmaps"
              | "Subscribed mappers"
              | "Spotlighted beatmaps"
              | "Featured Artists")[];
          genre?:
              | Unspecified
              | any[any]
              | Anime
              | Rock
              | Pop
              | Other
              | Novelty
              | any[any]
              | Electronic
              | Metal
              | Classical
              | Folk
              | Jazz;
          hide_explicit_content?: true;
          keywords?: string;
          language?:
              | Unspecified
              | English
              | Japanese
              | Chinese
              | Instrumental
              | Korean
              | French
              | German
              | Swedish
              | Spanish
              | Italian
              | Russian
              | Polish
              | Other;
          mode?: Ruleset;
          played?: "Played" | "Unplayed";
          rank_achieved?: (
              | "A"
              | "Silver SS"
              | "SS"
              | "Silver S"
              | "S"
              | "B"
              | "C"
              | "D")[];
          sort?: {
              by:
                  | "title"
                  | "artist"
                  | "ranked"
                  | "difficulty"
                  | "rating"
                  | "plays"
                  | "favourites"
                  | "updated";
              in: "desc" | "asc";
          };
      }

      All the filters and sorting options that you'd normally find on the website or on lazer

      • Optionalcategories?:
            | "Any"
            | "Ranked"
            | "Qualified"
            | "Loved"
            | "Favourites"
            | "Pending"
            | "WIP"
            | "Graveyard"
            | "My Maps"

        Filter in sets depending on their status or on their relation with the authorized user (defaults to all that have a leaderboard)

      • Optionalcursor_string?: string

        The thing you've got from a previous request to get another page of results!

      • Optionalextra?: ("must_have_video" | "must_have_storyboard")[]

        Should all sets have a video, a storyboard, maybe both at once?

      • Optionalgeneral?: (
            | "Recommended difficulty"
            | "Include converted beatmaps"
            | "Subscribed mappers"
            | "Spotlighted beatmaps"
            | "Featured Artists")[]

        Various filters to activate

      • Optionalgenre?:
            | Unspecified
            | any[any]
            | Anime
            | Rock
            | Pop
            | Other
            | Novelty
            | any[any]
            | Electronic
            | Metal
            | Classical
            | Folk
            | Jazz

        Specify the musical genre of the music of the beatmapsets you're searching for (don't specify to get any genre)

        "Any"/0 actually looks up sets that specifically have the Genre "Any" such as 5947, it's excluded because it's counter-intuitive and near useless (but you can do something like 1-1 if you actually want that!)

      • Optionalhide_explicit_content?: true

        Use this to hide all sets that are marked as explicit

      • Optionalkeywords?: string

        What you'd put in the searchbar, like the name of a beatmapset or a mapper!

      • Optionallanguage?:
            | Unspecified
            | English
            | Japanese
            | Chinese
            | Instrumental
            | Korean
            | French
            | German
            | Swedish
            | Spanish
            | Italian
            | Russian
            | Polish
            | Other

        Specify the spoken language of the music of the beatmapsets you're searching for (don't specify to get any language)

        "Any"/0 actually looks up sets that specifically have the Language "Any" (and no set has that), it's excluded because it's counter-intuitive and near useless (but you can do something like 1-1 if you actually want that!)

      • Optionalmode?: Ruleset

        Only get sets that have maps that you can play in the ruleset of your choice

      • Optionalplayed?: "Played" | "Unplayed"

        Does the authorized user with osu!supporter have already played those sets, or have they not played them yet?

      • Optionalrank_achieved?: (
            | "A"
            | "Silver SS"
            | "SS"
            | "Silver S"
            | "S"
            | "B"
            | "C"
            | "D")[]

        Does the authorized user with osu!supporter have already achieved certain ranks on those sets?

      • Optionalsort?: {
            by:
                | "title"
                | "artist"
                | "ranked"
                | "difficulty"
                | "rating"
                | "plays"
                | "favourites"
                | "updated";
            in: "desc" | "asc";
        }

        Sort by what, in ascending/descending order

        • by:
              | "title"
              | "artist"
              | "ranked"
              | "difficulty"
              | "rating"
              | "plays"
              | "favourites"
              | "updated"
        • in: "desc" | "asc"

    Returns Promise<{
        beatmapsets: WithBeatmapPacktags[];
        cursor_string: string | null;
        error: any | null;
        recommended_difficulty: number | null;
        total: number;
    }>

    Relevant Beatmapsets that contain Beatmaps, and a cursor_string to allow you to look for more of the same!

    This does not bypass the current osu!supporter requirement for certain filters