IIIF API reference
The International Image Interoperability Framework (IIIF) is a community effort among the world’s leading research libraries and image repositories to collaboratively produce an interoperable technology and community framework for image delivery.
OCLC and CONTENTdm are part of this community effort and support the APIs defined by IIIF. CONTENTdm repositories have full support for the IIIF Image and Presentation APIs for all image-based records.
IIIF API support summary
Image API: version 2 (level 1)
Presentation API: version 2.1.1
- Item manifest:
- Collection manifest:
- Collection-of-collections manifest:
Work with the IIIF Image API
CONTENTdm utilizes the IIIF Image API to build its default image display. Below is an example record of a CONTENTdm image. Click the double diagonal arrow button on the upper-right corner of the image to see the viewer:
To verify that a CONTENTdm image is supported by the IIIF Image API, a request can be made to return a JSON document providing image information, including width, height, and scaling information. This CONTENTdm image information URL pattern follows the IIIF Image API specification:
- yourCONTENTdmURL/digital/iiif/{collection alias}/{record ID}/info.json
For the example record noted above, the "info.json" URL is:
The IIIF Image API is a powerful and flexible service for interaction with digital images. For example, here's a request to generate a JPEG of the entire image at 15% zoom:
And here's another request, showing a selected detail from the full image:
And one more example, showing the image resized for use as a thumbnail image:
For more information on these and other methods for calling the CONTENTdm IIIF Image API service, consult the IIIF Image API specification.
Work with the IIIF Presentation API
Item manifests
The image example above also supports the IIIF Presentation API response. The IIIF Presentation API call which returns the JSON manifest is:
CONTENTdm's Presentation API request URL follows the pattern described in the IIIF Presentation API specification:
- yourCONTENTdmURL/iiif/info/{collection alias}/{record ID}/manifest.json
Collection manifests
For all CONTENTdm collections that contain images, a collection-level collection manifest is automatically created. This collection manifest data structure is part of the IIIF Presentation API specification and is a JSON file that lists each item manifest in the collection. For large collections, this collection manifest will be paginated into multiple files. Collection manifests are useful for any viewer or aggregator that needs to see a complete list of every item in the collection. Universal Viewer directly supports loading and parsing collection manifests.
For the example manifest above, see its parent collection manifest here:
These collection-level manifests in CONTENTdm will always follow the pattern described in the IIIF Presentation API specification:
- yourCONTENTdmURL/iiif/info/{collection alias}/manifest.json
Collection-of-collections manifest
Similar to the collection manifest data structure, CONTENTdm automatically creates a top-level manifest that links to each of the collection manifests. This repository-level JSON file can be considered as equivalent to a Sitemap.xml file, although it currently only includes references to image records in CONTENTdm. For the example item and collection listed above, the sitewide manifest is here:
The sitewide manifest follows this pattern:
- yourCONTENTdmURL/iiif/info/manifest.json
A note about HTTPS
CONTENTdm's IIIF API functionality supports HTTPS requests. If the URL being requested is at *.oclc.org, both the Image and Presentation API requests will automatically redirect to HTTPS. This allows you to include IIIF calls directly in your other content served over HTTPS.
If your CONTENTdm website uses a custom URL (not *.oclc.org) you will need to work with OCLC Support to install your SSL certificates to enable HTTPS support.