---
title: "AudD for podcast platforms and producers"
description: "Generate music credits and show notes, verify the licensing status of music in episodes, and detect copyrighted beds in submitted audio with AudD."
slug: "/resources/for/podcasters"
section: "for"
keywords: [audd, podcast, music credits, show notes, copyright detection, licensing]
---

# AudD for podcast platforms and producers

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.
- `timecode` is 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 `label` is a signal that the track is a commercial release that
  likely needs clearance.
- The `isrc` is 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 `limit` during development.** The enterprise endpoint bills
> per 12 seconds of audio processed. A full episode is long; an unbounded
> call ingests all of it. Start with `limit=10` while building, and reach for
> `every=N` to sample chunks when you only need a yes/no screening answer
> rather than a complete tracklist.

## Where to start

- **[Generate podcast music credits](/resources/recipes/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](/resources/recipes/ugc-copyright-scanner)**
  — the screening pattern for submitted episodes: forward audio to the
  enterprise endpoint and turn matches into a publish / hold / review verdict.
- **[Enterprise cost optimization](/resources/concepts/enterprise-cost-control)**
  — how `limit`, `every`, and sampling control what a full-episode scan costs.
- **[Standard, enterprise, or streams: how to choose](/resources/concepts/standard-vs-enterprise-vs-streams)**
  — 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.

```python
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:

```python
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](https://docs.audd.io/sdks) for the other supported languages.

---

**Related**

- [Generate podcast music credits](/resources/recipes/podcast-music-credits)
- [Build a copyright scanner for user-uploaded content](/resources/recipes/ugc-copyright-scanner)
- [Generate DMCA takedown evidence](/resources/recipes/dmca-takedown-evidence)
- [Enterprise cost optimization](/resources/concepts/enterprise-cost-control)
- [SDK docs](https://docs.audd.io/sdks)
- [API reference](https://docs.audd.io)