音楽サービスを開発している傍らで実際に使用しているAPIや今後使用予定のAPIに関して情報をまとめておきたいと思いメモ
2017年07月現在の情報のため更新があれば追記していく予定です
Spotify
https://developer.spotify.com/web-api/
楽曲情報の取得やプレイリストの作成、再生コントロールのAPIなど一通りのREST APIが揃っている。
- Albums
- Artists
- Browse (Spotifyのブラウズタブに表示される情報が取得できる。ニューリリースアルバムやカテゴリ情報、関連プレイリストなど)
- Follow(ユーザーやアーティストのフォロー関連のAPI)
- Library(ユーザーの保存したトラック、アルバム情報の操作)
- Personalization(ユーザーの試聴傾向に関する情報を取得できる)
- Player(再生コントロールのAPI。TVやスピーカーなどのハードとも連携可能)
- Playlists
- Profiles
- Search
- Tracks
様々な言語のSDKがあり、開発も直ぐにできる印象。Javascript SDKに関してはクライアントサイドのみの提供のため、ユーザーのプライベート情報や非公開プレイリストの取得などに必要な関数が存在しないため注意が必要。また、iOS・Android SDKについてもベータ版のため予告なしの仕様変更もありうるとのこと。
Apple Music
https://developer.apple.com/musickit/
楽曲情報やプレイリストなどの取得を行うApple Music API, アクセストークンの取得を行うStoreKit、 楽曲の再生コントロールなどを行うMediaPlayerフレームワークの3つのツールで構成されている。
Apple Musci APIのみWebで使用可能。API自体はGETリクエストのみしか用意されていない(2017年7月現在)ため、Web側でプレイリストの作成や削除、ユーザー情報の操作などは不可。
こちらの記事が詳しいです:
http://qiita.com/hanawat/items/c59c3365156a474821cc
Google Play Music
非公式ではあるがAPIあり
https://unofficial-google-music-api.readthedocs.io/en/latest/
SoundCloud
https://developers.soundcloud.com/
Cross Domainを公式でサポートしているため、アプリをSoundCloudに登録してIDを取得すれば複雑な認証などもなく情報取得が可能。
Python、Ruby、Javascript SDKあり