A rules-based audit of every track in your catalog. It checks identifiers, credits, version tags, spam-risk patterns, AI disclosure and publishing registration fields against published DSP and industry guidance, and gives you a prioritized fix list.
Syntax, GS1 check digits, hyphenated or lowercase delivery, and missing codes.
One ISRC on different titles, one ISRC repeated across rows, and the same title across several releases.
Recordings without a linked work code, or with a malformed ISWC (T-nnn.nnn.nnn-c).
Contributor names merged into one field, featured artists missing from roles, and title credits that disagree with the roles.
“ft.”, “featuring” and “w/” variants, and artists joined in the primary artist field.
Remix, live, acoustic and edit descriptors after a dash instead of in parentheses.
Keyword stuffing, generic SEO artist names, promotional text, decorative punctuation, emoji and very short durations: the patterns DSP spam filters target.
No AI declaration (None, Partly or All in DDEX terms), or AI-tool keywords in a row declared None.
Missing ISWC, songwriter names, writer IPI and publisher or administrator, which publishing matching depends on.
Why these checks: Spotify's spam filter targets mass uploads, duplicates, SEO manipulation and artificially short tracks[1], and Spotify's metadata guidelines reject artist names built from SEO terms such as "Sleep Music"[2]. On the publishing side, The MLC matches recordings to registered works, and recording details such as ISRCs feed its automated matching[3]. Recordings that don't match go to its Matching Tool queue[4].
Clean the back catalog before redelivery, a distributor switch or a DSP pitch.
Find the recordings that can't be matched to your works, which is where mechanical royalties go unclaimed.
Due diligence on metadata quality before you price a catalog, with findings you can attach to the data room.
An inventory of what's registered, what's missing and what to fix first, in plain language.
Columns: artist, featured_artists, track_title, version, release_title, genre, explicit, isrc, upc, language, ai_use, duration. Optional: iswc, songwriters, writer_ipi, publisher. Max 5,000 rows / 2 MB. Files are processed in memory and never stored.
The summary below is the engine's actual output for our fictional 8-track sample catalog (download it). A full audit adds the complete row-level findings file, manual review of credits and work linkage, and a written remediation plan.
Health score
41
Grade D
Tracks
8
Releases
4
Tracks with errors
6 (75%)
Clean tracks
1
Duplicate ISRCs
0
Titles on >1 release
0
Missing ISRC / UPC
0 / 0
Registration gaps
6
| Issue | Severity | Tracks | Example | Fix |
|---|---|---|---|---|
| Deliver without hyphens/spaces/lowercase ISRC_FORMAT · source | error | 2 (25%) | row 2: US-RC1-26-00002 | USRC12600002 |
| Invalid UPC/EAN (length or check digit) UPC_FORMAT · source | error | 2 (25%) | row 3: 036000291453 | - |
| Version descriptor after dash VERSION_PARENS · source | error | 2 (25%) | row 5: Summer Rain - Acoustic Version | Summer Rain (Acoustic Version) |
| AI use not declared (expected None/Partly/All per DDEX ContainsAI) AI_DISCLOSURE_MISSING · source | warning | 2 (25%) | row 3: (empty) | - |
| All lowercase ALL_CAPS · source | warning | 2 (25%) | row 3: lofi beats to study relax sleep 2026 | Lofi Beats To Study Relax Sleep 2026 |
| Duplicate title in batch (rows 5, 6) DUPLICATE_TITLE · source | warning | 2 (25%) | row 5: Summer Rain - Acoustic Version | Differentiate with version tag or remove duplicate |
| Featuring text in title; deliver as FeaturedArtist role (DSPs append it) FEAT_IN_TITLE · source | warning | 2 (25%) | row 1: Midnight Drive (feat. Kai Lane) | Midnight Drive |
| 31s < 61s SHORT_DURATION · source | warning | 2 (25%) | row 3: 0:31 | - |
| Emoji present EMOJI · source | error | 1 (13%) | row 4: FIRE IN THE CLUB!!! 🔥🔥 | FIRE IN THE CLUB!!! |
| Explicit flag missing/unrecognised EXPLICIT_FLAG · source | error | 1 (13%) | row 3: (empty) | - |
Method: score = 100 − 60×(share of tracks with ≥1 error) − 25×(share with warnings only) − 15×(share with registration-field gaps). A transparent heuristic for prioritizing work, not an industry standard.
Starter
$495
one-time
Up to 250 tracks · 5 business days
Pro
$1,490
one-time
Up to 2,500 tracks · 10 business days
Enterprise / Due diligence
from $4,900
scoped quote
2,500+ tracks or an acquisition · 3–4 weeks
Recovery share
20%
of royalties recovered
Catalogs of 500+ tracks · $0 upfront
Add-on · Catalog Monitoring
$149 / month
Up to 2,500 tracks · after any audit · cancel anytime
Prices in USD, excluding applicable taxes. Society and registration fees, if any, are passed through at cost. Recovery share applies to back royalties received as a result of our work; no royalty outcome is guaranteed.