/
IIIF APIs Documentation

IIIF APIs Documentation

The Europeana APIs offer for IIIF covers the Presentation API (versions 2.1 & 3), the Content Search API (version 1) and make use of the IIIF Image API when made available by content providers. Additionally, Europeana’s IIIF offer also includes support for fulltext (such as transcriptions, translations of transcriptions, captions and subtitles) via the IIIF Fulltext API using an EDM extension for fulltext. These APIs follow the specifications defined by the IIIF consortium.

You don’t need an API key for this API!

Introduction

The International Image Interoperability Framework (IIIF) is a range of standards that were initially designed to offer a standardized and scallable way to describe how digital objects composed of one or more images can be displayed to an end-user. This offers the flexibility to developers and users to respectively develop and use different IIIF compatible viewers according to their needs and preferences. Since its first release, it has grown to cover other types of media such as sound and video, and soon also 3D.

 

 

IIIF datasets in Europeana: A Scholar’s delight

The recently launched Europeana Media player brings Europeana into a new era of International Image Interoperability Framework (IIIF) compatible, interoperable and unified playout of audiovisual heritage material online. 

IIIF & Europeana Working Group

This dedicated IIIF & Europeana Working Group follows the first of the proposals from the Task Force 'Preparing Europeana for IIIF involvement.'

Impact Assessment report: EuropeanaTech and IIIF

This assessment looked at the impact of EuropeanaTech’s members, steering group and the Europeana Initiative’s work on IIIF - read a summary of the research and download the full report. 

Retrieving a manifest

A manifest describes the information needed for a viewer to display a digital object to the end-user, such as basic metadata such as a title and description, and the content that makes part of the digital object. The manifest is not meant to present all the descriptive metadata associated to a given digital object but just the bare minimum for a user to grasp what it is about. If you wish to access the full metadata for an item, see the Record API. The manifest also offers links to the Record API using the “seeAlso“ field.

The manifests are generated on-the-fly by converting the metadata records represented in EDM into the IIIF Presentation API specification. Presently, both version IIIF Presentation API 2.1 & 3 are supported. The novelty of version 3 is that it also covers audio and video besides images.

Request

https://iiif.europeana.eu/presentation/[RECORD_ID]/manifest Accept: [ACCEPT]

Parameter

Location

Description

Parameter

Location

Description

RECORD_ID

path

The identifier of the record which is composed of the dataset identifier plus a local identifier within the dataset in the form of "/DATASET_ID/LOCAL_ID", for more detail see Europeana ID.

Accept

header

Used to indicate the mimetype of the format and IIIF version. The following indicate the Accept header to be used for version 2.1 and 3 respectively:

application/ld+json;profile="http://iiif.io/api/presentation/2/context.json"

application/ld+json;profile="http://iiif.io/api/presentation/3/context.json"

format

(optional)

query

A convenience parameter used to indicate the version of the IIIF Presentation API. Indicating the format within the Accept header is the preferred way to request a specific version. This parameter should not be used if a profile is indicated in the Accept header.

Response v3:

Field

Datatype

Description

Field

Datatype

Description

Manifest

@context

String (URL)

The JSON-LD context corresponding to the version of the Manifest.

Always with the value "http://iiif.io/api/presentation/3/context.json" for v3 Manifests.

id

String (URI)

The unique identifier of the Manifest

type

String

The type of the resource. Always set to "Manifest" for Manifests.

label

Object (LangMap)

The title of the Item in multiple languages when available.

summary

Object (LangObject)

A longer-form prose description of the item in multiple languages when available.

metadata

Array (Metadata)

A section dedicated to present a portion of the metadata for this Item for display purposes.

thumbnail

Array (Thumbnail)

The thumbnail for this Item.

navDate

String (Datetime)

A date that can be used for navigation purposes when presenting the resource to the user in a time-based user interface, such as a calendar or timeline.

homepage

Array (Homepage)

The URL of this item in the Europeana Website.

requiredStatement

Object (Attribution Statement)

A text that must be shown when the item is displayed or used, presenting the copyright or ownership statements and an acknowledgement of the owning and/or publishing institution.

rights

Object (Rights)

One of the rights statements defined for use in Europeana. A rights statement that indicates the copyright, usage and access rights that apply to the content resource.

provider

Array (Provider)

The information about the provider of this Manifest. For Europeana, the Provider will always be ‘Europeana’.

seeAlso

Array (Dataset)

A list of datasets that this item is linked to. An item will most likely always link to 1 dataset.

service

Array (Search Service)

A list of services that are available for this Manifest. Only the search service is available.

start

Object (Reference)

Refers to the first Canvas to be displayed to the user.

items

Array (Canvas)

A ordered list of canvases that make up this Manifest. A canvas is a view (or individual page) of an item.

Canvas

id

String (URI)

The unique identifier of the Canvas.

type

String

The type of the resource. Always set to "Canvas" for Canvases.

label

Object (Language Map)

A label for the Canvas in multiple languages if available.

height

Integer

The height of the canvas which corresponds to the height of the content resource.

width

Integer

The width of the canvas which corresponds to the width of the content resource.

duration

Number

The duration (measured in seconds) of the canvas which corresponds to the duration of the content resource (only applies to Audio or Video).

requiredStatement

Object (Attribution Statement)

A text that must be shown when the content resource is displayed or used, presenting the copyright or ownership statements and an acknowledgement of the owning and/or publishing institution.

rights

Object (Rights)

One of the rights statements defined for use in Europeana. A rights statement that indicates the copyright, usage and access rights that apply to the content resource.

thumbnail

Array (Thumbnail)

The thumbnail, a smaller image that pictorially represents this content resource.

items

Array (Content Page)

A list representing the content that makes up the Canvas. For Europeana every canvas always will have 1 item, represented by 1 image, and thus 1 content page.

annotations

Array (Full-text Page)

A list representing the textual annotations to this canvas. For Europeana, there will always be 1 item here, being the full-text textual representation of what the image on the canvas shows.

Content Page

type

String

The type of the resource. Always set to "AnnotationPage" for content pages.

items

Array (Painting Annotation)

A list of painting annotations that represent the content that is display in the canvas. Only one painting annotation is present per canvas.

Painting Annotation

type

String

The type of the resource. Always set to "Annotation" for painting annotations.

motivation

String

A motivation for the annotation, in this case declaring that the image will be “painted“ on to the canvas.

timeMode

String

Indicates that a content resource with duration must be trimmed to the duration of the Canvas.

body

Object (Content Resource)

The content resource to be displayed in the Canvas.

target

String (URI)

The identifier of the Canvas on which the content resource will be displayed.

Content Resource

id

String

The URL of the content resource.

type

String

The type of the resource. One of “Image“, “Video“, “Sound“, “Text“.

height

Integer

The height of the content resource.

width

Integer

The width of the content resource.

duration

Number

The duration of the content resource.

language

String

The language of the content resource represented as a two letter ISO639 code.

service

Object (Image Service)

The IIIF Image service endpoint. It allows for the image to be progressively retrieved via tiles with varying resolutions.

Full-text Page

id

String (URL)

A reference to a page containing all full-text annotations available for this content resource.

type

String

The type of the resource. Always set to "AnnotationPage" for full-text pages.

language

String

The language of the full-text represented as a two letter ISO639 code and match the languages that are supported by Europeana.

textGranularity

Array (String)

The several levels of granularity represented on this page.

Image Service

id

String (URL)

The URL of the IIIF service hosting/serving the image.

type

String

Type of the resource. Always set to "ImageService3" for a image service.

profile

String (URI)

The compliance level profile of the IIIF image service endpoint. It defines the operations that are accepted by the server to be applied on the image being retrieval.

Search Service

@context

String (URI)

The JSON-LD context for the search service. Always with the value "http://iiif.io/api/search/1/context.json".

id

String

The URL of the Content Search service for this item.

profile

String

The version of the content search service. Always with the value “http://iiif.io/api/search/1/search“.

Metadata Property

label

Object (Language Map)

The name of a metadata property. One of: date, format, relation, type, language, source.

value

Object (Language Map)

The value of the metadata property in the available languages.

Provider

id

String (URI)

The URL of the about us page in the Europeana Website.

type

String

The type of the resource. Always set to “Agent“.

homepage

Array (Homepage)

A reference to the Europeana Website landing page.

logo

Array (Logo)

The URL of the Europeana logo to be used for display.

Attribution Statement

label

Object (Language Map)

Always with the value “Attribution“

value

Object (Language Map)

An attribution snippet to be used for display.

Rights

id

String (URI)

The URL of one of the rights statements defined for use in Europeana.

type

String

The type of the resource. Always set to “Text“.

format

String

The mimetype of the resouce being linked to.

Thumbnail

id

String (URI)

The URL of the thumbnail.

type

String

The type of the resource. Always set to “Image“.

width

Integer

The width of the thumbnail.

height

Integer

The height of the thumbnail.

Dataset

id

String (URI)

The URL for accessing the metadata record using the Record API.

type

String

The type of the resource. Always set to “Dataset“.

format

String

The format in which to access the metadata of the record represented as a media-type following the RFC 6838 specification.

profile

String (URL)

The model used to represent the metadata. Only EDM is supported.

Homepage

id

String (URI)

The URL to the webpage.

type

String

The type of the resource. Always set to “Text“.

label

Object (Language Map)

A label to be used for display.

format

String

The mimetype of the resouce being linked to.

Logo

id

String (URI)

The URL of the logo.

type

String

The type of the resource. Always set to “Image“.

Language Map

{LANG}

Array (String)

An object containing several pairs of language and values. The language is represented using the ISO639 code.

Response v2.1:

Field

Datatype

Description