Every now and then a sharp developer uncovers a clue that leads to discovery of an undocumented, but quite real, web API. A case in point is the folks over at SEO services company Indexed Content, who noted in their blog yesterday that the popular social news web site Reddit has an API. But don’t go looking for any documentation, because it doesn’t look like there is any, at least not yet (for reference we’ve created a Reddit API summary in our directory and will update it if/when this becomes an officially supported API).
How did they find it?
Over the past few weeks I have been working on creating a tool to gather some social media metrics to track social media optimization campaigns. Friendfeed is your friend if you’re embarking on the same project. While looking for a native reddit API however I stumbled across a post on code.reddit.com that mentioned an API endpoint.
The post in question at code.reddit.com gives essentially all the documentation there is at this point:
In many applications, such as Socialite, it is valuable to look up information about a link on reddit. Currently, there are two good ways to do this using the JSON API:
Info call
Example: http://www.reddit.com/api/info.json?count=1&url=STORYURLThe API “info” call is an ideal way to look up reddit stories by URL. However, in some cases, looking up stories by URL alone presents problems:
1. URLs are not mapped to stories on a one-to-one basis. Since the same URL can be posted to many subreddits, when looking up stories by a URL, it becomes necessary to constrain the search by subreddit, e.g.: http://www.reddit.com/r/subreddit/api/info.json?count=1&url=STORYURL
This summary sufficies in many ways given how simple the REST-based API itself appears to be. It returns data in JSON and requires no authentication. Clicking on this link will get you the JSON-formatted version of Reddit’s page to A list of average IQ’s per occupation.
Are there other endpoints? A couple of quick tests to api.reddit.com, a url not documented anywhere, does indeed return a JSON-formatted representation of the current home page HTML contents. There may be more here from Reddit coming soon? In the meantime, guessing the wrong parameters gives the message below.
And in the world of Web mashups this type of discovery is part of a time honored tradition. Two years ago Niall Kennedy reverse engineered the Google Reader API. And it dates all the way back to the prototypical mashup HousingMaps in which Paul Rademacher reverse engineered the Google Maps service back in early 2005 before there was an “official API”. At the time it was just a set of underlying JavaScript functions that he dug through and built on. Google ultimately turned this hacking to their advantage, both by hiring Paul and turning those JavaScript functions into what’s become the most famous and successful of web APIs.
The world of music is not just where the phrase “mashup” originated, it is also one of the most popular types of web mashups. With over 40 music APIs to choose from, developers have created a wide range of music-related mashups and we now have over 200 music mashups in our directory.
If you look at the most popular music mashups you see some themes:
For more on music-related web mashups, see our Music API and Mashup Dashboard.
The business networking site LinkedIn has now launched a new application platform they call InApps. It’s an OpenSocial-based platform that enables third-party developers to create applications that get embedded into LinkedIn user’s profiles. While this follows along the model used of Facebook, MySpace and host of other social platforms, it differs in its emphasis on being business centric in nature and, like the service itself, follows a much more controlled and button-downed approach. And like the LinkedIn API that we reported on last year, access is limited based on an approval process.
What apps got approved as part of the launch? As you can see in the LinkedIn Application Directory, there are nine initial applications including ones from Amazon, Box.net, Google, Huddle, Six Apart, SlideShare, Tripit, WordPress and a “Company Buzz” application developed by LinkedIn. Three of the more interesting ones include:
We have seen a strong interest from our visitors here on ProgrammableWeb in the LinkedIn API, even though it’s a limited-access API with no public documentation available. There is certainly a lot of potential for a platform that provides access to a professional business network with 30 million members. It will be interesting to see what sorts of apps get through the LinkedIn vetting process and how quickly the platform grows.
After much anticipation, The New York Times has released its first API: a Campaign Finance API that allows developers to retrieve contribution and expenditure data based on United States Federal Election Commission filings (our New York Times Campaign Finance API profile). The API is part of the new Times Developer Network, which will eventually give developers access to several APIs.
As explained in The New York Times Blog:
The initial version of the Campaign Finance API offers overall figures for presidential candidates, as well as state-by-state and ZIP code totals for specific candidates. In addition, the API supports a contributor name search using any of the following parameters: first name, last name and ZIP code.
The Developer Network site includes various resources, including API documentation, a developer’s forum, and an application gallery (the API itself is managed by Mashery). The app gallery currently includes a few examples, such as a PHP-based Campaign Finance Chart Application that leverages both The New York Times API and the Google Charts API (and is our Mashup of the Day today).
Marshall Kirkpatrick over at ReadWriteWeb has some additional coverage on the release of the API, including the following insight:
We believe that steps like this are going to prove key if big media is to thrive in the future.
We concur. This is a great first step for The New York Times, and we hope that it will be the first of many APIs released by the traditional media company. According to the Times Developer Network site, the next API in development is a Movie Reviews API (our Movie Reviews API profile) that will give you access to movie reviews by New York Times critics.
It will be interesting to see if other newspapers and media companies follow suit. As we have seen, NPR has moved forward with its own API and just today DayLife released an enterprise API for publishers. How important will APIs be for news organizations going forward? These new business models are something Jeff Jarvis has been thinking about, see these slides on New business models for news for an upcoming summit at the CUNY Graduate School of Journalism.
And since this NY Times API mixes news and politics, if you are interested in campaign finance, you can check out the Follow the Money API for data on state level campaign data, as well as 30 other government related APIs.
Last month developers at Yahoo!’s Open Hack Day got a sneak preview of the new Yahoo! Application Platform (YAP). YAP is in preview mode and not yet available for public use, although documentation for the new service is available.
According to Yahoo!:
The Yahoo! Applications Platform (YAP) is the software and services that enable developers to build web applications that are available throughout Yahoo!– the largest audience in the world. The Yahoo! Applications Platform has the following components:
- Development environment - A browser-based tool that enables software developers to quickly create, preview, and publish web
applications.- APIs and web services - Programmatic access to OpenSocial functionality and popular Yahoo! web services.
- Distribution and discovery infrastructure - The built-in features
for publishing applications on galleries on web pages such as Yahoo! Profiles.
End users can discover applications by searching or browsing within application galleries.- Runtime and rendering environment - The backend servers and software that run applications and convert the code into HTML.
As a platform, YAP can be used by developers to develop Open Applications, which Yahoo! describes as:
An Open Application is a web application that has been registered on the Yahoo! Development Network (YDN) and runs on the Yahoo! Application Platform (YAP). As seen by the end user, an Open Application has multiple views, integration points, and components.
Open Application components include a Small View, Canvas View, and Chrome. Note that YAP provides support for social applications via OpenSocial.
Here’s a video from the Yahoo! Open Hack Day that gives an overview of YAP:
We’ve included Christian Heilmann’s presentation on Opening Yahoo! to User and Developers from the Future of Web Apps Conference (held in London, England last week).
Currently there is a PHP SDK available and developers should note that Yahoo! has followed Facebook’s lead (along with numerous other platforms) by providing its own flavor of XML: Yahoo! Markup Language (YML). You can check out the reference documentation for YML, including YML Lite (a subset of YML).
Webmonkey.com has additional coverage (including screen shots) of YAP from the Open Hack Day event, and Ash Patel has compiled a list of blog posts about Yahoo!’s Hack Day and Open Strategy.
Certainly Yahoo has their share of APIs, with 32 Yahoo APIs in our directory, so there’s a lot of potential for YAP and what this new platform could mean for Yahoo.
Popular online movie rental and review site Netflix will be releasing an API today. The new API will provide access to 100,000 movie and TV episode titles on DVD as well as Netflix account access on a user’s behalf (using OAuth). We’ve added a new Netflix API profile to our directory with initial details.
This is an exciting addition to the wide array of video APIs currently available, considering the reach and popularity of Netflix and the passionate activity of its users. According to Netflix, its members rate more than 2 million movies a day and there are more than 2 billion ratings currently in its database.
The API is free and will be available for commercial use, meaning that enterprising developers can potentially monetize applications and mashups developed with the API. See Marshall Kirkpatrick’s post over at ReadWriteWeb for additional insight on commercial use of the API as well as follow-up at Gizmodo.
You can sign up for access to the API by visiting http://developer.netflix.com once the API is live. Although additional details will be available after the API is officially released, we do know that the API will be accessible via REST, JavaScript, and Atom feeds.
With the addition of this new API, our API directory now includes 38 video-related APIs. Stay tuned as we will be expanding the API profile and providing additional details as they become available.
Music video content provider MTV recently announced that its Content API is out of private beta and available to the general public. Available as part of a new MTV Networks Developers Tools web site, the RESTful API gives access to content from MTV, VH1, CMT and Logo. The API supports a variety of open standards including OpenSearch and MediaRSS (see our new MTV API profile for more details).
The API gives access to every music video in the MTV archive (plus all the related metadata) and currently does not require an API key (although one may be required after the API moves out of beta).
According to the MTV Networks Developers Tools web site, the API could be used to develop a variety of applications and mashups, including:
- Build a music video gallery of MTV, VH1, CMT or LOGO artists.
- Create an application to send music video dedications to friends on Facebook, MySpace, Flux or just about any other social network.
- Mine our expansive music video archive to create the music application of your dreams.
- Fashion a WordPress plug-in to dynamically pull music videos into blog posts.
The API’s documentation pages present developers with a variety of information, including methods and response formats. A discussion forum provides developers with a medium for information exchange and troubleshooting.
It’s notable that MTV has made so much of its content available for developers. We look forward to seeing how this API will be used in mashups and applications, and certainly hope to see at least a few nostalgic mashups that take us back to the early MTV years. Will it be Blondie or David Bowie that gets the first mashup?
Be sure to check out some of the other Music APIs listed in our API directory for additional inspiration and content.
Online photo sites have steadily grown in popularity. Millions of people use Flickr, Smugmug, Picasa, AOL Pictures, and other sites to post and share all kinds of pictures. What many people don’t know is just how many of these sites offer APIs that can be used to build mashups, photo tools, and other applications.
There are many different types of photo APIs, including photo sharing and management APIs, image editing APIs, and APIs that specialize in image slideshows, geolocation, and mapping. In fact, there are so many APIs that there’s now a ProgrammableWeb Photo API and Mashup Dashboard to keep track of them all in one place. In this post, we’ll take a look at the breadth and power of the 36 photo-related APIs and 415 photo mashups in our directory.
About half of the available photo APIs help you manage and share your photos. The Flickr API is the standout in this category, offering API methods that can be accessed using multiple standard protocols (REST, SOAP, XML-RPC). The Flickr API lets you manage and retrieve everything from photos to contacts to comments and geographical locations. The API is well documented and their developer site links to examples in over a dozen programming languages. It’s no wonder that more than 300 mashups have already been developed using the Flickr API.
The 23 API is modeled after the Flickr API, with the objective of standardizing photo APIs and providing interoperability between photo sharing sites. Other popular photo APIs include the Google Picasa API, the Smugmug API, the Buzznet API, and the AOL Pictures API.
If you’d like to offer visitors to your Web site the ability to edit their images online, there are several APIs available that will help you accomplish this. The Snipshot API is simple to apply. You send the API the URL of the image to be edited, a callback URL, and the name of the file to be output (after the user has finished editing the image). The Snipshot Services page provides plenty of example code to get you started.
The FotoFlexer API provides access to a particularly rich online image editor. The API, which can be accessed using standard Javascript, can be extended using server-side scripting technologies such as PHP. The Picnik and Pixenate APIs also provide access to powerful online image editing tools.
There are a few specialized photo APIs as well. The imageLoop API lets you create photo slideshows. imageLoop includes more than 80 well-documented functions, and can be accessed using standard protocols. Developer kits are available for programming in Java, PHP, Javascript, .NET/SOAP, and ActionScript.
The Panoramio API enables digital photographers to geolocate, store, and organize their photos, and view the photos in Google Earth and Google Maps applications. Panoramio uses JSON data formats and the REST protocol. Panoramio was acquired by Google last year.
If you live in Great Britain and you’re wondering what you’re looking at, the GetMapping API is available to assist you. The GetMapping API provides imagery that can be accessed by Web-enabled mobile phones for any location in Great Britain. You can select your location using postal code, town/village, street name, motorway junction, or East and North position. The GetMapping photos zoom to as close as 12.5 cm per pixel, which lets you see details as small as garden furniture and road markings, anywhere in the country.
With more than 400 photo mashups available, there’s a good chance you’ll find many of interest. One of the best known and most popular is Big Huge Labs, home of “fd’s Flickr Toys”. As we reported last year, it’s a great mix of over two dozen toys, games and utilities for your photos.
Some of the other more popular directory listings for photo mashups include:
To give you a sense of the scope, here’s the list of photo-related API entries in the directory:
The spectrum of available photo APIs is broad and continues to grow. Check the new ProgrammableWeb Photo Mashup Dashboard for the latest on photo APIs and mashups.
[Editor's note: Today's post comes from Kevin Farnham, who we are very happy to have joining us as a regular contributor here at ProgrammableWeb.]
Whether you’re a performer or a listener who enjoys discovering great new music, there are many music APIs available to help you accomplish your objectives. Last.fm is among the most popular music destinations on the Web. Its API provides you with data about Last.fm members, artists, albums, tracks, and more. More than 36 Last.fm Mashups are available, and the list keeps growing. With the recent addition of the handy LyricsFly API and its database of lyrics for 314,000 songs, there are now 25 music APIs in the ProgrammableWeb directory (as well as 135 music-related mashups).
But Last.fm is just one example. There are APIs that help you discover music you may like, APIs that provide detailed metadata about music, and APIs that let you store and manage your music online. Other APIs provide online radio and music subscription services. There are APIs for customizing music players, finding live music, and even for selling your own music. So many that ProgrammableWeb has just added a place to track them: the Music API and Mashup Dashboard.
Managing your music collection no longer means maintaining an orderly stack of CDs. Today we enjoy music from so many different locations and on so many different kinds of devices, that it can be easy to forget where it all is. In addition, music is available everywhere, but how can you find music that you will like?
These are the types of problems that developers are trying to solve with music APIs. Here’s a breakdown of what’s available and what problem the APIs address.
How do you find new music that you’re likely to enjoy? And once you find it, how do you bring it into your music collection and manage it such that you’ll be able to find it later on? We’ve already talked about Last.fm. But a lot of other good solutions are also available.
Like Last.fm, the OpenStrands API takes a Web 2.0 approach to music discovery: the API provides programmable access to the MyStrands.com community’s recommendation, tagging and playlist services. Other music search tools include the Digital Podcast API, which lets you search for music using keywords, the SeeqPod API, where you enter the name of a song you like, and API returns a list of recommended songs, and the Yahoo Audio Search API, which enables structured and unstructured queries for finding audio files and correlated music data.
The MusicDNS API deserves special mention: it will automatically compare your music with all the music in its database using algorithms, then identify artists whose work is similar to your own.
Once you’ve found music you like listening to, you may want to find out more information, about the songs, the artists… Several APIs provide information about music — that is, metadata. Freedb / CDDB provides information about music CDs: artist, CD-title, track list, and other information. The interesting thing is that a track for which you’d like to find information can be on a CD in your computer’s CD-drive, or on many different Freedb-compliant devices.
The MusicBrainz API, Tunelog API, and Discogs API all take a Web 2.0 approach, providing access to a large database of music metadata that is maintained by or based on the collective actions of the MusicBrainz, Tunelog, and Discogs communities.
Several APIs are help you manage your music. The Faces.com API and Ipernity API let you share music, pictures, and video with your friends and other members of the site.
Sharing your media is not all that different from broadcasting it, today. But some sites prefer the term broadcasting, implying more professional content. The Orb API allows you to broadcast your music, videos, photos, and more. Meanwhile, the RadioTime API enables you to find and enjoy over 60,000 online radio stations around the globe.
The Rhapsody API and subscription music service lets you programmatically manage your Rhapsody playlists, search for music, and access your Rhapsody RSS feeds.
There’s music, then there’s how you listen to it. The Yahoo Music Engine API, the Winamp API, and the MP3Tunes API each offer the ability customizable their respective music players via code.
After listening to some tunes by a new artist, you may want to see them perform in person. The Eventful API, JamBase API, and Gruvr API all let you search for concert information and other events. Eventful goes a step further by letting you “demand” an appearance by a performer in your area. Gruvr’s API lets you integrate live music maps and concert schedules into your own site.
If you’re a performer, then you’re sure to be interested in the above APIs. You’ll want to have your music available wherever listeners are searching for new music. You want to submit your songs to MusicDNS.org so that people who like your kind of music will be more likely to discover your own music. You’ll certainly want to publicize your performance calendar using the APIs for Eventful, JamBase, and Gruvr. And when it comes to selling your recordings, investigate the SNOCAP API, which will help you set up your own music store.
Music APIs make a wide variety of music mashups possible. One of the earlier and more popular music mashups in our listings is MusicPortl, which collates information about a specific artist from across the entire web, creating a page that includes biographical information, photos, album releases, videos, blogs, and more. MusicPortl applies seven different APIs to provide all this information: Amazon eCommerce API, Flickr API, Last.fm API, MusicBrainz API, Ontok API, Technorati API, and the YouTube API.
Many music-related mashups aggregate artist data from around the Web into a unified search interface. One of which is FoxyTunes, which was acquired by Yahoo! earlier this month and you can see our listing with APIs used here.
Of the 135 music-related mashups listed, some of the more popular include: TuneGlue, ZonTube, KEXPlorer.com, MusicTonic, One Hit Wonders Map, JukeboxTube, Indie Tube, NPR Station Map and Mashup Camp winners PodBop and the Hype Machine.
We’ll cover more of these in an upcoming post.
The variety of music-related APIs is enormous, and the number of music APIs keeps growing. Click here for an updated list of currently available music APIs.
Kevin Farnham runs Lyra Technical Systems, a small software consulting and publishing company where he often works with O’Reilly Media, currently as Community Manager for the Threading Building Blocks open source project and was previously the Managing Editor for the AOL Developer Community. On the software engineering side Kevin specializes in mathematical modeling, simulation, and scientific data analysis.
Now that Microsoft has responded to Yahoo’s initial rejection of their offer it looks like this story isn’t over yet. Whether or not this deal goes through, it’s worth noting that both of these companies take developing open web APIs as a key part of their strategy going forward (even in the midst of the talks last week Yahoo released their Yahoo Live API). Overall Yahoo has 28 open web APIs and Microsoft has 22 open web APIs. This means that between them there are 50 APIs. Of course there’s overlap and given the technical challenges it’s not easy to combine platforms (ex: look at how Flickr and delicious APIs at Yahoo retain their own flavor). To give a sense of comparison the following table gives you an overview of how the APIs currently stack up: