核心用法
Last.fm API Skill 提供对 Last.fm 音乐数据平台的完整只读访问,基于用户多年累积的 scrobble(播放记录)数据。通过简单的 GET 请求即可获取:
个人数据维度
- 实时状态:
user.getrecenttracks检测@attr.nowplaying字段识别当前播放 - 统计概览:
user.getinfo获取总播放次数、艺术家/曲目/专辑去重数量、注册时间 - 时段排行:
user.gettopartists/tracks/albums支持 7天/1月/3月/6月/12月/全时段筛选 - 收藏与周榜:loved tracks 和 weekly charts 补充时间维度分析
发现与探索
- 相似推荐:
artist.getsimilar和track.getsimilar基于 Last.fm 的协同过滤算法 - 全局趋势:
chart.gettopartists/tracks查看平台级热门 - 标签导航:
tag.gettopartists/albums按流派挖掘音乐
元数据查询
- 艺人/曲目/专辑详情页,含简介、标签、图片链接(small/medium/large/extralarge)
- 搜索接口支持模糊匹配
显著优点
1. 数据沉淀价值:支持 17 年以上的连续记录,示例中用户有 51 万+ scrobbles,形成独特的个人音乐 DNA
2. 零认证摩擦:只读接口仅需 API key,无需 OAuth 流程
3. 格式统一:所有接口返回一致 JSON 结构,配合 jq 可快速提取
4. 实时性:nowplaying 检测延迟通常在秒级
局限性与风险
| 问题 | 说明 |
|------|------|
| 写入限制 | 无法标记喜欢、添加标签或修改数据(需网页端操作) |
| 数据质量依赖 | scrobble 准确性取决于播放器插件配置,可能存在漏记或误记 |
| 封面图限制 | 图片 URL 有时失效或返回占位图 |
| 中文支持 | 部分艺人中文名匹配不稳定,建议用英文原名 |
| 速率限制模糊 | 官方未公布具体阈值,高频调用存在被封风险 |
适合人群
- 多年 Last.fm 用户希望量化分析自己的音乐品味演变
- 需要构建"正在听"状态展示或音乐推荐系统的开发者
- 研究者分析音乐流行趋势或用户行为数据
常规风险
- 隐私泄露:默认返回的用户名、播放时间戳可能暴露作息规律
- API key 泄露:key 泄露后他人可查询你的全部公开数据,建议限制环境变量访问权限
- 服务可用性:Last.fm 历史上有过数据丢失事件,关键数据建议本地备份