A writable API for O'Reilly

Fluidinfo's new API allows anyone to add information to O'Reilly book and author objects.

Today we’re announcing that Fluidinfo has created a writable API for O’Reilly books and authors. We’re also launching a related API contest.

[Disclosure: Tim O’Reilly is an investor in Fluidinfo.]

We’ve added information to Fluidinfo for about 2,300 O’Reilly books (or books they have rights to), and about 2,000 authors. The objects in Fluidinfo are tagged with O’Reilly information, using the oreilly.com domain in their tag names.

For any O’Reilly book you can use the Fluidinfo API (description, details) to obtain any of 30 tags containing information you’d expect from a regular book API: author name(s), title, price, page count, homepage, cover image, etc. For each author there are tags with details of name, works, author page on the O’Reilly site, photo, areas of expertise, etc.

The Fluidinfo query language lets developers obtain book and author information using different combinations of these tags.

Beyond read-only APIs

O’Reilly already has an API (based on RDF), so why would we bother making another one?

One answer is that with Fluidinfo it’s simple to make APIs, so we did it because it’s a nice example and it was easy. Another is that accessing a book via the RDF API pulls back all its metadata, so that API is not fine grained. By splitting the metadata into tags on Fluidinfo objects, it becomes easier for programs to do queries based on individual tags or to obtain particular pieces of information about books or authors.

But there’s a much more important reason. Because Fluidinfo objects don’t have owners (the tags on them do, however), anyone can add information to the book and author objects that hold the O’Reilly information.

To illustrate, we added information from Amazon, Google Books, LibraryThing, and Goodreads onto the exact same objects that hold the O’Reilly information. That means you can trivially query across data from different sources. Plus, when you look at a Fluidinfo object, such as the one for “Programming Python”, you’ll see information from all these places, with tags that contain corresponding domain names.

Fluidinfo tags
This screenshot shows some of the tags associated with the O’Reilly book “Programming Python.” Click here for the full view.

Having tags from these well-known book sites is not the end of the story. Regular people get to have a voice, too. For example, the Fluidinfo object shown above includes tags for several people who have marked “Programming Python” as a book they own.

In Fluidinfo, objects can always be added to by anyone or any application. If you’re a developer you can sign up for a Fluidinfo account and easily write applications that not only fetch information but also augment the tags on the book and author objects. You don’t have to stop to ask permission to do something creative, and you don’t have to put your data elsewhere as you’d need to do if the O’Reilly information was only available via a read-only API. There are plenty of open source client-side libraries to help you.

Because the O’Reilly API provides access to openly writable data, we describe it as a writable API. It’s an example of how we’re trying to make the world more writable.

To explain the details of the API, we’ve written two companion posts. The first explains the structure of the O’Reilly data in Fluidinfo, i.e., the oreilly.com book and author tags you’ll find on objects in Fluidinfo. The second shows example O’Reilly API queries to give you a flavor for the ways you can access the data.

We hope you’ll find this as exciting and full of potential as we do, and that you’ll join us in collectively marking up the world.


tags: , , ,