Everything you need to integrate, validate, and distribute compliant metadata through the compliance engine.
Onboard your catalog and run your first validation in under five minutes.
Register your organization to access the compliance dashboard. Each organization can have multiple team members with role-based access (admin, validator, viewer).
Drop audio files, CSV exports, DDEX messages (ERN 3.8.2 / 4.1.1), or JSON payloads. The parser auto-detects format and maps over 2,400 fields to our internal schema.
Choose which DSPs to validate against. Each store has its own rule set — ISRC format, genre taxonomy, artwork specs, title constraints, and more.
The engine returns a field-by-field validation matrix with pass, fail, and warning states. Drill into any rule to see the exact specification it references.
The ingestion layer accepts the following input formats:
Electronic Release Notification messages — ERN 3.4.2, 3.8.2, and 4.1.1. Full support for NewReleaseMessage, PurgeReleaseMessage, and ActionNotificationMessage.
Tabular metadata exports from distribution platforms. Column mapping is auto-detected from headers; manual override available for non-standard schemas.
RESTful API payloads in our schema or any third-party schema. Provide a mapping document and we normalize to canonical fields.
MP3, FLAC, WAV, M4A. Embedded ID3v2.4, Vorbis comments, and MP4 atoms are parsed for embedded metadata cross-validation.
Each store rule set is versioned and maintained alongside DSP API changelogs. Rule categories include:
ISRC (ISO 3901), UPC/EAN-13 with check digit verification, ISWC, ISNI. Collision detection across your catalog and against known registries.
Character encoding validation (UTF-8), prohibited special characters per store, max length enforcement, language code verification (ISO 639-1/639-2).
Genre mapping to each store's proprietary taxonomy. Spotify has 5,000+ micro-genres; Apple uses a flat hierarchy; Deezer uses a nested 3-level system.
Resolution minimums (3000×3000px for most stores), color space (RGB/sRGB), file format, file size, text overlay detection, and aspect ratio checks.
Copyright fields (P-line, C-line), contributor roles (Performer, Songwriter, Producer, Mixer), and display name formatting per store specification.
Programmatic access to the compliance engine. All endpoints return JSON.
Requests are authenticated via Bearer token. Obtain your API key from the dashboard under Settings → API Keys. Include it in the Authorization header: Bearer <your_key>.
Submit metadata for validation. Accepts a JSON payload or multipart form data for file uploads. Returns a validation job ID. Poll GET /v1/jobs/{id} for results, or subscribe to the webhook callback.
Retrieve validation results. Response includes per-field status, rule references, suggested fixes, and a compliance score (0–100).
Generate a certified metadata package. Specify output format (DDEX, JSON, CSV) and target store. Returns a signed download URL valid for 24 hours.
List all supported stores with their current rule set versions, last-updated timestamps, and field coverage counts.
Standard tier: 100 requests/minute. Enterprise tier: 1,000 requests/minute with dedicated infrastructure. Rate limit headers included in every response.
We implement and validate against the following DDEX message standards:
The core message for communicating release metadata. We support versions 3.4.2, 3.8.2, and 4.1.1, with automatic schema validation and cross-field consistency checks.
Supplementary metadata for mood, tempo, instrumentation, and lyrical themes. MEAD messages are validated against the DDEX MEAD 1.2 schema.
Each DSP publishes a profile (subset) of the full DDEX standard. We validate that your ERN message conforms to each target store's specific profile requirements.
For batch processing and CI/CD integration, use the Compliance SDK CLI.
npm install -g @metadata-style-guidelines/cli
msg validate --input release.json --stores spotify,apple,amazon --format json
msg export --input release.json --store spotify --format ddex --output ./certified/
The CLI exits with code 0 on full compliance, 1 on warnings, 2 on failures. Integrate into your build pipeline to block non-compliant releases before delivery.