Bibliographic Resource

URLs and Supported Operations

The Bibliographic Resource supports 6 operations.

Operation Resource URL HTTP METHOD Response Code
Create{inst}&classificationScheme={scheme}&holdingLibraryCode={holdingLibraryCode} POST 201
Read{oclcNumber}?inst={inst}&classificationScheme={scheme}&holdingLibraryCode={holdingLibraryCode} GET 200
Update{inst}&classificationScheme={scheme}&holdingLibraryCode={holdingLibraryCode} PUT 200

HTTP Accept Types

The Metadata API Bibliographic Record Resource will produce three different representations that can be sent back to clients. All three are representations serialize an AtomPub that wraps a bibliographic record. There are two XML serializations for MARC/XML and OCLC's native CDF records. The third serialization is a translation of the CDF record into JSON:

HTTP Request Content Types

When sending requests to the service to create and update records, you can send the serializations that are either wrapped or unwrapped:


Parameter Required? Description Expected/Sample Value
inst No

Registry ID of the institution who is creating/editing the record

Either this parameter or the instSymbol should be sent

instSymbol No

OCLC Symbol of the institution who is creating/editing the record

Either this parameter or the inst should be sent

classificationScheme Yes The classification scheme
  • DeweyDecimal
  • LibraryOfCongress
  • NationalLibraryOfMedicine
  • NationalAgriculturalLibrary
  • GovernmentDocument
  • UniversalDecimal
  • CanadianNationalLibrary
holdingLibraryCode No Four letter holding code to set the holding on. Valid codes for a given institution can be obtained via a request for holding code resource  

Example Request

Read a bibliographic record with the OCLC Number 319501305:


General Validation

When creating or updating records, OCLC's heading control and reformat operations are always called. Additionally, all records are passed through validation routines.


When performing a read of a record, if the OCLC Number passed in the read has been merged then the web service will return the record for the OCLC Number that the original record has been merged into. The returned record will the correct merged record OCLC number in the 001.


When performing a create of a record, a holding will not automatically be set for the library creating the record. To both create a record and set a holding on the record for the creating library. Two API calls are necessary. One to create the record. One to set holdings on the record using the Holding Resource.


When updating records, they must include a numeric OCLC Number in the 001 field. Do not include "ocm", "ocn", or "on" prefixes.

When updating records, if the record being updated is an OCLC Number that has been merged, then the web service will return an error.

When updating records, the records must include the 005 field. The value of this field must match the value current record in WorldCat.

We are a worldwide library cooperative, owned, governed and sustained by members since 1967. Our public purpose is a statement of commitment to each other—that we will work together to improve access to the information held in libraries around the globe, and find ways to reduce costs for libraries through collaboration. Learn more »