ICY Metadata Reference

TagStack supports both ICY protocol versions. ICY 1.x is the simple, universally compatible now-playing title push. ICY 2.2 is the full extended metadata specification with 90+ structured header fields.

ICY 1.x — Now Playing Title Push

ICY 1.x sends a plain-text stream title via a GET request to the admin endpoint. Every Icecast2 and Mcaster1DNAS server supports this.

Endpoint

GET /admin/metadata?mount=/yourmount&mode=updinfo&song=Artist+-+Track+Title
Authorization: Basic base64(admin:adminpassword)

Rules

ICY 2.2 — Extended Metadata Headers

ICY 2.2 sends a structured set of HTTP headers via a PUT request to the source mount. TagStack builds the full header set from the 4-tab composer and sends only the non-empty fields to avoid noise.

Push Endpoint

PUT /yourmount HTTP/1.1
Host: dnas.example.com:8000
Authorization: Basic base64(source:sourcepassword)
Content-Type: audio/mpeg
Content-Length: 0
icy-metadata-version: 2.2
icy-meta-station-id: my-station-001
icy-meta-show-title: Morning Drive
icy-meta-dj-handle: @djname
icy-meta-social-twitter: @djname
...

Authentication: ICY 2.2 PUT uses source password (not admin password). ICY 1.x GET uses admin password. Both are stored per-server in TagStack.

ICY 2.2 Field Reference

Tab 1 — Station / Show

HeaderDescriptionExample
icy-metadata-versionProtocol version — always 2.22.2
icy-meta-station-idUnique station identifierwkrp-cincinnati-001
icy-meta-station-logo-urlFull URL to station logo image (PNG/JPG)https://mystation.com/logo.png
icy-meta-station-verifiedVerification status: verified, unverified, pendingverified
icy-meta-show-titleCurrent show or program nameMorning Drive with DJ Ace
icy-meta-show-startShow start time (ISO 8601 or HH:MM)06:00
icy-meta-show-endShow end time10:00
icy-meta-next-showName of the following showMidday Mix
icy-meta-autodjAutoDJ active: 1 or 00
icy-meta-playlist-nameActive playlist or rotation nameTop 40 Hot

Tab 2 — DJ / Track

HeaderDescriptionExample
icy-meta-dj-handleDJ or host social handle@djace
icy-meta-dj-bioShort DJ biography or taglineTop 40 specialist since 2018
icy-meta-genrePrimary genre of current showTop 40
icy-meta-show-ratingContent rating: G, PG, PG-13, RPG
icy-meta-track-artwork-urlURL to current track album arthttps://cdn.example.com/art.jpg
icy-meta-albumAlbum name of current trackFuture Nostalgia
icy-meta-yearRelease year2024
icy-meta-labelRecord labelWarner Records
icy-meta-bpmBeats per minute of current track128
icy-meta-keyMusical key (Camelot notation or standard)8A
icy-meta-podcast-hostPodcast host or network nameMy Radio Network
icy-meta-podcast-rssPodcast RSS feed URLhttps://feeds.example.com/show.xml
icy-meta-podcast-episodeEpisode number or identifierEP-042
icy-meta-languageBCP 47 language tagen-US

Tab 3 — Social

HeaderDescriptionExample
icy-meta-creator-handlePrimary content creator handle@mystation
icy-meta-social-twitterTwitter/X handle or profile URL@mystation
icy-meta-social-twitchTwitch channel namemystation
icy-meta-social-igInstagram handle@mystation
icy-meta-social-tiktokTikTok handle@mystation
icy-meta-social-youtubeYouTube channel URLhttps://youtube.com/@mystation
icy-meta-social-facebook-pageFacebook page URLhttps://facebook.com/mystation
icy-meta-social-linkedinLinkedIn profile or company URLhttps://linkedin.com/company/mystation
icy-meta-social-linktreeLinktree or link-in-bio URLhttps://linktr.ee/mystation
icy-meta-hashtag-arrayJSON array of hashtags["#NowPlaying","#Radio","#Top40"]
icy-meta-listener-requestsListener requests enabled: 1/01
icy-meta-request-urlURL for song/shoutout requestshttps://mystation.com/request
icy-meta-chat-urlLive chat URLhttps://mystation.com/chat
icy-meta-tip-urlTip / donation URL (PayPal, Ko-fi)https://ko-fi.com/mystation
icy-meta-events-urlEvents calendar URLhttps://mystation.com/events

Tab 4 — Broadcast

HeaderDescriptionExample
icy-meta-crosspostComma-separated crosspost platformstwitch,youtube,facebook
icy-meta-cdn-regionCDN delivery region (ISO country code)US-EAST
icy-meta-relay-originRelay source URL for relay chainshttp://origin.example.com:8000/live
icy-meta-station-noticeFree-text station announcementStation closed Dec 25
icy-meta-notice-urlURL for the notice detail pagehttps://mystation.com/news
icy-meta-notice-expiryISO 8601 datetime when notice expires2026-12-26T00:00:00Z
icy-meta-audio-codecAudio codec nameMP3
icy-meta-audio-samplerateSample rate in Hz44100
icy-meta-audio-channelsChannel count2
icy-meta-audio-lufsIntegrated loudness (LUFS)-14
icy-meta-audio-encoderEncoder softwareLAME 3.100
icy-meta-content-nsfwExplicit content flag: 1/00
icy-meta-content-aiAI-generated content flag0
icy-meta-content-royalty-freeRoyalty-free content flag0
icy-meta-geo-regionISO 3166-1 country code restrictionUS
icy-meta-license-typeContent license identifierCC-BY-4.0
icy-meta-stream-session-idUnique session identifier for analyticssess-2026-03-01-001

Practical Push Examples

Minimum push for a live DJ set

icy-metadata-version: 2.2
icy-meta-station-id: wkrp-001
icy-meta-show-title: Friday Night Bass
icy-meta-dj-handle: @djace
icy-meta-genre: House
icy-meta-bpm: 128
icy-meta-social-twitter: @djace
icy-meta-social-ig: @djace
icy-meta-hashtag-array: ["#FridayNight","#House","#DJSet"]

Full station identity push

icy-metadata-version: 2.2
icy-meta-station-id: wkrp-cincinnati-001
icy-meta-station-logo-url: https://wkrp.com/logo.png
icy-meta-station-verified: verified
icy-meta-show-title: Morning Drive
icy-meta-show-start: 06:00
icy-meta-show-end: 10:00
icy-meta-next-show: Midday Mix
icy-meta-dj-handle: @djace
icy-meta-genre: Top 40
icy-meta-social-twitter: @wkrp
icy-meta-social-ig: @wkrpcincinnati
icy-meta-social-tiktok: @wkrp
icy-meta-social-youtube: https://youtube.com/@wkrp
icy-meta-social-facebook-page: https://facebook.com/wkrpcincinnati
icy-meta-audio-codec: MP3
icy-meta-audio-samplerate: 44100
icy-meta-audio-channels: 2
icy-meta-audio-lufs: -14

Best Practices