My own Rap Genius API
timrogers.co.uk
timrogers.co.uk
Otherwise isn't it just stealing?
(Fully expecting this to be a controversial comment, but I'm curious what the prevailing sentiments on scraping without permission are these days. Good, because all content should be free, especially crowd-sourced content? Or bad, because the contributors didn't agree to such third-party usage, and it could limit Rap Genius' ability to build a business?)
I tend to think that this kind of thing is okay for personal use, whereas it wouldn't be en masse - for instance, if you were using it to power and advantage a competing music site. Others' opinions may differ.
For instance, I've previously built scrapers for banking services (American Express [https://github.com/timrogers/amex] and Lloyds TSB [https://github.com/timrogers/lloydstsb]) and the UK's university application system, UCAS (https://github.com/timrogers/ucas) and none of these organisations seem to have had any problem with it, but the library has been really gratefully received by users.
And don't get me wrong—I love APIs, I build them for a living. And I know how much users love them. Unfortunately, not all companies love providing them, or have the economics of doing so fully worked out.
You might find my response below (https://news.ycombinator.com/item?id=6229617) interesting, on that front. My guess is that for Rap Genius, the only API that will make real sense is one offered on a commercial basis.
If you wanna chat at all about any of this stuff, drop me a line at me@timrogers.co.uk.
Perhaps SMSing the secret number they send you back to your system (assuming you can't give your system direct access to phone number your the secret number will arrive at)?
Potentially using Twilio (http://www.twilio.com) you might be able to have an application which receives the two-factor request itself and handles it. It'd make the process async though, which wouldn't be ideal.
I also think the fear of abuse is mostly unwarranted. If somebody wanted to steal your content or abuse your platform, they'd figure out a way to do so -- with or without an unofficial api (especially if all that's needed is http scraping).
(disclaimer: I maintain https://github.com/simon-weber/Unofficial-Google-Music-API)
It can get really hard to tell where the line is, though. For example, multiple for-pay third-party clients for Google Music now exist [0]. Personally, I think this is still a value-add for Google, but I could understand why some would think it's exploitative.
Another thought experiment: say the unofficial use of the platform originally required a fair amount of reverse engineering. Can the person who figured it out be held responsible for other's abusive behavior?
But then I'm not sure still...maybe that is okay if consumers massively benefit from the reverse engineering, and thus overall utility is increased...! What do you think?
Generally, though, I think the situation has interesting parallels to piracy. Companies have many options on how to respond to unofficial use:
- cracking down on unofficial users == chasing down pirates
- attempting to control unofficial use (probably at the cost of normal usability) == DRM
- embracing unofficial users == the "piracy as free marketing" view
- viewing unofficial users as a sign of a specific weakness in the product == the "piracy as a service problem" view
I suppose that would make the original reverse engineer similar to someone who cracks a game's DRM?
As I've said in other comments, I'd love RG to have a public API, but I can see why they don't.
It'd be cool to compare notes on parsing Rap Genius. Drop me an email if you have a moment, me@timrogers.co.uk.
With this said, nice work.
- Embedding in personal blogs - this is probably best achieved by a simple embed code (which I'm planning to use my gem to build), rather than a full API
- Commercial use - for instance, Spotify (or competitor) might like to display rich lyrics in-app.
The situations which would demand a full-on API, I suspect, would be commercial use. Thus, I'd imagine that any API they build will be private and commercial, providing a (first?) revenue stream.