API & MCP

The whole catalog is searchable through a REST API and an MCP server. Neither requires an API key or any authentication, and both return the same tracks. The audio itself lives on YouTube, and every URL we return starts playback where that track begins.

MCP server

An MCP server for finding tracks from an AI agent. It speaks Streamable HTTP and keeps no session, so a compatible client only needs the URL.

https://arcalune.com/mcp

Client configuration

{
  "mcpServers": {
    "arcalune-music": {
      "type": "http",
      "url": "https://arcalune.com/mcp"
    }
  }
}
claude mcp add --transport http arcalune-music https://arcalune.com/mcp

Tools

search_tracks
Search Arcalune Music for royalty-free BGM, sound effects, and video game fan arrangements. Every track streams on YouTube, and the returned youtubeUrl jumps straight to where that track starts. When presenting results to a user, always include the youtubeUrl so they can listen to the track. Free BGM and sound effects allow commercial use without credit; fan arrangements are streaming-only.
get_track
Get one track by id, together with related tracks from the same catalog. Returns the YouTube URL with the track's start position, the track page, and the download URL when the audio is distributed.
list_tags
List every tag that can be passed to search_tracks, grouped by production use, genre, mood, usage, scene, source game, and usage rights, with how many tracks carry each tag.

REST API

A JSON API for searching tracks, fetching a single track, and listing tags. CORS is open to every origin, so you can call it straight from the browser.

Endpoints

GET https://arcalune.com/api/v1/tracks
GET https://arcalune.com/api/v1/tracks/{id}
GET https://arcalune.com/api/v1/tags

Query parameters (GET /api/v1/tracks)

qstring
Free text over titles, descriptions, and tag names (ja + en).
tagstring
Tag id. Repeat or comma-separate for an OR filter.
categoryall | bgm | se | arrangement
Catalog to search. Defaults to all.
downloadabletrue | false
Filter by whether the audio file is distributed.
sortdefault | newest | title | plays30d | playsAll | favorites | downloads30d | downloadsAll
Result order. Defaults to default (newest first).
limitinteger (max 100)
Page size. Defaults to 20.
offsetinteger
Number of tracks to skip. Defaults to 0.
localeja | en | es | pt | hi | id | fr
Language used for track titles, descriptions, and tag names.

Example response

curl "https://arcalune.com/api/v1/tracks?category=bgm&tag=lofi&limit=1"
{
  "total": 150,
  "limit": 20,
  "offset": 0,
  "tracks": [
    {
      "id": "kohaku",
      "title": { "ja": "琥珀の書斎", "en": "The Amber Study" },
      "category": "original",
      "durationSeconds": 188,
      "tags": [{ "id": "lofi", "label": { "ja": "Lo-fi", "en": "Lo-fi" }, "group": "genre" }],
      "youtubeUrl": "https://www.youtube.com/watch?v=4i5aoHjXizI",
      "youtubeVideoId": "4i5aoHjXizI",
      "startSeconds": 0,
      "pageUrl": "https://arcalune.com/tracks/kohaku",
      "imageUrl": "https://arcalune.com/track-images/kohaku",
      "downloadUrl": "https://arcalune.com/api/tracks/kohaku/download",
      "isArrangement": false,
      "usage": {
        "type": "free-download",
        "commercialUse": true,
        "creditRequired": false,
        "restrictions": ["no-standalone-redistribution", "no-ai-training"],
        "termsUrl": "https://arcalune.com/about#usage-guide"
      },
      "publishedAt": "2026-07-21T00:00:00.000Z"
    }
  ]
}

Popularity ordering (sort=plays30d and the like) is based on plays, downloads, and favorites reported by the browser, deduplicated to one per day. The sender is not authenticated, so these are not measured values — the counts themselves are not returned by the API. Treat the order as a hint.

Try it here

Pick the parameters and send the request straight from this page. No authentication is needed, and the response is shown exactly as it comes back.

curl "https://arcalune.com/api/v1/tracks"

Playback on YouTube

One video usually holds several tracks, so a link to a single track needs its start position. youtubeUrl already includes it — use it as-is whenever you present a track.

https://www.youtube.com/watch?v=2qQ11AVavBQ&t=1233s

Usage terms

Free BGM and sound effects may be used commercially without credit. Fan arrangements are unofficial, streaming-only, and cannot be reused as material. The usage field in every response carries the terms for that track.

Read the usage guide

Checking your privacy choices…

Select a track to play