LoginDiscover, search, and recommend songs with AI-powered embeddings.
The Rippl3 API provides powerful tools for music discovery and recommendation using advanced audio embeddings. All endpoints are public with tiered rate limits. Authentication is optional but unlocks higher limits and premium features.
https://api.rippl3.net/v1/public/
Optional — required for higher rate limits and premium features.
Authorization: Bearer <your_api_key>
Permanent API key (recommended): Never expires — ideal for scripts and apps.
Short-lived JWT tokens also work but expire in ~15 minutes.
Logged-in users can generate and manage their permanent API key in the next section.
/recommendations/similar/{song_id}/Retrieve songs similar to the given song ID using cosine similarity on audio embeddings.
| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | No | Max songs to return (default: 10; max 10 for free/anon, max 1000 for premium) |
| min_similarity | float | No | Minimum similarity threshold (default: 0.0; only premium users can set > 0) |
{
"recommended_songs": [
{
"id": 123,
"title": "Song Title",
"artist": "Artist Name",
"cover_art": "https://...",
"permalink_url": "https://soundcloud.com/..."
}
]
}curl "https://api.rippl3.net/api/v1/public/recommendations/similar/123/"
curl -H "Authorization: Bearer <your_api_key>" \ "https://api.rippl3.net/api/v1/public/recommendations/similar/123/?limit=500&min_similarity=0.8"
/search/Full-text search across songs and public playlists.
| Parameter | Type | Required | Description |
|---|---|---|---|
| q | string | Yes | Search query |
| page | integer | No | Page number (default: 1, 20 results per page) |
curl "https://api.rippl3.net/api/v1/public/search/?q=drake"
curl -H "Authorization: Bearer <your_api_key>" \ "https://api.rippl3.net/api/v1/public/search/?q=drake"
/similarity-pair/Compute cosine similarity (0–1) between any two songs — by ID or search string.
| Parameter | Type | Required | Description |
|---|---|---|---|
| song1 | string | Yes | Song ID or search query |
| song2 | string | Yes | Song ID or search query |
curl "https://api.rippl3.net/api/v1/public/similarity-pair/?song1=123&song2=456"
curl "https://api.rippl3.net/api/v1/public/similarity-pair/?song1=Never+Gonna+Give+You+Up&song2=Careless+Whisper"
curl -H "Authorization: Bearer <your_api_key>" \ "https://api.rippl3.net/api/v1/public/similarity-pair/?song1=123&song2=456"
/rate-pair/Submit a human similarity rating (1–10) for any song pair. This data helps train and improve the recommendation model.
{
"song1_id": 123,
"song2_id": 456,
"rating": 8 // integer 1–10
}curl -X POST "https://api.rippl3.net/api/v1/public/rate-pair/" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <your_api_key>" \
-d '{"song1_id": 123, "song2_id": 456, "rating": 8}'Authentication optional (same rate limits apply). Higher-rated pairs influence future recommendations.