
One API to store, organize, and embed audio
Upload tracks, podcasts, and voice-overs, organize them into collections, search across content, and generate ready-to-paste players — on the same API audio.com itself runs on.
No API keys to manage — sign in with your audio.com account, register a client, get an OAuth token. ~3 min to first request.
upload.js
const res = await fetch ('https://api.audio.com/v1/audio/create', {method: 'POST',headers: {'Content-Type': 'application/json',Authorization: 'Bearer YOUR_SECRET_TOKEN'},body: JSON .stringify({category: 'music',mime: 'audio/wav',size: 100000})});const { url, audio } = await res.json();
OAuth 2.1
+ PKCE
OpenAPI 3.0
built in
MCP
built in
integrated
Everything the audio.com platform runs on
A small, stable, versioned surface — every operation acts on resources owned by the authenticated user.
Upload & manage audio
Files up to 1 GiB in WAV, MP3, FLAC, WavPack, AIFF, OGG, and M4A.
Collections
Albums, playlists, EPs, audiobooks — create, reorder, and manage cover art.
HTML embeds
Ready-to-paste player for any site. Light, dark, or fully custom theme, four layouts.
Full-text search
Across all published content on audio.com — tracks, authors, and collections.
Rights & visibility
Licenses (ARR, Creative Commons), listed / unlisted status, download permissions.
MCP server
Plays, downloads, and engagement — the numbers platforms and labels actually need.
Every embed option, one call
A real collection — Covers, Remixes & Mashups by audio.com — rendered with every parameter the endpoint accepts. Flip the controls and watch the request change.
Theme
Light
Dark
Custom
Colors
Width
Minimum 320px
Flex
Square 250x250
Mini Player
Customize
Audio cover image
Footer with tags and actions
Author name
audio.com watermark
GET /v1/embed/create
const params = new URLSearchParams({source: 'collection:1758068274552437',theme: 'light',layout: 'flex',cover: 'true',footer: 'true',author: 'true',watermark: 'true',});const res = await fetch (`https://api.audio.com/v1/embed/create?${params}`,{ headers: { Authorization: 'Bearer YOUR_SECRET_TOKEN' } },);const { html } = await res.json();

How it works
From zero to a working player in four calls
- 1
Connect
Register a client (or use dynamic registration) and complete the OAuth 2.1 Authorization Code flow with PKCE. Tokens carry the public scope.
- 2
Upload
Call /v1/audio/create, receive a presigned upload policy, PUT the file, report success via the hook URL.
- 3
Organize
Update metadata with PATCH, group tracks into collections, manage ordering with item endpoints.
- 4
Publish
Get a stream URL and waveform, or generate an HTML embed via /v1/embed/create to drop into your site.
Agent-ready out of the box
The full API surface, exposed as MCP tools. Same OAuth flow, same permissions — an agent can do exactly what its user could, and nothing more. Point Claude or Cursor at it and start talking to your audio library.
api.audio.com/mcp
$ claude mcp add audio-com \https://api.audio.com/mcp✓ Connected — 19 tools available✓ OAuth 2.1: sign in with your audio.com account
Boring where it matters
Latency and polish that hold up whether you're serving ten listeners or ten million.
OAuth 2.1 + PKCE
Tokens are confined to the public scope and only work with this API.
Upload verification
File size and format are checked against what was declared — or the upload is discarded.
Clear errors
JSON responses with status, name, and message — including field-level validation.
Rate limits, documented
Limits and 429 behavior are specified per endpoint in the reference — no guessing, no surprises.
No hidden data
Transparent visibility model: listed or unlisted. No private-by-default surprises.
Versioned & stable
The API is versioned; breaking changes come with a published changelog and advance deprecation notice.
Who it’s for
Built for shipping audio
- Podcast platforms & media companies
- Music services & labels
- Voice-over & dictation tools
- AI agents & MCP integrations
- Blogs & websites embedding players

Docs you can actually run
Test in the browser
Interactive reference — authorize once, fire real requests from the docs page.
Five languages
Ready-made examples in Shell, Node.js, Python, Ruby, and PHP for every endpoint.
OpenAPI 3.0 spec
Download it, generate a typed client in your stack, or feed it to your agent.
curl https://api.audio.com/v1/audio/create \--request POST \--header 'Content-Type: application/json' \--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \--data '{"category": "music","mime": "audio/wav","size": 100000}'
FAQ
Yes. Register a client, complete the OAuth 2.1 flow, and ship. Every request acts on behalf of the signed-in audio.com account, so the usage limits of that account’s plan apply.
You do. Uploading through the API changes nothing about ownership — you pick the license (ARR or Creative Commons), the listed / unlisted status, and whether downloads are allowed.
There is no separate sandbox environment. Upload to your own account with unlisted visibility while you build — those tracks are reachable only by direct link and can be deleted at any time.
You get a 429 with a JSON body describing the limit that was hit. Per-endpoint limits and the retry behavior are documented in the API reference, so you can back off deterministically.
No. The API is versioned — everything under /v1/ stays stable. Breaking changes ship under a new version with a published changelog and advance deprecation notice.

Ready to add audio to your product?
Register a client, get a token, make your first call — the whole loop takes minutes, not days.
Need help or have questions?
Visit our Customer Support Portal
