Shoutcast maintains a radio directory of 50,000+ radio stations from all around the world. The company, owned by AOL, released its first Shoutcast API a few years ago, but has since released version 2.0. The updated API provides developers with more advanced options for integrating music streaming services into web services and mobile applications using RESTful calls formatted in XML, JSON and RSS.
The API is very well documented and provides source samples. Shoutcast allows stations to be sorted by: genre, keyword search, bitrate, codec, now playing and top 500 stations.
http://api.shoutcast.com/legacy/genresearch?k=[Your Dev ID]&genre=classic
http://api.shoutcast.com/legacy/stationsearch?k=[Your Dev ID]&search=ambient+beats
http://api.shoutcast.com/station/nowplaying?k=[Your Dev ID]&ct=coldplay&f=xml
Top 500 Stations
http://api.shoutcast.com/legacy/Top500?k=[Your Dev ID]
Tuning into a station
http://yp.shoutcast.com/sbin/tunein-station.pls?id=1025&k=[Your Dev ID]
Many web services and mobiles applications have implemented the Shoutcast API into their core services. RadioBee, Radio Alarm Clock, and BuildaSearch (an app I wrote) use the Shoutcast API to power their mobile radio applications.