kellnerd / harmony

Music Metadata Aggregator and MusicBrainz Importer
MIT License
57 stars 7 forks source link

Yandex Music #12

Open wileyfoxyx opened 5 months ago

wileyfoxyx commented 5 months ago

(as suggested in #5)

Yandex Music is a Russian music streaming service developed by Yandex. Users select musical compositions, albums, collections of musical tracks to stream to their device on demand and receive personalized recommendations. The service is also available as web browser. Service is available in Armenia, Azerbaijan, Belarus, Georgia, Israel, Kazakhstan, Kyrgyzstan, Moldova, Russia, Tajikistan, Turkmenistan and Uzbekistan. Subscription can only be paid from supported countries above, but the service is then available in all other countries. (wiki)

Example of an album: https://music.yandex.ru/album/12353342 Open JSON API: https://api.music.yandex.net/albums/12353342/ (or https://api.music.yandex.net/albums/12353342/with-tracks for additional info on tracks from album, such as the distributor of release). VPN might be needed to open those (mirror for the "with-tracks" response: https://www.jsonkeeper.com/b/YKSE)

The API does not support neither GTAN nor ISRC. Also, the "label" section of response takes the info from the P-line of release and in most cases would remove words "Productions", "Music", "Publishing" and etc., as well as split one label onto multiple ones if there's a slash in its name (like here).

API supports showing whether it's an album, single, podcast or an audiobook (since they all have a link of https://music.yandex.ru/album/album_id).

There's also an unofficial implantation of an API at https://github.com/MarshalX/yandex-music-api/releases but token needed to use it

wileyfoxyx commented 5 months ago

Worth to mention that there are multiple domains for Yandex Music, including:

wileyfoxyx commented 5 months ago

More digs into the API: the artist's ID from the API response could be used for autolinking with the MB page (in case if there is a link to Yandex on artist's MB page).

Also the API could spoil what distributor been used for publishing the release (e.g. "SYMPHONIC", "BELIEVE", "SONY" and etc) in the "major" section from the "with-tracks" version.

And if there's a "Independent Release" being used as label, it could be automatically turned into [no label] label on MB.

wileyfoxyx commented 5 months ago

Asked service Lazy.AI to create some kind of Harmony-ish service to scrap data from Yandex, available here.

Some features that are missing:

If needed I can provide whatever files it generated.