MeloData Now Has 1.85 Million Tracks Ready
Correction, October 1, 2026: an earlier version said archive and live keys agree on only 33% of tracks. That number compared key names as text, and the two sources spell some keys differently. The corrected figures are below.
Update, October 1, 2026: archive rows no longer return the archive's key. The key section below explains why and what you get instead.
Ask MeloData for a track it has never seen and you get a 202. Then you wait while it finds a preview and analyzes it.
That will happen a lot less now.
On October 1, 2026, I imported the full AcousticBrainz archive into MeloData. The catalog went from 87,311 tracks to 1,853,280. About 1.77 million ISRCs that used to queue now return features right away.
What You Get on the New Tracks
The new rows carry source: "acousticbrainz_archive" and analysis_version: "ab_1.2". They include:
- BPM
- energy
- danceability
- valence
- acousticness
- instrumentalness
loudness, tempo_confidence and time_signature are null on these rows the first time you see them. The published archive data does not include them. They fill in over time. When you request one of these tracks, MeloData analyzes its preview in the background and adds them. Key works the same way, which is covered below.
If your code treats null as zero, check that first. How to Handle Missing Audio Features covers it.
What Did Not Change
Tracks MeloData analyzed itself kept their features. The import only filled in missing names and IDs on those rows. I checked 22,871 of them against a backup taken before the write, and none changed a single feature.
Billing works the same way. You are still billed only when a lookup is answered. More lookups are now answered on the first try instead of after a wait.
Why It Is 1.8 Million and Not More
AcousticBrainz holds about 7.5 million unique recordings. MeloData looks tracks up by ISRC, and only 29% of those recordings have one in MusicBrainz today. That is where most of the archive drops out.
One Thing to Know About Key
I checked both sources against public sets of songs with known keys. Live analysis got the key exactly right on 61% of them. The archive got it right on 42%.
That was too low to hand out, so I took the archive keys out. Archive rows now get their key from MeloData's own analysis of the preview, the same one live rows use. The first time you request one of these tracks, key comes back null and MeloData queues that analysis. Ask again a little later and the key is there, with key_confidence next to it.
If a track has no preview, the key stays null. Billing doesn't change either way.
BPM held up fine. On the 13,678 tracks that have both an archive analysis and a live one, BPM agrees within 4% on 82% of them.
What are you building with it? I'd honestly like to know.