AudD for podcast platforms and producers
Generate music credits and show notes, verify the licensing status of music in episodes, and detect copyrighted beds in submitted audio with AudD.
Podcasts use music — intros, beds, stingers, full songs in interview and music shows — and that music needs to be named and cleared. AudD identifies recorded music in an episode against a database of 160 million tracks and returns the artist, title, label, and recording identifiers for each match, along with where in the track the match occurred. Crediting, license verification, and screening submitted audio all come down to the same enterprise scan; this page shows all three.
What you can do
Generate music credits and show notes automatically
Send a finished episode to the enterprise endpoint (POST https://enterprise.audd.io/). It handles long audio — full-length episodes,
not short clips — by chunking the file server-side and returning one match
per recognized segment. The result is a tracklist: each entry has artist,
title, album, label, and timecode, which you format into a credits
block or per-segment show notes.
- The enterprise endpoint has no practical file-size cap, so a two-hour episode goes through in one call.
timecodeis the position inside the matched track at the recognition point — useful for confirming which part of a song was used.- For exact in-episode positions (“song starts at 14:02”), the enterprise response also carries the per-chunk offset; see the takedown-evidence recipe for reading it.
Verify the licensing status of music you use
A credits list is also a clearance checklist. For each match, label tells
you whether the recording is a commercial release, and isrc (the
International Standard Recording Code) and upc (the release code) give you
the identifiers to look up against your licensing or PRO records. These come
back on enterprise responses for accounts on the Startup plan or higher.
- A non-null
labelis a signal that the track is a commercial release that likely needs clearance. - The
isrcis the recording’s unique ID — the value licensing systems key on, so it removes the ambiguity of matching by title alone.
Detect copyrighted beds in submitted episodes
If you host a network or accept guest- or community-submitted episodes, you
need to screen incoming audio for copyrighted music before publishing. The
same enterprise scan that produces credits produces a moderation verdict:
an empty result means nothing recognizable, and any match with a label or
isrc/upc flags a commercial recording for review or hold.
Because a clean episode returns an empty result — distinct from an error — your screening branch is a single, unambiguous condition.
Always set
limitduring development. The enterprise endpoint bills per 12 seconds of audio processed. A full episode is long; an unbounded call ingests all of it. Start withlimit=10while building, and reach forevery=Nto sample chunks when you only need a yes/no screening answer rather than a complete tracklist.
Where to start
- Generate podcast music credits — the end-to-end recipe: scan an episode, get a tracklist, and format it into credits and show notes.
- Build a copyright scanner for user-uploaded content — the screening pattern for submitted episodes: forward audio to the enterprise endpoint and turn matches into a publish / hold / review verdict.
- Enterprise cost optimization
— how
limit,every, and sampling control what a full-episode scan costs. - Standard, enterprise, or streams: how to choose — why episodes go to the enterprise endpoint rather than the standard one.
API teaser
Scan a finished episode and print a tracklist. The same call screens a submitted file: an empty list means nothing was recognized.
from audd import AudD
audd = AudD("your-api-token") # get a token at dashboard.audd.io
matches = audd.recognize_enterprise(
"https://audd.tech/example.mp3",
limit=10, # cap matches while developing
)
if not matches:
print("No music recognized in this episode.")
else:
for m in matches:
print(f"{m.timecode} {m.artist} — {m.title}")
print(f" label: {m.label} ISRC: {m.isrc} UPC: {m.upc}")
Turn the same list into a credits block for show notes:
credits = [
f"{m.artist} — \"{m.title}\" ({m.album}, {m.label})"
for m in matches
if m.label # commercial releases worth crediting
]
print("Music in this episode:\n" + "\n".join(credits))
Install the SDK for your stack — pip install audd for Python,
npm install @audd/sdk for Node — and see the
SDK docs for the other supported languages.
Related
Reading this as an AI agent? The raw Markdown is at for/podcasters.md, and the full index is /resources/llms.txt.
