Rippl3 API Documentation
Discover, search, and recommend songs with AI-powered embeddings.
Getting Started
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.
Base URL
https://api.rippl3.net/v1/public/Authentication
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.
Rate Limits & API Keys
Rate Limits
- Anonymous: 20 requests per hour(your current tier)
- Registered (Free): 1,000 requests per day
- Premium: Unlimited(upgrade)
Endpoints
Get Similar Songs
/recommendations/similar/{song_id}/Retrieve songs similar to the given song ID using cosine similarity on audio embeddings.
Query Parameters
| 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) |
Response
{
"recommended_songs": [
{
"id": 123,
"title": "Song Title",
"artist": "Artist Name",
"cover_art": "https://...",
"permalink_url": "https://soundcloud.com/..."
}
]
}Examples
Basic (no auth)
curl "https://api.rippl3.net/api/v1/public/recommendations/similar/123/"Authenticated (higher limits + premium filters)
curl -H "Authorization: Bearer <your_api_key>" \
"https://api.rippl3.net/api/v1/public/recommendations/similar/123/?limit=500&min_similarity=0.8"Search Songs & Playlists
/search/Full-text search across songs and public playlists.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| q | string | Yes | Search query |
| page | integer | No | Page number (default: 1, 20 results per page) |
Examples
Basic search
curl "https://api.rippl3.net/api/v1/public/search/?q=drake"Authenticated (higher rate limits)
curl -H "Authorization: Bearer <your_api_key>" \
"https://api.rippl3.net/api/v1/public/search/?q=drake"Pairwise Similarity
/similarity-pair/Compute cosine similarity (0–1) between any two songs — by ID or search string.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| song1 | string | Yes | Song ID or search query |
| song2 | string | Yes | Song ID or search query |
Examples
By ID
curl "https://api.rippl3.net/api/v1/public/similarity-pair/?song1=123&song2=456"By search string
curl "https://api.rippl3.net/api/v1/public/similarity-pair/?song1=Never+Gonna+Give+You+Up&song2=Careless+Whisper"Authenticated
curl -H "Authorization: Bearer <your_api_key>" \
"https://api.rippl3.net/api/v1/public/similarity-pair/?song1=123&song2=456"Submit Similarity Rating (Help Improve the Model)
/rate-pair/Submit a human similarity rating (1–10) for any song pair. This data helps train and improve the recommendation model.
Request Body (JSON)
{
"song1_id": 123,
"song2_id": 456,
"rating": 8 // integer 1–10
}Example
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.