梳理 Apple 与 iTunes 生态中音乐相关的数据接口

梳理 Apple 与 iTunes 生态中音乐相关的数据接口

lookup 就属于 iTunes Search API 的一部分。

一、iTunes Search API(公开、无需密钥)

  • 基本文档:itunes.apple.com/search 与 /lookup
  • 特色:覆盖 App、音乐、影视、播客、有声书等;音乐可查曲目、专辑、艺人、MV。
  • 常用端点
  • 返回要点:trackViewUrl、collectionViewUrl、artistViewUrl、previewUrl、artworkUrl100、releaseDate、primaryGenreName 等
  • 优缺点:易用、覆盖广;但字段相对传统,生态偏“iTunes 时代”,与 Apple Music 新特性关联有限。

二、Apple Music API(音乐目录与个性化,需开发者密钥)

三、Apple Music Web Player/JS(前端播放与用户授权)

  • MusicKit JS(前端 SDK):https://js-cdn.music.apple.com/musickit/v3/musickit.js
  • 能力:前端调用 Apple Music API、获用户 token、嵌入播放(须用户 Apple Music 订阅)。
  • 场景:做 Web 播放器、个人资料、收藏操作等。数据仍走 Apple Music API,非独立“匿名接口”。

四、RSS Feeds(排行榜等公开聚合)

五、公开页面的 JSON 嵌入(不稳定、非正式)

  • 一些 music.apple.com 页面会懒加载 JSON,但属于前端私有接口,不保证稳定,不建议依赖。

如何选用

  • 仅需“像你示例那样”快速查基本信息、跳转链接、预览:继续用 iTunes Search/Lookup(免费、免密钥)。
  • 需要更严格的字段、ISRC/UPC、与 Apple Music 页面字段一致、Charts、相互关系、跨区域对照:用 Apple Music API。
  • 需要网页内播放、登录后用户库/歌单:用 MusicKit JS + Apple Music API(需开发者令牌 + 用户 token)。

示例对照

  • 用 Apple Music API 查同一曲目(假设 trackId=968861895,storefront=cn):
    • 先用 Search 找 ISRC 或 Apple Music 的 songs id(与 iTunes trackId 可能不同)
    • GET /v1/catalog/cn/songs/{apple-music-song-id}
  • 用 Charts 取中国区古典歌曲榜前 20:
    • GET /v1/catalog/cn/charts?types=songs&genre=5&limit=20
    • 注:genre 代码要先查 genres 资源或用搜索确认。

速查链接

如果你愿意,我可以:

  • 给你一份 curl 版 Apple Music API 的调用示例(含如何生成 JWT 的步骤)。
  • 写一个把 iTunes trackId 映射到 Apple Music songs id 的小脚本流程(先 lookup 拿 ISRC,再用 Apple Music search by isrc)。