Suggestion: API access for listener playback clients (Go+ subscribers) – Music Assistant / Home Assistant
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- javascript, openapi
- Área
- api
Línea de trabajo
Start by reviewing the public API OpenAPI spec and the related issues #77, #577, and #590, which cover rate limits, stream access, and registration without Artist Pro. Compare the requested listener playback capabilities with the endpoints and access rules described in the spec. Done means deciding whether and how to support listener client registration, feed and personalized playlist access, subscription based streaming, and per user rate limits.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Who I am
I'm a paying SoundCloud Go+ subscriber. I don't upload music – I listen. I use SoundCloud through Music Assistant (https://music-assistant.io), the open-source music server that integrates with Home Assistant and streams to multiroom speakers.
The problem
Music Assistant's SoundCloud provider can't use the public API, so it relies on the internal api-v2 used by the web player. Users have to copy their client_id and oauth_token cookie from the browser dev tools. This breaks regularly (401 errors whenever the token or web client_id changes) and recently again when progressive MP3 transcodings were removed. It's fragile for us and surely not what SoundCloud wants either.
Moving to the public API isn't possible today because:
- App registration requires Artist Pro. A listener-side playback client has no reason to need an artist subscription. Every user of an open-source project would have to register their own app (the project can't ship a client secret), so every user would need Artist Pro – on top of Go+.
- Endpoints a listener client needs are missing (as far as I can tell from the OpenAPI spec).
What a playback client like Music Assistant needs
| Use case | Status in public API (my understanding) |
|---|---|
| Current user profile, likes (tracks/playlists), followings, own playlists | available |
| Search, resolve, track/playlist/user details, batch track lookup | available |
| Related tracks, user's top/popular tracks | partly available |
| Stream / feed of followed artists | missing |
| Personalized playlists / mixes (e.g. "Daily Drops", "Weekly Wave", discovery selections) | missing |
| Full-length, high-quality streams based on the listener's Go+ entitlement (via the user's OAuth token, HLS AAC is fine) | unclear / restricted |
What I'm asking for
- A way to register non-commercial playback/listener clients without Artist Pro, or tie access to the authenticated user's own subscription (Go+) instead of the developer's.
- Feed and personalized playlist endpoints in the public API, read-only, scoped to the authenticated user.
- Streaming entitlement based on the user's token, so Go+ subscribers get the full-length, high-quality streams they pay for in third-party players – the same as in the official apps.
- Per-user rate limits for apps used by many individual users with their own tokens.
Related (closed): #77 (per-app rate limits, Mopidy/Snapcast), #577 (stream URL requiring Artist Pro), #590 (non-commercial route without Artist Pro).
This would let projects like Music Assistant, Mopidy and others drop browser-scraping workarounds and use the API the intended way – while bringing paying listeners' SoundCloud into their home audio setups.
Thanks for considering!
- Lenguaje dominante
- JavaScript
- Estrellas
- 262
- Forks
- 52
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de soundcloud/api
-
Dificultad 3/5 Medio día Aptitud para principiantes 52/100
soundcloud/api#610 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
soundcloud/api#607 · 5 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 44/100
soundcloud/api#606 · 6 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 15/100
soundcloud/api#600 · 4 comentarios ·
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
soundcloud/api#597 · 1 reacción ·
Todos los issues de soundcloud/api
Issues similares
-
clientV2: Application Info header separators show as missing-character boxes without a CJK fontAbiertobug new-client
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
NUWCDIVNPT/stig-manager#2285 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Fei2411/DeepSeek-Bot#922 · 1 reacción ·
-
server errored
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
OpenTermsArchive/contrib-declarations#4273 ·
Los mantenedores suelen responder en 1 día
-
needs-area-label
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 2 días
-
serienstream.toAbiertoN: AdGuard for Windows P2: High T: Annoyance
Dificultad 2/5 1-3 horas Aptitud para principiantes 61/100
AdguardTeam/AdguardFilters#246310 ·
Los mantenedores suelen responder en 1 día