Music Transcription API for Developers | GrooveSheet
The GrooveSheet API is in private development and not yet live — the endpoints below are a preview of what's coming. Want early access? Email support@groovesheet.net.
Private beta

GrooveSheet API

Transcribe audio to MIDI, MusicXML, and stems — programmatically. The engine behind the app, exposed as a simple async job API.

Self-serve keys are coming. Join the waitlist for early access.
api.groovesheet.netready
POST /v1/jobs
workflow: "drums" · exports: ["midi","musicxml"]
QueuedTranscribingCompleted

What you can do

Everything the app does, callable from your stack.

Separate stems

Split any track into isolated drums, bass, piano, and vocal stems.

Transcribe parts

Turn drums, piano, or bass into clean, quantized notation with tempo and time signature.

MIDI → score

Convert detected MIDI into engraved MusicXML and a print-ready PDF score.

Async jobs + webhooks

Fire a job, get a webhook the moment it's done. No long-polling required.

How it works

Three calls from audio to score.

01

POST a job

Send an audio URL and a workflow. The job is queued and returns a job_id instantly.

POST /v1/jobs
02

Poll or get a webhook

Check status when you like, or register a webhook and we'll call you on completion.

event: transcription.completed
03

Download assets

Pull MIDI, MusicXML, isolated stems, and the engraved PDF score from signed URLs.

GET /v1/jobs/{id}

Quickstart

One request to your first score.

Authenticate with a bearer token, point us at a track, and pick a workflow. Everything else is async.

Endpoints shown are illustrative placeholders.
request.sh
curl -X POST https://api.groovesheet.net/v1/jobs \
  -H "Authorization: Bearer $GROOVESHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "audio_url": "https://cdn.example.com/track.mp3",
    "workflow": "drums",
    "exports": ["midi", "musicxml"]
  }'
200 · response
{
  "job_id": "job_8f3c1a",
  "status": "queued",
  "workflow": "drums",
  "estimate_sec": 12
}

Pricing & limits

Metered in minutes — the same currency as the app.

Minutes

1 min = 1 credit

API jobs draw from the same monthly minute allowance as your account.

Rate limits

60 req / min

Beta default. Bursts above the limit queue automatically rather than failing.

Concurrency

5 parallel jobs

Higher queue tiers lift the cap and add priority processing on Pro plans.

See full pricing

Building with GrooveSheet?

We're onboarding teams in batches during the private beta. Tell us what you're building and we'll get you a key.