Anisu! API

Powerful REST API for accessing osu! beatmap data, user profiles, and recommendations. Free to use with rate limiting.

Fast & Reliable

High-performance API with caching and optimized responses. Built on Next.js with edge computing.

Secure

Rate limiting, CORS support, and secure endpoints. No API key required for basic usage.

Developer Friendly

RESTful design, JSON responses, comprehensive documentation, and code examples.

Quick Start
Get started with the Anisu! API in minutes

1. Base URL

https://anisu.vtx.my.id/api

2. Make a Request

curl https://anisu.vtx.my.id/api/search?q=freedom+dive

3. Get Response

{
  "beatmapsets": [
    {
      "id": 39804,
      "title": "FREEDOM DiVE",
      "artist": "xi",
      "creator": "Nakagawa-Kanon"
    }
  ]
}
Available Endpoints
Core API endpoints for beatmaps and users
GET /api/search

Search beatmaps

Public
GET /api/user

Get user profile

Public
GET /api/recommend

Get recommendations

Public
GET /api/download

Get download URL

Public
GET /api/user/scores

Get user scores

Public
GET /api/user/beatmaps

Get user beatmaps

Public
Search Beatmaps
Find beatmaps with advanced filtering
Docs
// JavaScript/Node.js
const response = await fetch('https://anisu.vercel.app/api/search?q=freedom+dive&mode=osu');
const data = await response.json();
console.log(data.beatmapsets);

// Python
import requests
response = requests.get('https://anisu.vercel.app/api/search?q=freedom+dive&mode=osu')
data = response.json()
print(data['beatmapsets'])

// cURL
curl "https://anisu.vercel.app/api/search?q=freedom+dive&mode=osu"
1000
Requests/Hour
6
API Endpoints
99.9%
Uptime

Ready to get started?

Check out our comprehensive documentation with examples and interactive testing.

Rate Limits & Usage

Free Tier

  • • 1000 requests/hour
  • • No API key required
  • • Basic rate limiting
  • • Community support

Headers

  • • Content-Type: application/json
  • • X-RateLimit-Limit: 1000
  • • X-RateLimit-Remaining: 999
  • • X-RateLimit-Reset: 1640995200

Status Codes

  • • 200: Success
  • • 400: Bad Request
  • • 404: Not Found
  • • 429: Rate Limited