방송국 · 카테고리

/api/v1 .md 원문

방송국 · 카테고리

GET /categories

카테고리(장르) 목록. 인증 불필요.

curl https://tune.tideflo.work/api/v1/categories
{
  "success": true,
  "data": [
    { "slug": "news", "name_ko": "뉴스·시사", "name_en": "News", "icon": "📰", "color": null },
    { "slug": "music", "name_ko": "음악", "name_en": "Music", "icon": "🎵", "color": null }
  ]
}

GET /stations

방송국(채널) 목록. 인증 불필요.

쿼리 파라미터

파라미터 설명
category music 카테고리 slug 필터
broadcaster kbs 방송사 slug 필터
region 부산 지역 필터
band FM FM/AM/SW/INTERNET
country KR 국가코드
featured 1 추천만
q 클래식 이름·주파수 검색
page 1 페이지(기본 1)
per_page 30 페이지 크기(기본 30, 최대 100)
curl "https://tune.tideflo.work/api/v1/stations?category=music&page=1&per_page=20"
{
  "success": true,
  "data": [
    {
      "id": 11,
      "slug": "sbs-powerfm",
      "name_ko": "SBS 파워FM",
      "name_en": "SBS Power FM",
      "frequency": "FM 107.7",
      "band": "FM",
      "region": null,
      "coverage": "metro",
      "language": "ko",
      "logo_url": null,
      "is_featured": true,
      "broadcaster": { "id": 3, "slug": "sbs", "name_ko": "SBS", "name_en": "Seoul Broadcasting System", "logo_url": null },
      "categories": [ { "slug": "music", "name_ko": "음악", "icon": "🎵" } ],
      "stream": { "available": true, "access_model": "token_signed", "media_type": "audio", "requires_resolve": true }
    }
  ],
  "meta": { "page": 1, "per_page": 20, "total": 8, "total_pages": 1 }
}
  • stream.requires_resolvetrue 면 재생 전 /stations/{id}/stream 호출로 URL을 발급받아야 합니다.

GET /stations/{id|slug}

방송국 상세. 숫자 id 또는 문자열 slug 모두 가능.

curl https://tune.tideflo.work/api/v1/stations/kbs-coolfm
{
  "success": true,
  "data": {
    "id": 5,
    "slug": "kbs-coolfm",
    "name_ko": "KBS 2FM 쿨FM",
    "frequency": "FM 89.1",
    "band": "FM",
    "coverage": "national",
    "language": "ko",
    "description": null,
    "homepage_url": null,
    "nowplaying_support": "none",
    "is_featured": true,
    "broadcaster": { "id": 1, "slug": "kbs", "name_ko": "KBS", "app_name": "KBS Kong" },
    "categories": [ { "slug": "music", "name_ko": "음악", "icon": "🎵" } ],
    "streams": [
      {
        "id": 5,
        "label": "기본",
        "access_model": "token_signed",
        "protocol": "hls",
        "format": "aac",
        "media_type": "audio",
        "bitrate": null,
        "requires_resolve": true,
        "requires_app_headers": false,
        "health_status": "unknown",
        "url": null,
        "resolve_endpoint": "https://tune.tideflo.work/api/v1/stations/5/stream?stream_id=5"
      }
    ]
  }
}
  • streams[].urlopen_static 스트림은 재생 URL이 바로 들어있습니다.
  • streams[].urlnull 이면 resolve_endpoint(또는 /stations/{id}/stream)로 발급받으세요.

재생 방법은 스트리밍 문서 참고.