公开搜索 / 元数据用 Client Credentials 即可,无需用户授权
播放控制类 API 仅 Premium 用户能用
到 developer.spotify.com 注册一个 app,取 Client ID 和 Client Secret。公开数据用 Client Credentials Flow 拿 token;操作用户数据走 Authorization Code Flow。所有请求 Authorization: Bearer <token>。
可用率 · 30 天窗口
关于这个 API
Spotify Web API 把 Spotify 的目录、用户播放与音频特征数据通过 REST 暴露出来。一个特别有价值的能力是 audio features 端点:每首曲目都有 tempo、energy、valence、danceability、acousticness 等 0-1 分值,是开发音乐推荐算法的天然特征工程素材。
认证有两种 OAuth flow。Client Credentials Flow 适合查公开数据(搜索、元数据),实现最简单。Authorization Code Flow 需用户授权,能访问用户的播放列表、最近播放、播放控制等。Web Playback SDK 让浏览器直接播放 Spotify 音频,但要求用户是 Premium 会员且签了 Spotify 服务协议。
速率限制采用滑动窗口策略,超出后 429 + Retry-After。设计批量操作(如同步大量曲目数据)时需引入 backoff。某些数据(歌词、详细听众画像)不在公开 API 里——歌词通过 Musixmatch 等第三方授权获取。
你可以做什么
- 1为应用搭建"分享当前正在听"的功能
- 2基于用户听歌历史做个性化推荐
- 3管理与同步用户的播放列表
- 4查询专辑、艺术家与歌单的元数据
- 5为播客类应用接入 Spotify 节目数据
优劣对比
优点
- 公开搜索 / 元数据用 Client Credentials 即可,无需用户授权
- 音频特征(tempo, energy, valence)数据丰富,适合做推荐
- 官方 Web Playback SDK 可在浏览器播放(需 Premium)
注意事项
- 播放控制类 API 仅 Premium 用户能用
- 速率有滑动窗口限制,被限时会 429
- 部分元数据(如歌词)仅通过授权第三方提供,Web API 没有
示例请求
curl https://spotify.com/<endpoint> \
-H "Authorization: Bearer $ACCESS_TOKEN"快速开始
到 developer.spotify.com 注册一个 app,取 Client ID 和 Client Secret。公开数据用 Client Credentials Flow 拿 token;操作用户数据走 Authorization Code Flow。所有请求 Authorization: Bearer <token>。
常见问题
调用 API 收费吗?+
免费,但播放控制类端点要求 Premium 用户。
Client Credentials 和 Authorization Code 区别?+
Client Credentials 仅访问公开数据,最简单;Authorization Code 需用户授权,能访问其个人播放历史与列表。
能直接在浏览器播放音频吗?+
通过 Web Playback SDK 可以,但需要用户是 Spotify Premium 且接受相应协议。
能拿到歌词吗?+
Web API 不提供歌词,第三方授权服务(如 Musixmatch)提供。
技术细节
- 认证方式
- oauth
- 计费
- freemium
- 协议
- REST
- SDK
- javascript, python, java, ruby
- 响应时间
- 1006 ms
- 上次巡检
- 2026/5/12 07:38:28
接口端点
从 OpenAPI spec 自动解析。显示 12 / 88 个未弃用端点。
/albumsAlbumsGet Several Albums
/albums/{id}AlbumsGet Album
/albums/{id}/tracksAlbumsTracksGet Album Tracks
/artistsArtistsGet Several Artists
/artists/{id}ArtistsGet Artist
/artists/{id}/albumsArtistsAlbumsGet Artist's Albums
/artists/{id}/related-artistsArtistsGet Artist's Related Artists
/artists/{id}/top-tracksArtistsTracksGet Artist's Top Tracks
/audio-analysis/{id}TracksGet Track's Audio Analysis
/audio-featuresTracksGet Tracks' Audio Features
/audio-features/{id}TracksGet Track's Audio Features
/audiobooksAudiobooksGet Several Audiobooks
另有 76 个端点未显示,详见 OpenAPI spec。
