网络电台此刻在播放什么。

Tuneping 维护着数万个网络电台的实时索引,并以 JSON API 提供,附带播放历史和心愿单提醒。我们读取每个播放器都会显示的那一行标题,从不读取音频。

01 · 你能得到什么

六项功能,一个 API

实时搜索

无需密钥

问一句“现在谁在放 Blue Monday?”,即可得到对应的电台;支持模糊匹配,不区分重音符号,每条匹配都带有置信度。

GET /v1/now-playing/search

收藏电台的正在播放

无需密钥

一次请求传入一批电台 id,即可返回当前标题、首次看到的时间和最后确认的时间。

GET /v1/now-playing?station_ids=…

播放历史

developer +

某个电台播放过什么,附带估算的开始和结束时间:Developer 保留 7 天,Pro 及以上保留 12 个月。

GET /v1/stations/{id}/history

心愿单提醒

developer +

指定一首歌或一位艺人,在某个电台开始播放的那一刻得到通知。可以轮询,也可以通过 SSE 接收流;Pro 及以上套餐还可以接收 Webhook。

SSE · webhook

曲目与艺人

无需密钥

标题会被规范化,并尽可能关联到 MusicBrainz 标识符,方便你按曲目或艺人统计播放次数。

trk_… · art_… · MusicBrainz ids

电台目录

无需密钥

数万个电台,附带国家、编码格式以及我们读取其标题所用的方式,可搜索、可筛选。

GET /v1/stations

02 · 工作原理

我们只读一行

每个流都带有一个小小的旁路通道,里面是当前标题,也就是你的播放器显示的那行文字。Tuneping 只读取这一行,别无其他。

目录

我们以公开的、由社区维护的 Radio Browser 目录为起点,对每个电台探测一次,找出其标题发布位置中成本最低的一个:流媒体服务器的公开状态端点,或流内元数据块。

礼貌地轮询

我们每 20 到 60 秒对每个电台读取几百字节到约 16 KB,然后关闭连接。每个服务器同一时间最多两个连接,遵守 robots.txt 和 Retry-After。面向运营者的详细说明。

规范化

标题被拆分为艺人和曲目,归类为歌曲、台呼、节目或广告,在文本允许时与 MusicBrainz 匹配,并给出带有明确不确定度的开始时间。

提供服务

一个朴素的 JSON API,支持 ETag、速率限制响应头和边缘缓存,由一份 OpenAPI 文件和 API 参考描述。

只有元数据 · 一次轮询中我们保留的全部内容

StreamTitle='Madonna - Holiday';

周围的音频随到随弃。不录制,不试听,不做音频指纹,不转发任何内容。轮询器做了什么。

03 · 坦诚的局限

它做不到的事

覆盖范围取决于电台。

许多电台不发送标题,只发送自己的名称或口号。我们会标记这些电台,不会编造数据;状态页显示有多少电台提供实时元数据。

歌曲开始时间是估算值。

在某次轮询时看到的变化,发生在上一个间隔内的某个时刻。每条播放记录都带有 start_uncertainty_seconds;视读取方式不同,误差约为 ±10 到 30 s。

元数据不是音频指纹。

基于电台元数据的识别不如音频识别完整,也绝不是经过认证的播放次数。用作证据时,请注明“基于电台元数据识别”。

电台来来去去。

流每天都在迁移、消失和易主。电台可以随时退出,并会在 24 小时内从 API 中移除。

只有文本。

电台名称以文本形式返回;台标和封面图不属于本服务的范围。

04 · 套餐

套餐

自助开通,随时取消。年付价格为月付的十倍。价格已含适用的增值税;Stripe 以 CHF、EUR、USD、GBP 或 JPY 计费。Business 套餐和年付:请联系 [email protected]。

Free

€0

永久免费

  • 每天 1,000 次请求
  • 2 req/s,突发 5
  • 实时搜索、批量正在播放(20 个电台)、电台目录
  • 曲目和艺人查询
  • 电子邮件验证后获得 1 个 API 密钥
  • 显示“Data by Tuneping”
获取免费密钥

Developer

€29 / 月

或 €290 / 年

  • 每月 100,000 次请求
  • 10 req/s,突发 20
  • 批量正在播放,最多 100 个电台
  • 7 天播放历史
  • 10 个心愿单,可轮询或通过 SSE 接收
  • 电子邮件支持,2 个工作日内回复
  • 无需署名
开通 Developer

Business

€349 起 / 月

按年开票,定制用量

  • 定制请求量和速率
  • 12 个月播放历史,更早的数据提供汇总
  • 20 个 Webhook 端点,允许不加筛选的全量推送
  • 1,000 个心愿单,20 个 SSE 连接
  • CSV / JSONL 导出
  • 读取接口 99.5 % 月度 SLA,专属联系人
联系我们

05 · 运营者

你在运营电台?

你可能会在日志里看到 TunepingBot/0.1 (+https://tuneping.com/bot)。它每 20 到 60 秒读取一次你的公开状态端点或你的流的第一个元数据块,仅此而已。它的地址,以及三种在 24 小时内生效的退出方式,都在同一个页面上。有问题请联系:[email protected]。

面向电台运营者