Noxon iRadio gateway API

This is an attempt to document the API between Noxon iRadio devices and the servers at and

Noxon iRadio devices have a couple of hard-coded menu entries that connect to certain HTTP urls when accessing them:

The server returns XML data representing menus that get shown on the radio. Menus consist of folders, audio URLs, unactionable message entries and popup messages.



The following software implements the Noxon API and can be used by Noxon radios:

Devices tested


The Noxon iRadio devices speak with several servers. Here is a brief overview on what they do:

External service that provides a directory of internet radio stations and podcasts. Menu entries "Internetradio" and "Podcasts". is a second instance that is used as backup in case the normal machine is not reachable.

General connection information

The radios access the URLs via HTTP.

XML menu response format

Menu responses are in XML format. The MIME type sent by the server does not matter; the official servers send text/html although it's clearly not HTML.

The XML prolog (<?xml version="1.0"?>) can be omitted.

The XML data are interpreted by the radios with a charset of iso-8859-1, no matter what the content-type header sent by the server or the XML prolog say.

It is possible to add processing instructions to the XML without breaking the radio.

XML tag attributes are not used.


Before menu data are requested, the radio obtains a token that is used to hash the MAC address in subsequent requests.

The following URLs are used for requesting the "encryption token":



My Noxon


The response is an XML file with only one tag.



Also known as "Favorites".


Firmware updates

I found the Noxon iRadio Cube request the following URL to check for the currently available firmware version:

The MAC address is given in plain text here; it is not hashed/encrypted as in the "normal" menu requests.

This seems to be a dedicated server, separate from the ones used for the menu.

There is no login necessary to check firmware updates.


The HTTP content-type header is again given as text/html, but it's XML:



This documentation has been written by Christian Weiske,

Last update: 2022-10-29T19:04:35+02:00


It is licensed under the GNU Free Documentation License.

Source code

The documentation sources are available at and mirrored at

Home page

A rendered version of this documentation is available at


You need to install rst2html5 before:

$ pip install rst2html5-tools

Rendering the docs is done via a build script:

$ ./