- Docs
- Get started
Quickstart: MusicAPI Managed Transfers
You open your own hosted transfer flow, move a few playlists into Demoify, and get the result as a webhook. You write no code until the last step.
- Sign up as transferring
Sign up at app.musicapi.com/admin/signup and pick transferring libraries into your service. This turns Managed Transfers on, gives you ready-made source integrations, and sets the destination to Demoify.
- Open your transfer URL
Open
https://app.musicapi.com/{slug}/transferin a browser. Your slug is{slug}. - Run a transfer
Pick a source service, sign in to it, pick a few playlists and confirm. Demoify, the destination, needs no sign-in.
- Watch the result
The progress page is live. The results page shows the match rate and every item that did not match.
- Get the webhook
Add a webhook endpoint and run a second transfer. Your backend gets
transfer.completedandmatch.report_ready.
Your transfer URL
https://app.musicapi.com/{slug}/transfer
Link your users to it from your app: a button, an email, a web view. With a custom domain the same page answers on your own host.
What Demoify is
Demoify is a pretend music service. It needs no account, keeps what the transfer writes, and lets you open the result like a real library. Use it to see the whole flow before your own service is connected. Read more in Demoify.
Add a webhook
Open API & webhooks in the dashboard, add your endpoint URL, tick the events and copy the signing secret. The secret shows once. Then press Send test event: your endpoint gets a signed transfer.completed with "test": true.
{
"event": "transfer.completed",
"createdAt": "2026-10-16T10:15:42.101Z",
"data": {
"transferUuid": "6a002d4b-f95b-471f-a27d-609a42e10cdb",
"status": "completedWithErrors",
"totalItems": 1204,
"matchedItems": 1131,
"unmatchedItems": 31,
"resultsUrl": "https://api.musicapi.com/public/transfers/6a002d4b-f95b-471f-a27d-609a42e10cdb/unmatched"
}
}
Verify the signature before you trust a delivery: Set up and verify webhooks.
Go to your own destination
- Set up the integration of your own service under Integrations, with your developer app: see the service setup pages.
- Open Transfer Branding and pick it as the Transfer destination.
- Brand the pages: logo, colours, fonts, custom domain. See Turn it on and brand it.
Your users already signed in to your service in your app? Skip the destination sign-in with a pre-authorized session.
Next steps
- How Managed Transfers works: the wizard, sessions and limits.
- Transfer results and unmatched items.
- Billing: how a transfer is metered.