Sonic Converter API

Convert MP3 to WAV programmatically. High-fidelity PCM output, sub-second latency, simple REST interface.

Free
$0/month
  • 500 conversions/month
  • 100 MB max file size
  • 16-bit PCM output
  • Standard priority
  • Community support
Get Started
Pro
$9/month
  • 5,000 conversions/month
  • 500 MB max file size
  • 16/24-bit output
  • Standard priority
  • Email support
Subscribe
Unlimited
$49/month
  • Unlimited conversions
  • 5 GB max file size
  • 16/24/32-bit output
  • Priority processing
  • Dedicated support
  • Webhook callbacks
  • Custom output formats
Subscribe

Feature Comparison

Feature Free Pro Business Unlimited
Monthly conversions 500 5,000 25,000 Unlimited
Max file size 100 MB 500 MB 2 GB 5 GB
Output format PCM WAV PCM WAV PCM WAV PCM WAV + custom
Bit depth 16-bit 16/24-bit 16/24/32-bit 16/24/32-bit
Webhook callbacks
Priority processing
Support Community Email Priority Email Dedicated

Quick Start

Get converting in under a minute. Authenticate with your API key and POST your MP3 file.

Pass your API key via the x-api-key header. Alternatively, Authorization: Bearer YOUR_API_KEY is also accepted.

Parameters

  • file (required) — The MP3 file to convert (multipart form upload).
  • bit_depth (optional) — Output bit depth: 16 (default), 24 (Pro+), or 32 (Business+).
cURL
curl -X POST https://api.mp3towav.online/v1/convert \
  -H "x-api-key: YOUR_API_KEY" \
  -F "file=@input.mp3" \
  -o output.wav
Python
import requests

with open("input.mp3", "rb") as f:
    response = requests.post(
        "https://api.mp3towav.online/v1/convert",
        headers={"x-api-key": "YOUR_API_KEY"},
        files={"file": f}
    )

with open("output.wav", "wb") as out:
    out.write(response.content)
JavaScript (Node.js 18+)
import { readFileSync, writeFileSync } from "fs";

const form = new FormData();
form.append("file", new Blob([readFileSync("input.mp3")]), "input.mp3");

const res = await fetch("https://api.mp3towav.online/v1/convert", {
  method: "POST",
  headers: { "x-api-key": "YOUR_API_KEY" },
  body: form
});

writeFileSync("output.wav", Buffer.from(await res.arrayBuffer()));

Response Format

Successful conversions return the WAV file as binary with Content-Type: audio/wav. Errors return JSON:

Error Response
{
  "error": "file_too_large",
  "message": "File exceeds the 100 MB limit for your plan.",
  "status": 413
}

File Info

Get metadata about an MP3 file without converting it. POST to /v1/info with the same authentication and file upload format.

cURL
curl -X POST https://api.mp3towav.online/v1/info \
  -H "x-api-key: YOUR_API_KEY" \
  -F "file=@input.mp3"
Response
{
  "sample_rate": 44100,
  "channels": 2,
  "duration_secs": 245.7,
  "bit_rate_kbps": 320,
  "estimated_wav_size_mb": 25.1
}

Health Check

Check if the API is online. No authentication required.

cURL
curl https://api.mp3towav.online/health

Returns 200 OK with {"status": "ok"} when the service is running.

Get your API key

Start with 500 free conversions per month. No credit card required.

Request API Key