Spotify replacement · Live since day one

The Spotify
Audio Features
API, rebuilt.

Float-precision BPM, musical key, mood, and song structure — powered by real DSP, not cached Echo Nest metadata. Add ?format=spotify to the canonical audio-features endpoint and you get identical JSON. Change one URL. Keep your parsing code.

GET api.spotify.com · 410 GONE
DEPRECATED
// Deprecated 27 Nov 2024
{
  "error": {
    "status":  410,
    "message": "This endpoint is no
                longer available."
  }
}
GET api.brizm.dev · 200 OK · 8ms
LIVE
{
  "tempo":        116.01,
  "key":          "B",
  "mode":         "minor",
  "camelot":      "10A",
  "energy":       0.72,
  "danceability": 0.81,
  "_meta": { "cache": "hit", "credits_used": 0 }
}
9.3M
tracks in identity DB
116.01
float-precision BPM (not 116)
6
DSP models in production
v1.2
live, public changelog

Why Brizm, not Spotify

Everything their API did. Plus what they never built.

⚙

Real DSP, not cached metadata

Spotify served cached Echo Nest values from a database frozen in 2014. We run ONNX models on the actual audio. Your tempo is 116.01, not 116. Key detection with confidence scores. Segmentation computed per-request.

▸

Alive in production

Spotify's audio-features endpoint returned 410 GONE on November 27, 2024. Brizm v1 has been live since day one with a public changelog. We will tell you before we break anything — no silent deprecations.

↯

Drop-in Spotify shim

/v1/audio-features/{id}?format=spotify returns the exact same JSON schema — field names, value ranges, even analysis_url. Change one URL. Keep the rest of your code. Migration in under an hour.

◈

Fields Spotify never had

Camelot wheel keys for DJs. Beat grid with frame-level downbeats. Structural boundaries (intro · verse · chorus · drop · outro). MAEST-trained mood embeddings. Similar-track nearest-neighbour search.

⊞

Transparent pricing

Credit-based. Cache hits are free. Every response tells you credits_used. No surprise billing, no tier-locked endpoints. Start with 100 free credits — no card required.

⌂

Your audio is yours

Uploaded audio deleted immediately after processing. We never train on your payloads. GDPR-compliant by design, with SLA and data-export on request. See our trust & compliance page.

Migration

Replace Spotify in one line of code.

The compatibility shim returns Spotify's exact JSON schema — same field names, same value ranges, same pagination. Change the base URL and auth header. Your existing parsing code keeps working.

Before · 410 GONE
javascript
// Deprecated November 2024
const r = await fetch(
  "https://api.spotify.com/v1/" +
  "audio-features/" + trackId,
  { headers: {
    Authorization: "Bearer " + token
  }}
);
const features = await r.json();
// { tempo, key, mode, energy, ... }
After · 200 OK
javascript
// Live in production
const r = await fetch(
  "https://api.brizm.dev/v1/compat/" +
  "spotify/audio-features/" + trackId,
  { headers: {
    Authorization: "Bearer " + tlKey
  }}
);
const features = await r.json();
// { tempo, key, mode, energy, ... }  ← same schema
✓
Field-identical, not field-compatible.
Every Spotify audio-features field is present with the same name, type, and range. Extra Brizm fields live under a _meta key so your existing parsing code never breaks on an unexpected property.

Migrate in an hour.
Not a quarter.

100 free credits. No card required. All endpoints unlocked. Test key and live key in the dashboard. Our quickstart has you at a 200 OK in about 90 seconds.

9.3M tracks indexed · Audio deleted on delivery · Public changelog since v1.0