FreqBlog Music API
# FreqBlog Music API **The drop-in replacement for Spotify's removed `/v1/audio-features` — plus the harmonic-mixing and set-building tools Spotify never had.** Same field names, same JSON shape — but you don't need a Spotify track ID. Look up audio features by **track name + artist**, ISRC, MusicBrainz ID, or Spotify ID. No audio upload, no OAuth dance. Typical response ~30 ms. Built for…
FreqBlog Music API endpoints
| Method | Endpoint | Description |
|---|---|---|
| Catalog | ||
| GET |
Radio playlist /radio |
Build a continuous DJ-style playlist starting from a seed track. The walk is greedy: at each step we pick the most similar candidate that also satisfies harmonic mixing rules… |
| GET |
Export playlist /export/{format} |
Generate a DJ-ready file from a list of catalog `itunes_track_id`s. **Formats:** - `rekordbox` — Pioneer Rekordbox XML 1.0.0. Hot cue at the chorus / drop position. Most DJ… |
| GET |
Genre tracks /genres/{name}/tracks |
Returns lightweight track stubs tagged with the given genre (case-insensitive). Use the `/genres` endpoint to discover available genre names. Ordered by popularity descending,… |
| GET |
Track lyrics /track/{itunes_track_id}/lyrics |
Returns synced + plain lyrics for a track via the open **LRClib** dataset. Lyrics are cached for 30 days per (track, artist) pair; cache misses are also cached so we don't… |
| GET |
Track cover art /track/{itunes_track_id}/artwork |
302-redirect to a cover-art image for the track. Resolution order: iTunes Lookup API for numeric catalog ids, then Cover Art Archive via the track's MusicBrainz release IDs. The… |
| GET |
Artist tracks /artist/tracks |
Returns lightweight track stubs for an artist (case-insensitive exact match on `artist_name`). Use `/search` first if you don't have an exact spelling, or `/lookup` to retrieve… |
| POST |
Bulk CSV enrich /bulk-csv |
Upload a CSV with `artist,title` columns and receive an enriched CSV with the full audio-features set appended to each row — BPM, key, mood, valence, danceability, energy, ISRC,… |
| GET |
Find by key /key |
Return catalog tracks in the specified musical key. Accepts **Camelot** (e.g. `8A`), **Open Key** (e.g. `1m`), or a **key name** (e.g. `A-Minor`, `F#-Major`). Results are ordered… |
| GET |
List genres /genres |
Returns every distinct populated `genre` value in the catalog with the number of tracks tagged. Useful for building filter UIs or discovering coverage gaps. Genres come from… |
| GET |
Track embedding /track/{itunes_track_id}/embedding |
Project a track's audio features into a fixed-order numeric vector — convenient for similarity search, clustering, or feeding directly into your own ML model. The `fields` array… |
| GET |
Search catalog /search |
Full-text search across track name, artist name, and album name. Returns lightweight track stubs (no audio features) ordered by relevance, then popularity. Use `/lookup` to fetch… |
| POST |
Bulk lookup /bulk |
Look up up to 50 tracks in a single request. Each track is resolved through the same 4-layer fallback chain as `/lookup` (Apple Music catalog → MusicBrainz/AcousticBrainz → FMA… |
| GET |
Track waveform /track/{itunes_track_id}/waveform.svg |
Returns an SVG waveform render of the track's 30-second iTunes preview. The bucketed RMS values are cached for 90 days; SVG rendering happens at request time so callers can… |
| GET |
National chart /charts/{country} |
Live top-songs chart for any of 45 supported countries, sourced from Apple Music RSS. Each entry is cross-referenced against the FreqBlog catalog — when the track is already… |
| GET |
Find by BPM /bpm |
Return catalog tracks within ±`tolerance` BPM of the target. No audio upload needed — instant lookup from the pre-analyzed catalog. Results are ordered by proximity to the target… |
| GET |
Lookup track /lookup |
Search the pre-analyzed track catalog by track name and optional artist. Returns audio features instantly (< 10 ms) without uploading any audio. **Multi-tier catalog**: 270,000+… |
| GET |
Similar tracks /similar |
Recommendation engine in one call. Pass a seed track id and get back the most acoustically similar tracks in the catalog, ranked by cosine similarity over an 18-feature audio… |
| Spotify-compat | ||
| GET |
Audio features /v1/audio-features/{identifier} |
**Spotify-shape compatible replacement for the deprecated `GET /v1/audio-features/{id}`.** Change the host (`api.spotify.com` → `api.freqblog.com`) and the path + response field… |
| GET |
Audio features (batch) /v1/audio-features |
**Spotify-shape compatible replacement for the deprecated `GET /v1/audio-features?ids=…`.** Up to **100** comma-separated identifiers per request. Returns `{"audio_features":… |
FreqBlog Music API pricing
| Plan | Price | Rate limit | Quotas |
|---|---|---|---|
| BASIC | Free | — |
|
| PRO | $13 / month | 5 / second |
|
| ULTRA | $49 / month | 10 / second |
|
| MEGA | $159 / month | 20 / second |
|