Đài radio internet đang phát gì, ngay lúc này.

Tuneping duy trì một chỉ mục trực tiếp của hàng chục nghìn đài radio internet và cung cấp nó dưới dạng JSON API, kèm lịch sử phát và cảnh báo danh sách mong muốn. Chúng tôi đọc dòng tiêu đề mà trình phát nào cũng hiển thị, và không bao giờ đọc âm thanh.

01 · Bạn nhận được gì

Sáu tính năng, một API

Tìm kiếm trực tiếp

không cần khóa

Hỏi “đài nào đang phát Blue Monday?” và nhận về danh sách đài, khớp gần đúng, không phân biệt dấu, kèm mức độ tin cậy cho từng kết quả.

GET /v1/now-playing/search

Đang phát trên các đài yêu thích

không cần khóa

Một yêu cầu cho một lô id đài trả về tiêu đề hiện tại, thời điểm tiêu đề được thấy lần đầu và lần xác nhận gần nhất.

GET /v1/now-playing?station_ids=…

Lịch sử phát

developer +

Những gì một đài đã phát, kèm thời điểm bắt đầu và kết thúc ước tính: 7 ngày với Developer, 12 tháng với Pro trở lên.

GET /v1/stations/{id}/history

Cảnh báo danh sách mong muốn

developer +

Nêu tên một bài hát hoặc nghệ sĩ và biết ngay khi một đài bắt đầu phát. Tự poll hoặc nhận qua luồng SSE; từ gói Pro trở lên, nhận qua webhook.

SSE · webhook

Bản nhạc và nghệ sĩ

không cần khóa

Tiêu đề được chuẩn hóa và, khi có thể, liên kết với mã định danh MusicBrainz để bạn đếm số lần phát theo bản nhạc hoặc nghệ sĩ.

trk_… · art_… · MusicBrainz ids

Danh bạ đài

không cần khóa

Hàng chục nghìn đài kèm quốc gia, codec và phương thức chúng tôi dùng để đọc tiêu đề của đài, có thể tìm kiếm và lọc.

GET /v1/stations

02 · Cách hoạt động

Chúng tôi đọc một dòng

Mỗi luồng phát đều mang một kênh phụ nhỏ chứa tiêu đề hiện tại, đúng dòng chữ mà trình phát của bạn hiển thị. Tuneping đọc dòng đó và không gì khác.

Danh bạ

Chúng tôi bắt đầu từ danh bạ Radio Browser công khai do cộng đồng duy trì và kiểm tra mỗi đài một lần để tìm nơi rẻ nhất mà đài công bố tiêu đề: endpoint trạng thái công khai của máy chủ streaming hoặc khối metadata trong luồng.

Poll, một cách lịch sự

Cứ 20 đến 60 giây, chúng tôi đọc từ vài trăm byte đến khoảng 16 KB cho mỗi đài, rồi đóng kết nối. Tối đa hai kết nối đồng thời tới mỗi máy chủ, tôn trọng robots.txt và Retry-After. Chi tiết cho nhà vận hành đài.

Chuẩn hóa

Tiêu đề được tách thành nghệ sĩ và bản nhạc, phân loại thành bài hát, nhận diện đài, chương trình hoặc quảng cáo, đối chiếu với MusicBrainz khi văn bản cho phép, và được gán thời điểm bắt đầu kèm độ không chắc chắn rõ ràng.

Phục vụ

Một JSON API đơn giản với ETag, header giới hạn tốc độ và cache tại edge, được mô tả trong tệp OpenAPI và tài liệu tham khảo API.

Chỉ metadata · mọi thứ chúng tôi giữ lại từ một lần poll

StreamTitle='Madonna - Holiday';

Phần âm thanh xung quanh bị loại bỏ ngay khi tới. Không ghi âm, không nghe thử, không nhận dạng âm thanh, không chuyển tiếp gì cả. Poller làm những gì.

03 · Giới hạn thật thà

Những gì nó không làm được

Độ phủ phụ thuộc vào các đài.

Nhiều đài không gửi tiêu đề, chỉ gửi tên đài hoặc khẩu hiệu. Chúng tôi đánh dấu những đài đó và không bịa ra dữ liệu; trang trạng thái cho biết bao nhiêu đài gửi metadata trực tiếp.

Thời điểm bắt đầu bài hát là ước tính.

Một thay đổi thấy được ở một lần poll đã xảy ra đâu đó trong khoảng thời gian trước đó. Mỗi lượt phát đều có start_uncertainty_seconds; sai số khoảng ±10 đến 30 s tùy phương thức.

Metadata không phải là nhận dạng âm thanh.

Phát hiện từ metadata của đài kém đầy đủ hơn nhận dạng âm thanh và không bao giờ là số lượt phát được chứng nhận. Khi dùng làm bằng chứng, hãy ghi “phát hiện từ metadata của đài”.

Đài xuất hiện rồi biến mất.

Luồng phát thay đổi địa chỉ, ngừng hoạt động và đổi chủ hằng ngày. Một đài có thể từ chối bất cứ lúc nào và sẽ rời khỏi API trong vòng 24 giờ.

Chỉ có văn bản.

Tên đài được trả về dưới dạng văn bản; logo và ảnh bìa không thuộc dịch vụ.

04 · Gói

Gói

Tự phục vụ, hủy bất cứ lúc nào. Thanh toán theo năm bằng mười lần giá tháng. Giá đã bao gồm VAT nếu áp dụng; Stripe tính phí bằng CHF, EUR, USD, GBP hoặc JPY. Business và thanh toán theo năm: [email protected].

Free

0 €

mãi mãi

  • 1.000 yêu cầu mỗi ngày
  • 2 req/s, burst 5
  • Tìm kiếm trực tiếp, now-playing theo lô (20 đài), danh bạ đài
  • Tra cứu bản nhạc và nghệ sĩ
  • 1 khóa API sau khi xác minh e-mail
  • Hiển thị “Data by Tuneping”
Nhận khóa miễn phí

Developer

29 € / tháng

hoặc 290 € / năm

  • 100.000 yêu cầu mỗi tháng
  • 10 req/s, burst 20
  • Now-playing theo lô tới 100 đài
  • 7 ngày lịch sử phát
  • 10 danh sách mong muốn, qua poll hoặc SSE
  • Hỗ trợ qua e-mail trong 2 ngày làm việc
  • Không bắt buộc ghi nguồn
Bắt đầu với Developer

Business

từ 349 € / tháng

hóa đơn theo năm, khối lượng tùy chỉnh

  • Khối lượng và tốc độ yêu cầu tùy chỉnh
  • 12 tháng lịch sử, kèm số liệu tổng hợp cho giai đoạn xa hơn
  • 20 endpoint webhook, cho phép firehose không lọc
  • 1.000 danh sách mong muốn, 20 kết nối SSE
  • Xuất CSV / JSONL
  • SLA 99,5 % hằng tháng cho thao tác đọc, có người liên hệ riêng
Liên hệ với chúng tôi

05 · Nhà vận hành

Bạn vận hành một đài?

Bạn có thể thấy TunepingBot/0.1 (+https://tuneping.com/bot) trong log của mình. Nó đọc endpoint trạng thái công khai của bạn hoặc khối metadata đầu tiên trong luồng của bạn cứ 20 đến 60 giây một lần, và không gì hơn. Địa chỉ của nó, cùng ba cách từ chối có hiệu lực trong vòng 24 giờ, đều nằm trên một trang. Câu hỏi: [email protected].

Dành cho nhà vận hành đài