Song identification API
Send an audio fingerprint, get back the recording it comes from: its MusicBrainz id, title, artist and ISRC. The data covers about 21 million recordings, from AcoustID and MusicBrainz, updated daily.
Price
US$0.002 a lookup, from your prepaid Ontiqo developer credit, whether or not it finds a match. A new account gets 50 lookups free, once. Top up from US$5 in the Ontiqo developer console, where you also make keys, set a daily spending limit for each key, and see your use.
Making a request
POST https://api.sonalize.app/v1/exact-id/lookup
Authorization: Bearer sz_...
Content-Type: application/json
{"fingerprint": [1234567890, 2345678901, ...]}
Keep the key on your server; don't put it in a web page or an app people can unpack.
The fingerprint
A Chromaprint fingerprint of the first 120 seconds, as the raw list of unsigned 32-bit values (40 to 2,000 of them), AcoustID's algorithm 2. With Chromaprint's command-line tool:
fpcalc -raw -length 120 song.mp3
Send the numbers after FINGERPRINT=, not the compressed text form. In Rust, rusty-chromaprint with Configuration::preset_test2() gives the same values.
The answer
{
"matched": true,
"agreement": 0.962,
"fingerprint_id": 105795592,
"recording": {"mbid": "8b435b81-f222-4347-a9e1-954b37540469", "title": "Sins of Memphisto", "artist": "John Prine", "isrc": ""},
"credit": "AcoustID (acoustid.org, CC BY-SA 3.0); MusicBrainz (musicbrainz.org, CC0)"
}
matchedis true when a stored fingerprint agrees with yours on at least 75 % of its bits.recordingcan still be null when the data names no artist.recentis true when the recording reached AcoustID in the last few weeks.- Headers:
X-Sonalize-Charged(US$ this lookup cost),X-Sonalize-Free-Left,X-Sonalize-Credit-Left(US$). - It identifies recordings: a cover, a live version, or a copy sped up or pitch-shifted, won't match the original.
Errors
| Status | code | Meaning |
|---|---|---|
| 400 | The fingerprint isn't 40 to 2,000 whole numbers from 0 to 4,294,967,295. Not charged. | |
| 401 | BAD_KEY | Not a Sonalize key, or it was revoked. Not charged. |
| 402 | NO_CREDIT | Your developer credit has run out. Not charged. |
| 429 | DAY_CAP | The key reached its daily spending limit. Not charged. |
| 429 | SLOW_DOWN | Over 120 lookups a minute for one key. Not charged; try again in a minute. |
| 503 | Something failed on our side. Any charge for that call is given back. |
Terms
- Each lookup costs US$0.002 from your prepaid Ontiqo developer credit, whether or not it finds a match. A new account gets 50 lookups free, once.
- Keep your keys private. You can set a daily spending limit on each key in the console. We may limit or stop a key that is abused or that harms the service.
- You may reuse and store the results you receive. If you republish them, credit AcoustID (acoustid.org, CC BY-SA 3.0) and MusicBrainz (musicbrainz.org, CC0).
- Results name the recording a fingerprint most likely comes from. They can be wrong or missing, and they are not legal advice. The service may change or be unavailable at times.
- Nothing in these terms excludes rights under the Australian Consumer Law that cannot be excluded.
Questions: ontiqo.com/support.