核心用法
Last.fm API Skill 提供对个人音乐收听数据的完整访问能力。用户配置 LASTFM_API_KEY 和 LASTFM_USER 后,可通过标准HTTP GET请求获取近20年累积的scrobble记录。核心功能覆盖三大维度:
个人数据统计:user.getinfo 获取累计播放数、独特艺人/曲目/专辑数量;user.getrecenttracks 实时查看正在播放内容;user.gettopartists/tracks/albums 支持6种时间周期(7天至终身)的排行查询。
音乐发现:artist.getsimilar 和 track.getsimilar 基于协同过滤推荐相似内容;tag.gettopartists/albums 按流派标签探索;chart.gettopartists/tracks 查看全球热门趋势。
元数据查询:artist/track/album.getinfo 获取艺人简介、专辑曲目、歌曲时长、听众数、标签等丰富元数据,附加 username 参数还可显示个人对该对象的播放次数。
显著优点
- 零OAuth摩擦:纯只读端点仅需API密钥,5分钟完成配置
- 数据深度领先:作为运营20年的音乐数据平台,累积scrobble数据具有时间跨度优势,适合长期音乐习惯分析
- 响应结构统一:所有端点返回一致的JSON格式,配合jq可快速提取所需字段
- 实时性:
nowplaying属性可实现"正在收听"状态展示
局限性与缺点
- 数据准确性依赖用户行为:scrobble需通过客户端主动提交,非所有播放场景(如车载、智能音箱)都能完整捕获
- 无音频流媒体:仅提供元数据与统计,不直接提供音乐播放
- API功能收缩:相比历史版本,部分社交功能(如好友关系、群组)已被移除
- 图片URL稳定性:艺人图片依赖第三方CDN,存在失效或变更可能
适合人群
长期Last.fm用户、数据驱动的音乐爱好者、需要为播放列表应用提供历史数据源的开发者、进行音乐品味可视化的设计师与研究者。
常规风险
- API密钥泄露:密钥以明文查询参数传输,在共享终端历史或日志中可能残留
- 隐私暴露:用户数据默认公开,可通过
user.getrecenttracks获取精确到分钟级的收听时间线 - 速率限制模糊:官方未明确文档化限制阈值,高频调用存在临时封禁风险
- 服务持续性:Last.fm多次经历所有权变更与功能缩减,长期API稳定性需关注官方公告