Reference

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.

view .md auddresulttimecodesong_link

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.

FieldTypeDescription
artiststring | nullThe recognized track’s artist. May be null on a custom-catalog match.
titlestring | nullThe recognized track’s title. May be null on a custom-catalog match.
albumstring | nullThe album the recording appears on.
release_datestring | nullThe release date, YYYY-MM-DD.
labelstring | nullThe record label.
timecodestringPosition within the matched track where the submitted clip aligns, formatted MM:SS. See note below.
song_linkstringA universal link to the song’s page on lis.tn (for example https://lis.tn/NbkVb).
audio_idintegerThe 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:

BlockTypePresent when
apple_musicobjectreturn includes apple_music
spotifyobjectreturn includes spotify
deezerobjectreturn includes deezer
musicbrainzarrayreturn 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

  • result is null on no match. Check for null before reading fields; it is not an error condition.
  • audio_id appears only on custom-catalog matches. On those matches, treat artist and title as possibly null and key off audio_id.
  • timecode is 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 extras on each typed result and per-provider block (the Python SDK surfaces the same map as model_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.