Cambridge University Library

Cambridge University Library /api

some lovely JSON output

Welcome to lib.cam.ac.uk/api. This site provides access to the APIs (or Web Services) provided by Cambridge University Library, including XML/JSON based web service interfaces for the library catalogues and other online library services, (API stands for 'Application Programming Interface', a mechanism that provides structured information allowing pieces of software to communicate with each other).

Usage

  • Some API's now have specific licensing terms attached - click on the link for full detials
  • Most services are unrestricted for use by anyone (PDDL), but some provide access to subscription-based online content or personal data.
  • In these cases, we only detail what's potentially available, and ask that you contact us first if you wish to gain access, explaining how and what you would like to accomplish. For these services, all access would be subject to theindividual license restrictions of the specific resource you wish to access and any appropriate UK legislation

Support

  • The APIs documented here are provided by system vendors or developed in-house, and mostly come with no warranty or support. As such we are currently limited in how we can support usage. Nonetheless, please contact us if you have any serious problems and we will try to assist
  • We would also love to hear how you are using these services and what you think of them.

Documentation

Documentation is currently improving, please see below for more details. Where possible each interface includes a form to view and test httpd request parameters in a browser.

For the full range of tools, services, gadgets and gizmos provided by Cambridge University Library, some of which are based on these APIs, see our Library Toolbox. The UL, in partnership with CARET, has completed a JISC project on APIs and the services you can build on them. The project blog can be found here, and documentation and guidelines written as part of the project can be found here

Cambridge University Library - Electronic Services and Systems


Catalogue Data

  • Aquabrowser (LibrarySearch) SRU Gateway - SRU compliant gateway (largely) for providing record data in Dublin Core or Marc XML. Provides results from the Aquabrowser Resource Discovery platform underpinning LibrarySearch. Output is currently in XML only. A good starting point. (more details...)
  • Aquabrowser Search Service (thin) takes a range of parameters and returns only Voyager bibliographic record id, title, database, cover image and Aquabrowser record id for the main deduplicated/FRBRised record. Returns data in XML or JSON. Usually used in conjunction with the Aquabrowser All Records Service (below) in systems which need to retrieve minimal data from an initial search (i.e. to build a results list) and then retrieve further data on demand (more details...)
  • Aquabrowser All Records Service takes the Aquabrowser record id for the main record and returns all records in every database with a copy of that title. These can then be passed to the Full Record Service (above) to build a full, deduplicated and FRBRised list of holdings for a title (more details...)
  • Newton Search Service takes a range of parameters and returns full bibliographic, holdings and item data in XML or JSON. It uses the underlying system vendor search api to retrieve record ids, and then fills out the data with locally-written queries (more details...)
  • Newton Search Service (thin) takes a range of parameters and returns only bibliographic record id, title and database data. It uses the underlying system vendor search api to retrieve record ids, and then grabs minimal extra data with locally-written queries. It returns data in XML or JSON. It is usually used in conjunction with the Full Record Service (below) in systems which need to retrieve minimal data from an initial search (i.e. to build a results list) and then retrieve further data on demand (more details...)
  • Full Record Service takes bib record id and database parameters and returns full bibliographic, holdings and item details in XML or JSON. It is often used in conjunction with Search Service (thin) (above) (more details...)
  • Random Search Service takes single or multiple database(s) as parameters and returns a random record in XML or JSON. We're not quite sure what this one's for yet (more details...)

Circulation Services

A set of APIs are available to provide access to library account functionality. As this include access to personal information, usage is accordingly restricted to valid functions within the University. Please contact us if you would like to make use of this service.

Library Information

  • Library data takes a library code, library id, database and bibliographic id, database and holdings id, subject id or library type code as parameters and sends back library information as XML - with each "field" as an attribute in a "library" element (it's mainly there to support the Cambridge Libraries Google map, which likes to get its data that way). If you pass no parameters, it returns data for all libraries (more details ...)
  • Library data (elements) exactly the same as the above, except each piece of info is returned in an element for consistency with other web services (more details ...)

Ejournal holdings information

Cambridge University Library tracks its ejournals subscription holdings using the OpenURL based SFX link resolver software. Two API's are available, based upon those in the SFX software:

  • The rapid service indicator can quickly indicate if online full text for a specfic ejournal title or article is available on a Cambridge subscription with a simple yes/no response. It is best used for batch querying to enhance search results (more details ...)
  • The full OpenURL request service accepts citation data at the article and title level and returns information on relevant full text services, including links to full text on publisher websites and information on restrictions on access (more details ...)

Third party online databases

Our CrossSearch federated search service allows for multiple subscription databases such as Scopus or Web of Knowledge to be queried at once. This is based on a commerical product, Serials Solutions 360 Search which also includes an SRU/SRW XML gateway.

As this gateway can provide direct access to subscription content, its usage is accordingly restricted. Please contact us for further details.

DSpace institutional repository

Two programatic interfaces to the DSpace@Cambridge repository exist:

If you would like to make use of these services, please contact the DSpace@Cambridge team.

External services

We've also created API's around external services that may be useful:

  • XISBN - This is a service provided by OCLC. It takes an ISBN and returns ISBNs for related works (different editions, volumes, languages etc. A local 'wrapper' service is available to query XISBN and provide XML, JSON or preformated HTML output. This serviced is licensed from OCLC to University yof Cambridge users only. Please contact us if you wish to make use of it
  • XISSN - Also from OCLC, this works in a similar way, taking an ISSN and returning related ISSN's (changes in title, e-varients etc). A local 'wrapper' service< is again available to query the service and provide XML, JSON or preformated HTML output. This serviced is licensed from OCLC to University of Cambridge users only. Please contact us if you wish to make use of it
  • COPAC - The UK national research library catalogue. A local 'wrapper' service has been built around the SRU/SRW gateway COPAC provides to return JSON and XHTML. It currently only accepts ISBN and ISSN