NØISEEN

Reference

API

A public, read-only JSON API for browsing the song catalogue on this website.

This API is live now that the song catalogue is on this website — see Website.

Overview

A public, read-only JSON API for browsing shared songs. No authentication. CORS is open (*). Rate limit: 120 requests/minute/IP; over it you get a 429 with a Retry-After header. Successful answers are cached for a minute.

Only published songs are returned. An id that is unknown, or a song that is not published, answers 404:

{ "error": { "code": "not_found", "message": "No published song with that id." } }

GET /api/v1/songs

List/search songs.

Query parameters:

ParamMeaning
qFree-text search (name, author, notes)
styleFilter by JAM style: pop, rock, blues, jazz, hiphop, funk, metal
feelFilter by groove feel tag
difficultyeasy, medium, hard (case-insensitive)
sortnewest (default), downloads, rating, bars
pagePage number, 1-based, default 1
per_pageResults per page, default 20, max 50

There is no filter on the key; key is only reported, not read.

Response shape:

{
  "songs": [
    {
      "id": "d_OxIkOTen",
      "name": "Amber Skyline",
      "author": "NØISE",
      "style": "rock",
      "feel": "straight",
      "key": "Am",
      "difficulty": "medium",
      "bars": 32,
      "ratingAvg": 4.5,
      "ratingCount": 2,
      "downloadCount": 17,
      "updatedAt": "2026-05-01T12:00:00.000Z"
    }
  ],
  "page": 1,
  "per_page": 20,
  "total": 137
}

author and key are null when the song does not carry them. id is the song's public id, the same one in its page URL.

GET /api/v1/songs/{id}

Full song metadata: the fields above plus notes (the description), kit, bpm, tuning, form (the sections in order, e.g. INTRO · VERSE ×2 · CHORUS), playsOnce, sourceUuid (the song it was built from, if any) and createdAt.

GET /api/v1/songs/{id}/chart

The chord chart as readable data — the same shape the MCP server's build_song takes: bars as arrays, chords as symbols, grips as tags.

{
  "id": "d_OxIkOTen",
  "songUuid": "6F1A0E9C-3D4E-4B11-9A0B-1C2D3E4F5A6B",
  "song": {
    "name": "Amber Skyline",
    "key": "Am",
    "bpm": 120,
    "sections": [
      { "name": "VERSE", "repeats": 2, "bars": ["Am", "F", "C", "G"] }
    ]
  },
  "notes": []
}

songUuid is the id inside the document, for lineage when you build on it; notes lists, in plain words, anything in the stored song that this shape cannot express.

GET /api/v1/songs/{id}/file

The song's .noisesong file (Content-Type: application/x-noise-song+json), ready to download or hand to a noise:// link — see The .noisesong file and the noise:// link. A download is counted once per IP per day.

Next