AudD for music distributors
How distributors use AudD to screen incoming releases for third-party copyrighted material, match delivered tracks against a catalog, and capture ISRC and UPC from recognition results.
If you run a distribution service, every track that comes through your ingestion pipeline is a liability until you know what’s in it. A delivered “single” might contain an uncleared sample, a full third-party recording under a different filename, or a re-upload of something already in your own catalog. This page shows how to screen for each of those cases with AudD, with working recipes to start from.
AudD is a music-recognition HTTP API over a database of 160 million commercial recordings. You send audio (a file, raw bytes, or a URL); it fingerprints the audio and returns the recordings it matches, with artist, title, label, and — on the right plan — ISRC and UPC. You can also upload your own catalog and match incoming deliveries against it.
What you can do
Screen incoming releases for third-party copyrighted material
Before a delivery goes out to stores, run it through recognition to see
whether it contains commercial music that isn’t the artist’s own. A delivered
file is arbitrary length and may contain more than one recording, so this is
a job for the enterprise endpoint (POST https://enterprise.audd.io/),
not the standard one. The enterprise endpoint chunks the file server-side and
returns one match per recognized segment, so you catch a sample buried at
2:30 as readily as a wholesale re-upload.
- When a “new” release is actually (or partly) someone else’s recording,
recognize_enterpriseover the full file returns every recognized track, each withartist,title,label, andtimecode(the position within the matched recording where the overlap occurred). - The enterprise endpoint bills per 12 seconds of audio processed, so a large
delivery queue can run up cost; set
limit=Nand useevery=Nto sample chunks when you only need a yes/no verdict rather than a complete tracklist. - A non-null
labelplus a presentisrc/upcdistinguishes a real commercial release from an ambiguous match — the signal to act on, rather than just “some audio matched.”
Match deliveries against your own catalog
If you already distribute a catalog, you want to catch duplicates and
re-uploads of material you handle. Upload your masters to a custom catalog
(POST api.audd.io/upload/, special access required — email [email protected]) and
recognition calls can match incoming audio against your tracks instead of,
or in addition to, the public database.
- When an artist re-delivers a track you already distribute under a new
title, custom-catalog matching returns an
audio_ididentifying the exact uploaded master that matched. - The
audio_idis also how you tell a catalog match from a public-database match: it appears only on custom-catalog matches, and on thoseartist/titlemay be null, since they come from what you uploaded. See the concept page below for how to disambiguate.
Capture ISRC and UPC for every recognized track
Identifiers are what make a recognition result actionable downstream — for rights checks, for matching against your metadata, for an audit trail.
- “Artist + title” isn’t enough to cross-reference a recording against a
licensing system; enterprise responses include
isrc(the recording’s International Standard Recording Code) andupc(the release’s Universal Product Code) on a Startup plan or higher. - If the identifiers come back null on every match, check the plan tier: ISRC/UPC are gated, and appear on Startup or above.
Where to start
Two recipes and two concept pages cover the distributor workflow end to end:
- Build a copyright scanner for user-uploaded content — the canonical screening flow: accept a file, send it to the enterprise endpoint, get back a verdict with labels, ISRC, and UPC per match. The same pattern applies whether the “user” is an artist delivering a release or a member of the public.
- Detect samples and reuse of your own tracks — upload your catalog, then identify when an incoming delivery reuses one of your recordings. This is the duplicate-and-re-upload check.
- Public database vs your custom catalog — when a match comes from the 160-million-song public database versus a private catalog you uploaded, and how to tell the two apart in a response.
- Enterprise cost optimization
—
limit,every, andskip_first_seconds, and how they keep a high-volume screening queue affordable.
Screen one delivery
A minimal screen against a delivered file. Always set limit while you’re
developing — the enterprise endpoint bills per 12 seconds of audio, and an
unbounded call on a long delivery can ingest far more than you expect.
from audd import AudD
audd = AudD("your-api-token") # token from dashboard.audd.io
# In production this is the delivered file's bytes or a URL;
# the example file confirms the happy path.
matches = audd.recognize_enterprise(
"https://audd.tech/example.mp3",
limit=25, # cap matches while developing
)
for m in matches:
print(f"{m.timecode} {m.artist} — {m.title}")
print(f" label={m.label} ISRC={m.isrc} UPC={m.upc}")
if not matches:
print("clean: no commercial recordings detected")
A delivery that contains a third-party recording prints one line per recognized segment, each with the label and identifiers you need to decide whether to hold it for review. A clean delivery returns an empty list — not an error.
{
"timecode": "00:31",
"artist": "Imagine Dragons",
"title": "Warriors",
"album": "Smoke + Mirrors (Deluxe)",
"label": "KIDinaKORNER/Interscope Records",
"isrc": "USUM71414163",
"upc": "00602547623805"
}
Set
limiton every enterprise call during development. The enterprise endpoint bills per 12 seconds of audio processed. A delivery queue without alimitcan quietly meter hours of audio. Start atlimit=25and raise it only once you understand the cost on your real deliveries.
A label/isrc/upc combination on a match is your “this is a commercial
release, hold it” signal. Wire the match list into whatever policy you run:
publish on no match, hold on a commercial-release match, queue ambiguous
cases for a human.
Related
Reading this as an AI agent? The raw Markdown is at for/music-distributors.md, and the full index is /resources/llms.txt.
