Launch Sale: Creator and Business plans are discounted for a limited time. View pricing

You build the product. We'll handle the audio.

One API for upload, transcoding, secure delivery, and playback. Drop in <audiodn-player> or call the REST API. Built on a global edge network.

Live demo

Drop-in HTML

Add audio playback to any page with a single tag.

<script src="https://components.audiodelivery.net/player.js"></script>

<audiodn-player
  api-key="CLIENT-SIDE-PLAYER-API-KEY"
  scope="collection"
  id="COLLECTION-ID"
  variants="hq,lq"
  size="large"
></audiodn-player>

What you get

Four primitives, one API

Each piece works independently. Use the components for a five-minute integration, or call the REST API for full control.

Upload API

Server-issued upload sessions with signed URLs. Direct-to-storage uploads, resumable, no proxying through your backend.

Read the docs

Variants & Transcoding

Configure the formats you need (HQ, LQ, previews, waveforms) once. Every upload is processed automatically.

Read the docs

Signed Delivery

Time-gated, scoped URLs from a global edge. Rotate keys, scope to a track or collection, set TTLs that match your access model.

Read the docs

Drop-in Components

A web component player and uploader you can drop into any page, plus headless APIs for fully custom UI.

Read the docs

Code-first proof

Working in three calls

Create an upload session, upload the file, mint a signed play session. The same three-call pattern from any language.

# 1. Create an upload session (server-side, with your API key)
curl -X POST "https://api.audiodelivery.net/v1/upload-session" \
  -H "Authorization: Bearer $ADN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "collection_id": "COLLECTION_ID" }'

# Response includes upload_url and session_id.

# 2. Upload the file directly to the signed URL
curl -X PUT "$UPLOAD_URL" --data-binary @track.wav

# 3. Mint a play session for a listener
curl -X POST "https://api.audiodelivery.net/v1/play-session" \
  -H "Authorization: Bearer $ADN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "track_id": "TRACK_ID", "ttl_seconds": 3600 }'

Full reference at /docs/api and /openapi.json.

Global delivery

Cloudflare edge, 300+ POPs

Audio is stored once and cached at the edge nearest each listener. No multi-region configuration, no cache rules, no egress fees on any plan.

Automatic edge caching

Audio is cached at the nearest edge to your listeners. No CDN configuration, no cache rules.

300+ edge locations

Served from data centers across six continents. Tokyo, Toronto, or Tallinn.

Unlimited plays included

Every plan includes unlimited playback with no per-play or bandwidth surcharges.

Built on Cloudflare

R2, Workers, edge cache

99.9% target uptime

View status

Encryption everywhere

TLS in transit, AES at rest

Signed URLs by default

Short TTLs, scoped tokens

Built for

Developers and platforms

Developers

Ship audio features in days, not months. Use the REST API directly or drop in our web components. Full OpenAPI spec, signed URLs, and a free tier to start.

Web integration guide

Platforms

SaaS, marketplaces, and media platforms running audio at scale. Server-provisioned upload and play sessions, scoped keys, webhook lifecycle events, and multi-tenant collections.

Hybrid integration guide

Not a developer?

Use the AudioDN dashboard to upload, manage, and embed audio without writing code.

For creators

FAQ

Start free

Sign up, mint your first key, and have a player live on your site in minutes.