Create a token
Choose permissions and an expiry below. Send the token in the Authorization header from your server.
For the things you’re building
Bring sheet music recognition into your app, workflow, or AI agent. One conversion engine. A REST API and an MCP server.
Free recognition previews · Shared subscription pages · No automatic overages
curl -X POST 'https://sheetmusicconverter.com/api/v1/conversions' \
-H "Authorization: Bearer $SMC_TOKEN" \
-H 'Accept: application/json' \
-F '[email protected]' \
-F 'format=musicxml'From a file to a finished result
Choose permissions and an expiry below. Send the token in the Authorization header from your server.
Upload a score. Save the returned ID, then poll its status every five seconds until complete or failed.
Review the output. Explicitly approve using subscription pages, or pay for the score on the website.
Fetch an unlocked format with the same token. Save your files before the result expires.
curl 'https://sheetmusicconverter.com/api/v1/conversions/CONVERSION_ID' \
-H "Authorization: Bearer $SMC_TOKEN" \
-H 'Accept: application/json'curl -X POST 'https://sheetmusicconverter.com/api/v1/conversions/CONVERSION_ID/unlock' \
-H "Authorization: Bearer $SMC_TOKEN" \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{"confirm":true}'Replace CONVERSION_ID with data.id from the upload response. Statuses are queued, processing, complete, or failed. Preparation, recognition, and export progress appears in stage. Uploads create new jobs: if a response is lost, check your workspace before retrying.
Small API. Useful building blocks.
Base URL: https://sheetmusicconverter.com/api/v1
/conversionsMultipart fields: file, format (musicxml, mxl, mid, mp3, pdf, zip), and optional mode (notation or scan). Returns 202 and data.id.
Required permission: scores:write
/conversions/{id}Returns data.status, stage, source_pages, formats, downloads_available, expires_at, and links. Poll every 5 seconds; stop at complete or failed.
Required permission: scores:read
/conversions/{id}/unlockSend {"confirm": true} after approving the source-page count. Spends available subscription credits; never creates a monetary charge. Repeating a successful unlock does not spend again.
Required permission: scores:unlock
/conversions/{id}/files/{format}Use a format returned by the status response. Include your bearer token on the download request. Locked downloads return 402. source, playback, original-1, and result-1 are also available for review.
Required permission: scores:read
/usageReturns the current plan, remaining_pages, active status, and period_end. The website and API share the same allowance.
Required permission: usage:read
401 Missing, invalid, expired, or revoked token.
402 Downloads locked or not enough subscription pages.
403 / 404 Permission missing, or score not found in your account.
409 / 410 Score not ready, or result has expired.
422 Invalid file, parameters, or changed checkout balance.
429 Rate limit or queue capacity reached. Back off before retrying.
Music tools for your agent
Connect a client that supports a remote HTTP MCP server with an Authorization bearer header. Use the same scoped token as the REST API. This is token authentication; OAuth-only clients and automatic “Connect account” flows are not supported.
The example uses a common MCP configuration shape. Your client may use different field names or store headers separately. Keep your token in its secure credential settings.
{
"mcpServers": {
"sheetmusic": {
"type": "http",
"url": "https://sheetmusicconverter.com/mcp/sheet-music",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}Check the current plan and remaining page allowance.
Submit a file as base64. Maximum decoded size: 2 MB. Use the REST API for larger files, then get-score with the returned ID.
Read progress, page count, expiry, and authenticated download links.
Use subscription pages only after the user approves the page count and confirm is true. No monetary charges are created.
Tools are built with Laravel MCP. Uploaded score content is data, not instructions. Your agent needs permission to upload the file and to spend page credits. Download links also require authentication.
Clear limits. Predictable costs.
API tokens are free. Website and API downloads use the same subscription page allowance. One unlock includes every available format for that score. Unused pages do not roll over.
Compare plansYour next integration starts here
Tokens are shown once, stored as hashes, and can be revoked at any time. Set an expiry of 7, 30, or 90 days. Keep credentials on your server, outside client-side code.
More questions?Sign in to create and manage API tokens. You can test recognition before choosing a plan.