Free, unauthenticated access to OME Radio's live data - now playing, recently played tracks, and more. No API key required for read endpoints.
https://omeradio.com
Endpoint 01
/api/ome
No authentication
Returns full radio station data - now playing song, listener count, presenter info, and the 50 most recently played tracks.
{
"success": true,
"nowPlaying": {
"song": {
"id": "abc123",
"title": "Song Title",
"artist": "Artist Name",
"album": "Album Name",
"art": "https://...",
"likes": 12,
"dislikes": 1,
"favourites": 3,
"db_id": 42,
"user_liked": false,
"user_disliked": false,
"user_favourited": false
},
"listeners": 24,
"live": {
"is_live": true,
"streamer_name": "DJ Name"
},
"onair": {
"name": "DJ Name",
"slug": "dj-name",
"avatar": "https://..."
}
},
"recentlyPlayed": [ ... ],
"cached_at": "2026-03-06T12:00:00+00:00"
}
Endpoint 02
/api/ome/now-playing
No authentication
Returns the currently playing song and live presenter information only.
{
"song": {
"id": "abc123",
"title": "Song Title",
"artist": "Artist Name",
"album": "Album Name",
"art": "https://..."
},
"listeners": 24,
"live": {
"is_live": true,
"streamer_name": "DJ Name"
},
"onair": {
"name": "DJ Name",
"slug": "dj-name",
"avatar": "https://..."
}
}
Endpoint 03
/api/ome/recently-played
No authentication
Returns the 50 most recently played songs ordered by most recent first.
[
{
"id": 42,
"title": "Song Title",
"artist": "Artist Name",
"album": "Album Name",
"album_art": "https://...",
"spotify_url": "https://open.spotify.com/track/...",
"likes": 12,
"played_at": 1741262400
},
...
]
Endpoint 04
/api/bot/request
Bot secret required
Submit a song request or shoutout on behalf of a Discord user. Used by the OME Radio Discord bot. Requires the X-Bot-Secret header.
X-Bot-Secret
Required. Bot authentication secret.
Content-Type
application/json
type
required
song_title
artist
name
message
discord_user_id
{
"success": true,
"message": "๐ต Request sent! The DJ will see it."
}
// 401 Unauthorized
{ "error": "Unauthorized" }
// 429 Too Many Requests
{ "error": "You've sent too many requests." }
// 422 Validation Error
{ "message": "...", "errors": { ... } }
Endpoint 05
/api/public/v1/messages/twitch
Twitch chatbot
Accepts a song request from a Twitch chatbot command and adds it to the live request queue. Returns a plain-text confirmation that the chatbot can relay back to chat. Rate-limited to 3 requests per user per hour.
name
user_id
message
required
type
referrer_channel
NightBot
$(urlfetch https://omeradio.com/api/public/v1/messages/twitch?name=$(querystring $(user))&user_id=$(querystring $(userid))&message=$(querystring $(query))&type=Request&referrer_channel=$(querystring $(channel)))
StreamElements
\$(customapi https://omeradio.com/api/public/v1/messages/twitch?name=\${sender}&message=\${1:}&type=Request&referrer_channel=\${channel})
Streamlabs Chatbot
\$readapi(https://omeradio.com/api/public/v1/messages/twitch?name=\$username&user_id=\$userid&message=\$msg&type=Request&referrer_channel=\$mychannel)
!request Artist - Song Title. The dash separator is automatically parsed into separate artist and song title fields. If no dash is present, the whole message is used as the song title.
๐ต Request sent! The DJ will see it.
// No message provided โ Please include a song! Usage: !request Artist - Song Title // Rate limited โ You've sent too many requests recently. Please wait a bit! // Unresolved bot variables โ Bot command variables were not resolved. Check your chatbot command syntax.
Endpoint 06
/api/public/v1/messages/kick
Kick chatbot
Identical to the Twitch endpoint but for Kick streamers. Accepts a song request from a Kick chatbot command and adds it to the live request queue. Rate-limited to 3 requests per user per hour.
NightBot
$(urlfetch https://omeradio.com/api/public/v1/messages/kick?name=$(querystring $(user))&user_id=$(querystring $(userid))&message=$(querystring $(query))&type=Request&referrer_channel=$(querystring $(channel)))
StreamElements
\$(customapi https://omeradio.com/api/public/v1/messages/kick?name=\${sender}&message=\${1:}&type=Request&referrer_channel=\${channel})
Streamlabs Chatbot
\$readapi(https://omeradio.com/api/public/v1/messages/kick?name=\$username&user_id=\$userid&message=\$msg&type=Request&referrer_channel=\$mychannel)
๐ต Request sent! The DJ will see it.
โ Please include a song! Usage: !request Song Title - Artist โ You've sent too many requests recently. Please wait a bit! โ Bot command variables were not resolved. Check your chatbot command syntax.
Endpoint 07
/overlay
OBS / Streamlabs browser source
A ready-made now-playing overlay for streamers. Add it as a Browser Source in OBS or Streamlabs - set the background to transparent. It polls the OME Radio API every 15 seconds and automatically shows the current track and presenter.
https://omeradio.com/overlay
https://omeradio.com/overlay
Fair Use
These endpoints are provided for personal projects and integrations relating to OME Radio. Please don't hammer the API - the GET endpoints are cached on the server. If you're building something cool, feel free to reach out!
Accessibility
Text size
Colour vision