지금 인터넷 라디오에서 재생 중인 곡.

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 이상에서는 웹훅으로도 받을 수 있습니다.

SSE · webhook

트랙과 아티스트

키 불필요

제목은 정규화되고, 가능한 경우 MusicBrainz 식별자에 연결되므로 트랙이나 아티스트별 재생 횟수를 셀 수 있습니다.

trk_… · art_… · MusicBrainz ids

방송국 디렉터리

키 불필요

수만 개 방송국을 국가, 코덱, 제목을 읽는 방식과 함께 제공하며, 검색과 필터링이 가능합니다.

GET /v1/stations

02 · 작동 방식

한 줄만 읽습니다

모든 스트림에는 현재 제목, 즉 플레이어에 표시되는 텍스트를 담은 작은 부가 채널이 있습니다. Tuneping은 그것만 읽고 다른 것은 읽지 않습니다.

디렉터리

커뮤니티가 관리하는 공개 Radio Browser 디렉터리에서 시작해, 각 방송국을 한 번 조사하여 제목이 게시되는 가장 저렴한 위치를 찾습니다. 스트리밍 서버의 공개 상태 엔드포인트 또는 스트림 내 메타데이터 블록입니다.

정중하게 폴링

20~60초마다 방송국당 수백 바이트에서 약 16 KB까지 읽은 뒤 연결을 닫습니다. 서버당 동시 연결은 최대 두 개이며, robots.txt와 Retry-After를 준수합니다. 운영자를 위한 자세한 내용.

정규화

제목은 아티스트와 트랙으로 나뉘고, 곡·스테이션 ID·프로그램·광고로 분류되며, 텍스트가 허용하는 경우 MusicBrainz와 매칭되고, 명시적인 불확실성과 함께 시작 시각이 부여됩니다.

제공

ETag, 속도 제한 헤더, 엣지 캐싱을 갖춘 단순한 JSON API로, OpenAPI 파일과 API 레퍼런스에 설명되어 있습니다.

메타데이터만 · 한 번의 폴링에서 보관하는 전부

StreamTitle='Madonna - Holiday';

주변의 오디오는 도착하는 즉시 폐기됩니다. 녹음, 미리 듣기, 핑거프린팅, 중계 모두 하지 않습니다. 폴러가 하는 일.

03 · 솔직한 한계

할 수 없는 것

커버리지는 방송국에 달려 있습니다.

많은 방송국이 제목을 보내지 않거나, 자기 이름이나 슬로건만 보냅니다. 이런 방송국은 표시해 두며 데이터를 지어내지 않습니다. 실시간 메타데이터를 보내는 방송국 수는 상태 페이지에서 확인할 수 있습니다.

곡 시작 시각은 추정치입니다.

폴링에서 확인된 변경은 직전 간격 중 어딘가에서 일어난 것입니다. 모든 재생 기록에는 start_uncertainty_seconds가 붙으며, 방식에 따라 ±10~30초를 예상하세요.

메타데이터는 핑거프린팅이 아닙니다.

방송국 메타데이터를 이용한 감지는 오디오 인식보다 불완전하며, 인증된 재생 횟수가 아닙니다. 근거로 제시할 때는 “방송국 메타데이터에서 감지됨”이라고 밝히세요.

방송국은 생기고 사라집니다.

스트림은 매일 옮겨 가고, 끊기고, 주인이 바뀝니다. 방송국은 언제든지 옵트아웃할 수 있으며, 24시간 이내에 API에서 제외됩니다.

텍스트만 제공합니다.

방송국 이름은 텍스트로 반환되며, 로고와 아트워크는 서비스에 포함되지 않습니다.

04 · 플랜

플랜

직접 가입하고 언제든지 해지할 수 있습니다. 연간 요금은 월 요금의 10배입니다. 해당되는 경우 부가가치세가 포함된 가격이며, Stripe는 CHF, EUR, USD, GBP 또는 JPY로 청구합니다. Business 플랜과 연간 결제는 [email protected]으로 문의하세요.

Free

€0

영구 무료

  • 하루 1,000건 요청
  • 2 req/s, 버스트 5
  • 실시간 검색, 일괄 지금 재생 중 조회(방송국 20개), 방송국 디렉터리
  • 트랙·아티스트 조회
  • 이메일 인증 후 API 키 1개
  • “Data by Tuneping” 표시
무료 키 받기

Developer

€29 / 월

또는 €290 / 년

  • 월 100,000건 요청
  • 10 req/s, 버스트 20
  • 최대 100개 방송국 일괄 지금 재생 중 조회
  • 7일 재생 기록
  • 위시리스트 10개, 폴링 또는 SSE
  • 영업일 기준 2일 이내 이메일 지원
  • 출처 표시 불필요
Developer 시작하기

Business

€349부터 / 월

연간 청구, 맞춤 사용량

  • 맞춤형 요청량과 속도
  • 12개월 기록, 그 이전은 집계 데이터
  • 웹훅 엔드포인트 20개, 필터 없는 파이어호스 허용
  • 위시리스트 1,000개, SSE 연결 20개
  • CSV / JSONL 내보내기
  • 읽기 요청에 월 99.5 % SLA, 전담 담당자
문의하기

05 · 운영자

방송국을 운영하시나요?

로그에서 TunepingBot/0.1 (+https://tuneping.com/bot)를 보실 수 있습니다. 이 봇은 20~60초마다 공개 상태 엔드포인트나 스트림의 첫 메타데이터 블록을 읽으며, 그 이상은 하지 않습니다. 봇의 주소와 24시간 이내에 적용되는 세 가지 옵트아웃 방법을 한 페이지에 정리해 두었습니다. 문의: [email protected].

방송국 운영자용 안내