News
ICY 2.0 Protocol Spec
ICY 2.0 is a proposed protocol enhancement for modernizing stream metadata headers across Shoutcast, Icecast, Steamcast, and future hybrid platforms. It builds upon the legacy ICY 1.x headers and introduces a modern, extensible system for tagging streams with meaningful data for discovery, promotion, and compliance. This specification is being developed by the CasterClub team and is not yet ratified by any industry governing body. We are currently leading this proposal and will submit it to any appropriate organizations or standards groups if needed.
Below is a comprehensive list of headers:
ICY 2.0 aims to unify legacy header differences across multiple streaming technologies. Here's a reference on how each platform uses ICY headers differently:
π‘ Shoutcast v1
icy-name
β Required. Sent directly from DSP encodericy-genre
β Required. Basic genre fieldicy-url
β Optional. Homepage URLicy-pub
β 1 or 0 (public/private listing)icy-br
β Bitrate in kbps (e.g., 128)icy-metaint
β Byte interval for stream title updates
π‘ Shoutcast v2
- Includes all v1 headers, plus:
icy-description
β Text description of streamicy-mount
β Mountpoint path (e.g., /live)content-type
β Audio MIME type (e.g., audio/mpeg)server_type
β Usually "shoutcast"
π‘ Icecast2
- Uses separate
/status-json.xsl
endpoint for metadata - Streams often omit
icy-name
and instead embed metadata in stream headers or usetitle
mount metadata - Encoders like Liquidsoap or Butt may populate
ice-name
,ice-url
instead - OGG/Vorbis mounts do not use ICY-style metadata blocks β hence ICY 2.0 introduces
icy-meta-stream-tags
to normalize tag exposure across codecs
icy-name
β Station display nameicy-genre
β Primary genre categoryicy-url
β Homepage or station siteicy-pub
β 1 = public listing; 0 = privateicy-br
β Bitrate (in kbps)icy-metaint
β Interval between metadata blocks in bytesicy-description
β Short station summarycontent-type
β Format (e.g., audio/mpeg)server_type
β icecast, shoutcast, steamcastmount
β Mountpoint URL (e.g. /stream.mp3)listenurl
β Public stream access URLice-meta-hashtag-array
β Smart hashtags for stream discoveryicy-meta-emoji
β Emoji mood indicators (max 5)icy-auth-token-key
β Token-based license for stream verificationicy-token-authkey-list
β Signals intent to use token authicy-meta-social-facebook
β Facebook page or profile URLicy-meta-social-x
β X (formerly Twitter) profile linkicy-meta-social-instagram
β Instagram profile URLicy-meta-social-tiktok
β TikTok profile linkicy-meta-social-youtube
β YouTube channel or livestream URLicy-meta-social-twitch
β Twitch streaming URLicy-meta-social-threads
β Threads.net profile URLicy-meta-social-soundcloud
β SoundCloud profile or trackicy-meta-social-bandcamp
β Bandcamp artist or album linkicy-meta-social-spotify
β Spotify artist, podcast, or playlisticy-meta-social-applemusic
β Apple Music profile or stationicy-meta-live365
β Metadata compliance flag for Live365 registryicy-meta-stream-tags
β Normalized tags for cross-codec compatibility (OGG/Vorbis β MPEG)icy-meta-content-language
β ISO 639-1 / RFC5646 language codeicy-meta-station-type
β Classification (music, podcast, AI, talk, etc.)ice-meta-hardware-type
β Describes the source encoder environment (e.g., soundcard, virtual audio device, kernel sound driver)ice-meta-hardware-host
β Optional hostname or identifier of the broadcast device/serverice-meta-hardware-os
β Operating system or broadcast environment label (e.g., Linux, Windows, Raspberry Pi)ice-meta-hardware-encoder
β Specifies encoder software or DSP agent used (e.g., BUTT, Liquidsoap, Winamp DSP, OBS Audio)ice-meta-hardware-version
β Version string of the encoder or DSP agent in use (e.g., "BUTT 0.1.36", "Liquidsoap 2.1.4")
ποΈ ICY 2.0 Podcast Metadata Headers
To support automated podcast syndication, AI-driven episode rotation, and metadata-rich playback across radio encoders, we define the following ICY 2.0 headers for podcast-compatible streams:
icy-meta-podcast-title
β Full podcast series name (e.g., "True Crime Daily")icy-meta-podcast-episode
β Episode title or number (e.g., "S3E5: The Forgotten Files")icy-meta-podcast-host
β Main podcast host or narratoricy-meta-podcast-network
β Syndicating network or platform name (e.g., NPR, CasterNet)icy-meta-podcast-guid
β Unique identifier for tracking/sync (can be an RSS GUID, UUID, or slug)
These headers allow automation encoders or ICY 2.0-aware players to display correct podcast metadata during playback and enable deep linking or search in future directory services.
TagStack can fetch your stream's ICY 2.0 metadata headers in real time and compile them into a text-based output. This output is portable and can be used by automation encoders or standalone streamers that lack built-in title/metadata streaming.
Webcasting Revival 2025
Webcasting is making a major comeback. Whether you run Icecast, Steamcast, or Shoutcast, the new CasterClub platform will support all formats with modern directory tooling and public streaming visibility tools.
Development Status
We are working around the clock to bring you new features, including AI-assisted station tagging, custom player embeds, and dynamic podcast/promo rotation features.