Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

image

oocradio-wrapper

An API wrapper for oocradio.com because I was bored... 2.0

Examples

Getting Setup

const OOCRadio = require('./index.js')

const oocradio = new OOCRadio({ version: 'v1', oocAPIKey: 'YOUR_API_KEY' }) // Takes in the version of the api you want to use 

Get Currently Playing Song

oocradio.nowPlaying().then(data => console.log(data))
Returns
{
  "title": "Thinking out Loud",
  "artist": "Ed Sheeran",
  "album": "x (Deluxe Edition)",
  "art": "https://broadcast.drownradio.net/api/station/oocradio_public/art/abc123.jpg",
  "started_at": "2026-05-23T14:32:00.000Z",
  "duration": 281,
  "listeners": 42
}

Get Song History

oocradio.history().then(data => console.log(data))
Returns
{
  "items": [
    {
      "title": "Thinking out Loud",
      "artist": "Ed Sheeran",
      "album": "x (Deluxe Edition)",
      "art": "https://...",
      "played_at": "2026-05-23T14:27:19.000Z",
      "duration": 281
    }
  ]
}

Get Next Live Data

oocradio.live().then(data => console.log(data))
Returns
{
  "is_live": true,
  "presenter": {
    "id": "uuid",
    "display_name": "DJ Salt",
    "avatar_url": "https://..."
  },
  "started_at": "2026-05-23T20:00:00.000Z"
}

Get Schedule Data

oocradio.schedule().then(data => console.log(data))
Returns
{
  "items": [
    {
      "id": "slot-uuid",
      "title": "Friday Night Drive",
      "description": "Synthwave & retro vibes.",
      "start_time": "2026-05-29T22:00:00.000Z",
      "recurring_type": "weekly",
      "presenter": {
        "id": "uuid",
        "display_name": "DJ Salt",
        "avatar_url": "https://..."
      }
    }
  ]
}

Get Presenters Data

oocradio.presenters().then(data => console.log(data))
Returns
{
  "items": [
    {
      "id": "uuid",
      "display_name": "DJ Salt",
      "avatar_url": "https://...",
      "bio": "Founder of OOC Radio.",
      "social_links": {
        "twitter": "https://..."
      },
      "on_air_now": true
    }
  ]
}

Get A Presenters Profile

oocradio.presenterProfile("PRESENTER_PROFILE_ID").then(data => console.log(data))
Returns
{
  "id": "uuid",
  "display_name": "DJ Salt",
  "avatar_url": "https://...",
  "bio": "Founder of OOC Radio.",
  "social_links": {
    "twitter": "https://..."
  },
  "on_air_now": false,
  "upcoming_shows": [
    {
      "id": "slot-uuid",
      "title": "Friday Night Drive",
      "description": "Synthwave.",
      "start_time": "2026-05-29T22:00:00.000Z",
      "recurring_type": "weekly"
    }
  ]
}

Get Trending Songs Data

oocradio.trending().then(data => console.log(data))
Returns
{
  "items": [
    {
      "title": "Thinking out Loud",
      "artist": "Ed Sheeran",
      "album": "x (Deluxe Edition)",
      "album_art": "https://i.scdn.co/image/...",
      "spotify_track_id": "34gCuhDGsG4...",
      "likes": 42
    }
  ]
}

Credits

  • @Hyperz Writing this extremely simple wrapper.
  • @Shawn E. Rewriting to change to a constructor

About

An API wrapper for oocradio.com because I was bored...

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages