Beatlyze Audio analysis API

Audio analysis API with instant access

Turn raw audio into usable product signals.

Create a key on this page, submit audio, get a job ID, and pull back BPM, key, energy, loudness, mood, and section data as structured JSON without building your own DSP stack.

No dashboard detour before your first request.

  • Paste a public audio URL and see the real JSON response with no signup
  • X-API-Key header with async jobs, not fake sync promises
  • Upload, URL ingestion, batch URLs, and webhook callbacks
  • OpenAPI, docs, reference, and llms.txt ship together
live flow signal-ready contract
01

Submit

POST /v1/analyze/upload or POST /v1/analyze/url

02

Queue

Receive job_id with status: "processing"

03

Retrieve

Poll result endpoint or accept a webhook callback

analysis response
{
  "job_id": "8b7a5c17-b1a1-42fd-aab8-51d0c4ff3d2a",
  "status": "completed",
  "result": {
    "bpm": 127.8,
    "bpm_confidence": 0.94,
    "key": "A",
    "scale": "minor",
    "key_notation": "Am",
    "key_confidence": 0.88,
    "energy": 0.86,
    "danceability": 0.91,
    "valence": 0.44,
    "loudness_lufs": -8.1,
    "mood_tags": ["energetic", "dark"],
    "genre_suggestions": ["techno", "house"],
    "duration_seconds": 247.3,
    "time_signature": 4
  }
}
Async-first lifecycle Designed around queues, retries, polling, and webhooks
Structured JSON Built for apps, tools, and pipelines

Why teams switch

Built to ship product, not babysit audio infrastructure.

01

Async by default

Job-based analysis matches how audio processing really behaves, which makes your integration and UX more predictable.

02

Developer-first surface

Clear auth, quickstart examples, structured JSON, and a machine-readable contract lower integration time.

03

Migration-friendly

Useful when you need structured music signals inside product workflows without standing up your own analysis stack.

Request flow

Designed around real integration work.

The examples below use the headers, routes, and async lifecycle your backend actually exposes today.

curl -X POST https://api.beatlyze.dev/v1/analyze/upload \
  -H "X-API-Key: bz_your_api_key" \
  -F "[email protected]"

# -> { "job_id": "...", "status": "processing" }

curl https://api.beatlyze.dev/v1/analysis/JOB_ID \
  -H "X-API-Key: bz_your_api_key"
import requests
import time

with open("track.mp3", "rb") as handle:
    job = requests.post(
        "https://api.beatlyze.dev/v1/analyze/upload",
        headers={"X-API-Key": "bz_your_api_key"},
        files={"file": handle},
    ).json()

while True:
    res = requests.get(
        f"https://api.beatlyze.dev/v1/analysis/{job['job_id']}",
        headers={"X-API-Key": "bz_your_api_key"},
    ).json()
    if res["status"] == "completed":
        break
    time.sleep(1)
import { readFile } from "node:fs/promises";

const form = new FormData();
const file = await readFile("track.mp3");
form.append("file", new Blob([file]), "track.mp3");

const job = await fetch(
  "https://api.beatlyze.dev/v1/analyze/upload",
  {
    method: "POST",
    headers: { "X-API-Key": "bz_your_api_key" },
    body: form,
  }
).then((r) => r.json());
Upload or URL Two submission paths, same result lifecycle
Polling + webhooks Good for dashboards, queues, and background workflows

Try the live API

Drop a public URL. See the JSON. Decide if it fits.

This demo calls the live anonymous endpoint at POST /v1/demo/analyze/url, then polls the real job until the result is ready. No signup. No dashboard. Public audio URL only.

  • Uses the same async job lifecycle as the paid API
  • Shows the real JSON payload, not a mocked screenshot
  • Best for quick proof before creating an API key
  • After the result lands, copy the request pattern and move into the full API flow

Move from proof to integration

Get your API key without leaving this page.

Enter an email. The form calls POST /v1/auth/register directly against the live API — no separate account portal or project setup. Your key is shown once. Copy it and make your first request immediately. If email verification is enabled, the inbox link activates protected routes.

  • No dashboard detour before your first request
  • The key is shown once. Store it before closing the tab.
  • If verification is enabled, the inbox link activates protected routes
  • Saves your chosen API base URL locally so it persists across visits

Feature surface

Signals you can actually wire into product behavior.

BPM + confidence

Tempo with confidence scoring for sorting, playlisting, and mix prep.

Key + scale

Readable notation like Am, scale detection, and per-result confidence score.

Energy + danceability

Normalized behavior signals that help downstream ranking and UX.

Valence + mood tags

Emotional descriptors for search, labeling, recommendation, and discovery.

LUFS loudness

Integrated loudness metering for normalization-aware workflows and mastering pipelines.

Genre suggestions

Top tags for rough categorization without requiring manual review first.

Section data

Structural timing with per-section loudness, energy, and key data.

Usage endpoint

Built-in visibility for monthly usage, plan limits, and remaining quota.

Use cases

Where Beatlyze creates leverage fastest.

Built for teams who need audio features in product workflows, but do not want to maintain their own analysis pipeline.

01

Catalog intelligence

Enrich tracks with tempo, key, loudness, and mood for search, filtering, and metadata pipelines.

02

DJ and creator tools

Power harmonic prep, energy sorting, and section-aware workflows without shipping your own DSP stack.

03

Recommendation systems

Use structured audio signals to improve ranking, clustering, playlist generation, and editorial tooling.

Plans

Start lean, then scale when usage becomes real.

These tiers line up with the limits already modeled in the backend: free, starter, and pro.

Free

€0 / month

  • 50 analyses included
  • Upload + URL analysis
  • Polling workflow
  • Best for testing
Get API key

Pro

€49 / month

  • 10,000 analyses included
  • Billing status endpoint for meter visibility
  • Higher-volume API usage
  • Built for production apps

Start building

Ship audio features without building the analysis stack yourself.

Read the docs, open the full reference, or create a key and start integrating right away.

Need help or custom volume planning? [email protected]