I would like a service that maps a band name to their web site, Facebook, Twitter, Instagram and whatnot. Does such a tool exist?
Trolling: I thought myspace was intended to be such a tool.
Not trolling: If anyone builds this, please do it by expanding on http://www.freedb.org/ instead of reinventing the wheel.
FreeDB is deprecated. MusicBrainz is the modern replacement.
In fact, Musicbrainz may already do what jwz wants. Random example - see the External Links.
... or Wikidata, which is a Wikimedia project but doesn't seem to be inhabited by the same trolls as the ones you'll run into on Wikipedia.
freedb uses GPL, which is fine and all, but it's really weird for a content license. It also looks dead or close to needing life support.
I just typed in an arbitrary band name on Wikidata and found properties for band website, Twitter ID, Facebook ID, and MySpace ID, as well as Spotify ID, and a bunch of connections to the legacy databases like MusicBrainz and Freebase.
MusicBrainz is usually a good source for such things. For instance, here's Daft Punk: https://musicbrainz.org/artist/056e4f3e-d505-4dad-8ec1-d04f521cbb56
It should be possible to do a fairly decent job using the MusicBrainz APIs. You'd do something like a search first:
and then a query for the most plausible of the returned results:
The "url-rels" is what gives you the (hopefully useful) links.
Likely problems I see: Incompleteness of MB data; multiple bands with the same name; vicious rate limits.
Does look like they're fairly consistent that "official homepage" is the URL of the official homepage...
Also, it looks like you can avoid the rate limits by running your own server with replication from the main server:
(obviously that requires a lot more work and resources than just running the API, and may get you into a usage tier where you should really be giving them a bit of money)
Of course "official homepage" is the URL of the official homepage. What else should "official homepage" be?
Noah Pearl's band before shitcock.info. Aggressive speed metal corrupted by the influence of async js callbacks. 'Official Homepage' was the original name, but I think a couple of other people have bands by that name right now.
Are you new to data managed by random internet users? It is a pleasant surprise that musicbrainz has managed their data such that you can parse the url list and find the official homepage consistently tagged the same way. It means it's fairly easy to work with programmatically.
I probably misunderstood you. For you the surprise is not so much that the URLs point to official homepages, but that they are always called "official homepage", right? At least the latter is even less surprising, as MusicBrainz has a sane database design and maintains a fixed list of possible relationships. Even some random internet user usually can usually distinguish official homepage from a biography site ;)
But actually MusicBrainz tends to be quite good and consistent in the data supplied by users thanks to its style guides and peer review.
The discogs.com API might work. The workflow would be similar to what Ben recommended with MusicBrainz.