Recognition result fields
The fields of the result object returned by the standard AudD recognition endpoint (api.audd.io), including timecode, song_link, audio_id, and provider metadata blocks.
The standard endpoint (POST https://api.audd.io/) returns a single
result object describing the best match for the submitted clip, or
result: null when nothing is recognized. This page documents the fields
that appear on result. It does not cover the enterprise endpoint, which
returns a different shape — see the
enterprise response and match fields
reference for that.
The result object
On a match, result is an object with the fields below. On no match,
result is null — a successful response (status: "success") that
found nothing, which is distinct from an error.
| Field | Type | Description |
|---|---|---|
artist | string | null | The recognized track’s artist. May be null on a custom-catalog match. |
title | string | null | The recognized track’s title. May be null on a custom-catalog match. |
album | string | null | The album the recording appears on. |
release_date | string | null | The release date, YYYY-MM-DD. |
label | string | null | The record label. |
timecode | string | Position within the matched track where the submitted clip aligns, formatted MM:SS. See note below. |
song_link | string | A universal link to the song’s page on lis.tn (for example https://lis.tn/NbkVb). |
audio_id | integer | The track’s identifier in your custom catalog. Present only on a custom-catalog match. |
A minimal match looks like this:
{
"status": "success",
"result": {
"artist": "Tears For Fears",
"title": "Everybody Wants To Rule The World",
"album": "Songs From The Big Chair",
"release_date": "2014-11-10",
"label": "UMC (Universal Music Catalogue)",
"timecode": "00:56",
"song_link": "https://lis.tn/NbkVb"
}
}
timecode
timecode is the position within the matched recording at the point your
clip aligns to — not an offset into the clip you submitted. A timecode of
00:56 means the submitted audio matched the part of the reference track
56 seconds in.
Custom-catalog matches
When the recognized track comes from your own custom catalog rather than the
public database, the result carries an audio_id and may omit the public
metadata. artist and title can be null, since the mapping from
audio_id to a song is yours to maintain on your side:
{
"status": "success",
"result": {
"timecode": "01:45",
"audio_id": 146
}
}
Provider metadata blocks
When the request includes the return parameter (comma-separated provider
identifiers such as apple_music,spotify,deezer,musicbrainz), the
result also carries one nested object per requested provider:
| Block | Type | Present when |
|---|---|---|
apple_music | object | return includes apple_music |
spotify | object | return includes spotify |
deezer | object | return includes deezer |
musicbrainz | array | return includes musicbrainz |
These blocks pass through each provider’s own schema (Apple Music’s
artwork/previews, Spotify’s album/external_ids, MusicBrainz’s
release list, and so on), so their shapes are documented separately rather
than duplicated here — see the
provider metadata reference.
{
"status": "success",
"result": {
"artist": "Tears For Fears",
"title": "Everybody Wants To Rule The World",
"song_link": "https://lis.tn/NbkVb",
"apple_music": { "...": "Apple Music's schema" },
"spotify": { "...": "Spotify's schema" }
}
}
Notes
resultisnullon no match. Check fornullbefore reading fields; it is not an error condition.audio_idappears only on custom-catalog matches. On those matches, treatartistandtitleas possiblynulland key offaudio_id.timecodeis a position in the reference recording, not in the clip you sent.- Fields outside the typed surface — beta or newly added response fields —
are reachable through
extrason each typed result and per-provider block (the Python SDK surfaces the same map asmodel_extra). Read additional fields there without waiting for a typed property. - ISRC and UPC are not returned on the standard endpoint. They appear on enterprise responses and require a Startup plan or higher — see the enterprise response and match fields reference.
Related
Reading this as an AI agent? The raw Markdown is at reference/result-fields.md, and the full index is /resources/llms.txt.
