WorldCat Search API tips and tricks

There are lots of types of requests which can be made to the WorldCat Search API which aren't always obvious. One of my favorites in the "Holding Location" request type. Most developers use this type of request to find out which libraries hold a particular book.

For example -

But it also works without the filter to a specific books. So you can do requests like[key]

which will get you public libraries in the state of Maine:

It also can be used to find simple information on a particular library based on OCLC Symbol[wskey]

will return some very limited information about the library. Basically its name and address.

Both of these types of requests can be made using the WorldCat Registry web service. But using the WorldCat Search API has a couple of advantages.

  • If you request information on a single library from the Registry you're going to get back a big and complete record of data about that library. Great if you want all that data. Bad if you for instance just want the library name.
  • The WorldCat Registry only returns data in XML format. Holdings requests of the WorldCat Search API can be returned as JSON, which can be simpler to process\

Another type of request that can be REALLY helpful is the library catalog url type of request. It looks like this[key]

if the library has the item then it will return an XML document with information about that library and a url to that item in the library catalog. If it doesn't you get an XML response devoid of holding element. Knowing this you can do a quick check to see if a library has something.

You can also easily see how many peer institutions or in libraries if your consortia have something by doing this type of request,TXH,YCM&wskey=[key]

I'm sending 3 OCLC Symbols and the API will return holding records for each which actually hold the item. I can then count the holding records and know X out of 3 hold the item.

A second favorite type of request is that for a single bibliographic record.[key]

I really like this one since we added support for Dublin Core because it is a fast way to get basic metadata about a given item.[key]

You can look records up by OCLC Number, ISBN or ISSN. I like to use this to get more metadata if I'm sending around arrays of identifiers and need to eventually build a simple table to display basic information.

You may be asking yourself how I know all this. It mostly comes from practically breathing the documentation on the various OCLC web services. Any developer can learn more details about any of our web services by reading the documentation on the Developer Network site. There is even space for you to leave comments and questions on any page.


  • Karen Coombs

    Karen Coombs

    Senior Product Analyst