PHPackages                             adinan-cenci/internet-radio - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. adinan-cenci/internet-radio

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

adinan-cenci/internet-radio
===========================

A library to fetch internet-radio.com radio stations.

v2.1.0(3y ago)08MITPHPPHP &gt;=7.0

Since Jan 23Pushed 3y ago1 watchersCompare

[ Source](https://github.com/adinan-cenci/internet-radio)[ Packagist](https://packagist.org/packages/adinan-cenci/internet-radio)[ RSS](/packages/adinan-cenci-internet-radio/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (5)Dependencies (1)Versions (6)Used By (0)

Internet Radio
==============

[](#internet-radio)

An unofficial library to retrieve radio stations from the [internet-radio.com](https://internet-radio.com) catalog.

Stations by genre
-----------------

[](#stations-by-genre)

Use the `::getStationsByGenre($genre, $offset, $limit, $sortBy)` method to retrieve stations labeled with a specific musical genre.

ParameterTypeDefaultDescription$genrestringThe name of a musical genre, see `::getGenres()` for possible values.$offsetint0$limitint20$sortBystring'featured'Possible values: featured, listeners, bitrate.```
use AdinanCenci\InternetRadio\InternetRadio;

$internetRadio = new InternetRadio();
$stations = $internetRadio->getStationsByGenre('metal');
```

It will return an array as such:

```
[
    {
        "id": "idobihowl",
        "name": "idobi Howl",
        "description": "metal, hardcore",
        "homepage": "http://idobiradio.com/",
        "playlist": "http://69.46.88.26:80/listen.pls",
        "currentlyPlaying": "SYLOSIS - Fear the World",
        "listeners": "2527",
        "bitRate": "128"
    },
    {
        "id": "knac.com",
        "name": "KNAC.COM",
        "description": "metal",
        "homepage": "http://www.knac.com",
        "playlist": "http://198.178.123.14:7346/listen.pls?sid=1",
        "currentlyPlaying": "NAZARETH - HAIR OF THE DOG",
        "listeners": "268",
        "bitRate": "128"
    },
    {
        "id": "metalexpressradio",
        "name": "Metal Express Radio",
        "description": "heavy metal",
        "homepage": "http://www.metalexpressradio.com",
        "playlist": "http://5.135.154.69:11590/listen.pls?sid=1",
        "currentlyPlaying": "David T. Chastain - Burning Passion",
        "listeners": "199",
        "bitRate": "192"
    }
    ...
    ...
    ...

```

Search stations
---------------

[](#search-stations)

Use the `::searchStations($query, $offset, $limit, $sortBy)` method to search stations based on their names.

ParameterTypeDefaultDescription$querystringWord(s) to be matched against station names.$offsetint0$limitint20$sortBystring'featured'Possible values: featured, listeners, bitrate.Genres
------

[](#genres)

The `::getGenres()` returns an array of musical genres used to label radio stations. Use this values to search stations with the `::getStationsByGenre()` method.

```
$genres = $internetRadio->getGenres();
/*
'50s',
'60s',
'Acid House',
'Bass',
'Jazz',
'Metal',
...
...
...
*/
```

Notes
-----

[](#notes)

At the moment of this writing, internet-radio.com does not provide an API, the information provided by this library is being scraped from the official website and this library may stop working in the day they decide to update their page.

License
-------

[](#license)

MIT

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~157 days

Total

5

Last Release

1306d ago

Major Versions

1.1.1 → 2.0.02021-11-06

### Community

Maintainers

![](https://www.gravatar.com/avatar/3c1eb1b039e965bb307f010fb1dd41fbc79c8c9e9a65324b8f18d2bb9168097d?d=identicon)[AdinanCenci](/maintainers/AdinanCenci)

---

Top Contributors

[![adinan-cenci](https://avatars.githubusercontent.com/u/1629643?v=4)](https://github.com/adinan-cenci "adinan-cenci (3 commits)")

---

Tags

musicradio

### Embed Badge

![Health badge](/badges/adinan-cenci-internet-radio/health.svg)

```
[![Health](https://phpackages.com/badges/adinan-cenci-internet-radio/health.svg)](https://phpackages.com/packages/adinan-cenci-internet-radio)
```

###  Alternatives

[wenzhixin/bootstrap-table

An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)

11.8k283.4k1](/packages/wenzhixin-bootstrap-table)[ralphjsmit/laravel-helpers

A package containing handy helpers for your Laravel-application.

13704.6k2](/packages/ralphjsmit-laravel-helpers)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
