This feature is useful for music-related services, playlist curators, wedding playlist builders, DJ tools, event platforms, radio shows, music blogs, record stores, labels, or any business that displays or generates track lists.
By sending a simple JSON tracklist to Soundiiz, you receive a temporary import link. You can then display this link on your website or app, allowing your users to open the tracklist in Soundiiz, review the songs, and either transfer them directly to a preset destination or choose their preferred music service.
For example, if your service generates a wedding playlist, a DJ setlist, a radio chart, or a curated music selection, you can add a “Transfer with Soundiiz” or “Import to my music service” button next to it.
How it works
Your system sends a POST request to Soundiiz with the playlist title, optional source information, an optional destination, and the list of tracks.
Soundiiz returns a temporary shareUrl.
You can then redirect the user to this URL, open it in a new tab, or attach it to a button on your website.
The user will be able to:
Common use cases
This feature can be used by many types of services, including:
You do not need to build integrations with every music streaming service yourself. Soundiiz handles the music platform connection and transfer flow.
ChatGPT Store Example:
You can check out our OpenAI ChatGPT Store integration directly:
Endpoint
POST https://soundiiz.com/go/import-playlist
Content-Type: application/json
JSON payload
The request body must be a valid JSON object.
{
"title": "Wedding Party Playlist",
"sourceName": "My Wedding Playlist Builder",
"sourceLogo": "https://example.com/logo.png",
"description": "A playlist generated for Sarah & James wedding party.",
"destination": "spotify",
"tracklist": [
{
"title": "Get Lucky",
"artists": ["Daft Punk", "Pharrell Williams"]
},
{
"title": "One More Time",
"artists": ["Daft Punk"]
},
{
"title": "September",
"artists": ["Earth, Wind & Fire"]
}
]
}
Required fields
Each track must include a title.
Optional fields
When destination matches an eligible platform that can receive playlists, Soundiiz skips the destination selection step. If the field is omitted or cannot be matched, the standard destination selection flow remains available.
artists can be provided either as an array of artist names or as a single string.
Example with multiple artists:
{
"title": "Get Lucky",
"artists": ["Daft Punk", "Pharrell Williams"]
}
Example with one artist as a string:
{
"title": "Billie Jean",
"artists": "Michael Jackson"
}
Successful response
If the import is accepted, Soundiiz returns a temporary URL that can be shared with the user.
{
"status": "success",
"nbTracks": 3,
"shareUrl": "https://soundiiz.com/go/import-playlist/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"expiresAt": 1782220923
}
Example button flow
A common implementation is:
- Your user views a tracklist on your website.
- They click a button such as “Transfer with Soundiiz”.
- Your backend sends the tracklist to Soundiiz using the POST endpoint.
- Soundiiz returns a
shareUrl. - Your website redirects the user to this URL.
For example, your interface can send "destination": "spotify" from a “Spotify” button and omit the field from an “Other” button, allowing the user to choose a platform in Soundiiz.
Example button labels:
cURL example
curl -X POST "https://soundiiz.com/go/import-playlist" \
-H "Content-Type: application/json" \
-d '{
"title": "Wedding Party Playlist",
"sourceName": "My Wedding Playlist Builder",
"sourceLogo": "https://example.com/logo.png",
"description": "A playlist generated for Sarah & James wedding party.",
"destination": "spotify",
"tracklist": [
{
"title": "Get Lucky",
"artists": ["Daft Punk", "Pharrell Williams"]
},
{
"title": "One More Time",
"artists": ["Daft Punk"]
},
{
"title": "September",
"artists": ["Earth, Wind & Fire"]
}
]
}'
Error responses
If the request is invalid, Soundiiz returns an error response.
{
"status": "error",
"message": "Invalid JSON body."
}
Other possible validation errors include:
{
"status": "error",
"message": "Missing playlist 'title' field."
}
{
"status": "error",
"message": "Missing or empty 'tracklist'."
}
{
"status": "error",
"message": "Missing track title at index 1."
}
{
"status": "error",
"message": "Invalid tracklist. Your tracklist must include at least 1 track and up to 200 tracks."
}
Important notes
The import link is temporary and should be used shortly after being generated.
The tracklist must contain at least 1 track and up to 200 tracks.
Soundiiz uses the provided track titles and artists to help users match and transfer the songs to their selected destination platform.
This endpoint does not directly create a playlist in a user account. It creates a temporary Soundiiz import page where the user can review the tracklist and either transfer it directly to a preset destination or choose where to transfer it.