How a station qualifies to be listed here
Every station in this catalogue was read from its own website or its own stream, one at a time, by hand. This page says what has to be true before a station is listed, what we do when it is not, and the specific ways radio data goes wrong, with named examples. Every figure here is counted from the catalogue at the moment you loaded it.
What has to be true
- It has to be a radio station. Not one person's recordings on an aggregator, not a podcast with a stream attached, not a themed playlist on a hosting mount. 27 entries failed this or one of the tests below and were removed.
- Its stream has to be its own. Streaming mounts get recycled. We ask every stream what it says it is, and where a mount announces a different broadcaster the entry goes, however good the rest of it looks.
- Every published fact has to come from the station's own material. Its site, its own stream, or its own account on a platform it publishes through. Never a radio directory. Where nothing can be sourced, the page stays empty rather than being filled.
- What we cannot establish, we do not print. A country we cannot reduce to one place, a language we would be guessing at, a presenter we are not sure of: left blank. 726 things were found, could have been published, and were refused.
- Anything dated says when it was read. Schedules and line-ups change. Every fact carries the page it came from and the year.
548 stations have been read this way and 4246 facts published across 527 of them, drawn from 636 distinct source pages. Each station's own page links to its working: every fact with its source, everything we corrected and why, and everything we refused.
7 stations could not be read at all. Their sites refuse every connection available to us, including from an ordinary home browser: firewall rules that return a block rather than a challenge, a theme licence screen served on every path, a dead backend behind live DNS. Each one has a written reason, and those pages show only what the stream announces about itself. We would rather say that than pretend.
The trip wires
These are the specific ways radio data goes wrong. They are written down because each cost us something before we recognised it, and because they are traps for anyone gathering this data, not only for us. Most are invisible to an automated pipeline: they look like ordinary published information right up until you check.
The stream says one thing and the web says another
A radio stream will tell you what it thinks it is, over a protocol no web scraper uses. Browsers cannot send the header that asks, so every catalogue built by reading web pages is working without it.
Radio Lola: the stream published on its own page announces
icy-name: TDI Domacica, so that channel belongs to a sister
station and not to Lola.
The check: ask the stream, not the page.
Station names carrying a directory's own tags
Directories prefix entries with country codes for their own filing. Copied onward, the tag becomes part of the name, and every later consumer learns the wrong one.
ITALIA Italia 70: the leading "ITALIA" is a directory country tag duplicated into the name; the station brands itself Italia 70. MA:-Hit Radio Maroc: "MA:-" is a directory tag for Morocco glued on; the station calls itself Hit Radio.
The check: read the name off the station's own masthead, not off the entry.
A hosting platform's registered fields, mistaken for the broadcast
Streaming platforms ask operators to pick a language and a genre at sign-up. Those fields are machine-readable, look authoritative, and are frequently a default nobody changed.
M Radio Vietnam: its platform field says "English (U.S.)" while its live stream serves Vietnamese track titles. A Bamako station was registered as Afrikaans and the directories copied it onward. A Madagascan station's platform record says French while its slogan, jingles and entire playlist are Malagasy.
The check: what is actually going out, not what is on the sign-up form.
Presenters who do not exist
Radio website themes ship with sample presenters, shows and schedules. Operators who never deleted them have pages naming people who were never there, with filler Latin in the biographies and image files dated years before the station was built.
One station's entire six-person team carried the identical
biography. Another's presenter cards read "AD SOYAD" over lorem ipsum.
Another's whole roster was a website builder's demo people, down to the
address [email protected].
The check: does any of it appear twice, and is the page linked from the site's own navigation?
Panels that look live and never move
An "On Air Now" block with no logic behind it, or a listener count written into the markup. Fetch twice and you get the same answer, which reads as stability rather than as a fixed string.
Radio Jamaica 94FM: the banner naming two programmes is static markup and cannot track the time of day. Kameme FM: "Join 14,242 others listening live right now" came back byte for byte identical on a second fetch.
The check: fetch it again, an hour later.
Domains that have quietly become something else
A registration lapses and the address is picked up by somebody else. The old link still answers, often with HTTP 200, and is often still listed on the station's own profiles elsewhere.
Antinea Radio: the domain its own platform profile still lists as its website has lapsed and now serves an online casino. Peoples Radio 91.6 FM: its former address redirects through a chain of three unrelated domains.
The check: does the page mention the station at all? A casino will not.
A network's material sitting on a channel's page
One broadcaster, many channels, one website. The player switches channel while the schedule, the presenters and the chart stay the parent's.
My Music Radio: its own live page renders a full weekday grid with around twenty presenters, and the programme descriptions say in the operator's own words that they belong to the parent station.
The check: whose name is in the programme's own description?
Facts published only as a picture
A frequency inside a logo, a schedule as a set of scans. Readable by a person, invisible to anything reading text, and often much older than the page around it.
Saint.FM: "93.1 95.1 106.7 FM" is printed across its logo, and that image was uploaded four years before the station relaunched.
The check: when was the image file uploaded?
A site disagreeing with itself
Two schedules, two line-ups, two frequency lists, one site. Usually an old page nobody removed; occasionally the new one is the stale one.
One station's front page stamps today's date on a story three months old. Another's two presenter lists contradict each other, so both were published side by side and attributed rather than merged.
The check: which page does the site's own navigation point at?
Agreement between directories is not corroboration
The hardest one, because it looks like verification. When four sources agree, that is often one source copied three times, and the original error travels with it.
Early in this audit, 213 facts across 39 stations had been taken from directory listings. All were withdrawn and every one of those stations was read again from source, which pushed our count of researched stations down by 38 at the time.
The check: does the station itself say it?
What we did about it
| Facts published, each with its source and year | 4246 |
| Fields corrected, each with the researcher's reasoning | 512 |
| Claims found and deliberately not published | 726 |
| Entries removed from the catalogue | 27 |
Corrections by field: language code 215 · homepage url 152 · country code 69 · title 60 · stream url 11 · audience country code 5. Language was the commonest error by a distance, and almost always in the same direction: a station filed under the language of the country it sits in, while its own output is in a regional language.
What we do not claim
- We cannot usually name which site gave us a wrong value. We can say what our own entry held, what the station's own site says, and how we know. Where the reasoning does name a source, it is on that station's page.
- Some corrections do not record what the field said before. Those were overwritten in place before this log existed, and those entries say so rather than showing half a change.
- Stations nobody has classified are labelled as nothing. They appear under none of the on-air, online or automated filters. A filter that swept every unestablished station into a category would be inventing a fact about each one.
Counted from the catalogue as you loaded it, so these figures move as the work does. Research current as at 2026; every station page carries the year its own facts were read.