TunepingBot/0.1 (+https://tuneping.com/bot)

You found TunepingBot in your logs. Here is everything it does.

It reads the public “now playing” title of your station every 20 to 60 seconds, a few KB at a time, and never touches the audio. If you would rather it did not, any one of the three opt-outs below works, permanently, within 24 hours. No questions asked.

01 · E-mailWrite to us
To: [email protected]
Subject: Opt-out
Body: stream.example.net

Send the stream host or URL to [email protected]. You get a confirmation once it is removed.

02 · robots.txtOne rule on the stream host
User-agent: TunepingBot
Disallow: /

Per scheme, host and port. A real User-agent: * group works too (see below).

03 · HeaderOne header on the endpoint
X-Robots-Tag: noindex

On the status endpoint or the stream URL. A 401 or 403 has the same effect.

Quick facts

User-AgentTunepingBot/0.1 (+https://tuneping.com/bot)
IPv4167.233.123.27
IPv62a01:4f8:c016:4026::1
Reverse DNSpoller.tuneping.com, forward-confirmed. Machine-readable list at /bot/ips.json.
FrequencyOne request per station every 20 to 60 s; every 5 min once the title has not changed in 30 min. At most 2 concurrent connections per server IP.
Bytes per checkA few hundred bytes for a status endpoint; up to about 16 KB for one in-stream metadata block.
Takes effectWithin 24 hours, usually minutes. Permanent until you ask to come back.
OperatorTuneping, see the imprint. Abuse: [email protected].

Who we are

Tuneping is a small service that keeps a live index of what internet radio stations are playing, so that listeners and developers can search for a song across stations, look at a station's play history, or be told when a wishlist song starts. The index is built entirely from the title metadata that stations already publish to every listener. The server handles metadata only; it never stores, relays or redistributes audio.

What it requests

  • /robots.txt on the stream host, cached for up to 24 hours
  • The streaming server's public status endpoint, when there is one (the JSON, XML or plain-text variants, for example /status-json.xsl, /stats, /currentsong, /7.html; once per hour the recently-played list where the server offers it)
  • Otherwise the public stream URL itself with Icy-MetaData: 1, read only until the first in-stream metadata block arrives, then closed
  • Connection: close, plain HTTP/1.1, 5 s connect and 10 s total timeout, at most 5 redirects

What it never does

  • Read audio beyond the one metadata interval needed to find the title (about 16 KB, discarded as it arrives)
  • Record, store, relay or redistribute audio in any form
  • Request admin paths, HTML pages, or anything that requires credentials
  • Poll HLS playlists or segments
  • Fetch logos or artwork
  • Call the directory's click counter

We prefer the status endpoint whenever a station has one, because it costs you a few hundred bytes instead of a short burst of audio.

How often, and how it behaves

How to verify it is really us

Requests come from the two addresses in the table above and from nowhere else. Reverse DNS of both addresses is poller.tuneping.com, and that name resolves forward to the same addresses, so a forward-confirmed reverse DNS check works. Anything claiming to be TunepingBot from another address is not us; please tell [email protected]. The current list is also published at tuneping.com/bot/ips.json; we will announce changes on this page at least a week before they take effect.

How to opt out

Any one of the three ways at the top of this page is enough. All three are honoured, opt-outs are permanent, and they take effect within 24 hours (in practice the scheduler picks them up within minutes). No questions asked, no justification needed. A general User-agent: * group in robots.txt also works, as long as it is not just the one-line default your server software ships (see above). Returning 401 or 403 on the stream URL, or putting a firewall challenge in front of it, has the same effect automatically.

An opt-out removes the station from polling, from the API and from any public page, and places it on a suppression list the scheduler consults before every single request. If you later want back in, e-mail the same address.

What we store

For each station: the current and past title strings exactly as published, the timestamp we saw them, and the station's directory listing (name, stream URL, country, codec). For politeness and abuse handling we also keep a log of our own connections (timestamp, your server's IP and port, status code, byte counts) for 7 days, aggregated per hour for 30 days, so we can answer precisely which requests we made if you ask. We do not store audio, listener data or anything personal. The bot collects no personal data; the only personal data we process is the contact details of people who write to us (see privacy).

Opt in, or correct what we show

If you would rather we read a particular endpoint, or you publish titles somewhere we have missed, tell [email protected] and we will switch. If your station's name or details are wrong, the same address fixes it.

Where the station list comes from

Station directory data from radio-browser.info, CC0 (public-domain community data). We never call the directory's click counter from the bot. Music metadata is matched against MusicBrainz (CC0 core data).

Contact and abuse

We read these mailboxes daily and aim to acknowledge within 24 hours. Operator details are on the imprint page.

Changelog

2026-10TunepingBot/0.1, first version. Egress 167.233.123.27 and 2a01:4f8:c016:4026::1, reverse DNS poller.tuneping.com.