- For those newly aquainted with the IIIF specification, this
+ For those newly aquainted with IIIF, this
introduction describes the purpose and applications of
IIIF and the Internet Archive's IIIF
Service.
IIIF (the "International Image
- Interoperability Framework") is a collection of web standards for
- manipulating and serving image resources (Image API), as well as
- structuring collections of these images (Presentation API).
+ Interoperability Framework") is a set of open standards for delivering high-quality, attributed digital objects online at scale. It’s also an international community developing and implementing the IIIF APIs. IIIF is backed by a consortium of leading cultural institutions. For more details and examples, check out the IIIF website, or the full API specifications.
+
For a very high-level overview, see "How IIIF Works," published by the IIIF Consortium.
Image API
- The Image API is an
+ The Image API is an
interface capable of producing and serving arbitrary tiles of
- arbitrary regions of an image (like Google Maps). The properties
+ arbitrary regions of an image (just like the different scales of resolution in Google Maps). The properties
of these image tiles are specified within a URL, allowing
- permenant citation and retrieval at a later time
- (see idempotence).
+ permenant citation and retrieval at a later time.
The Image API supports and powers other computer applications
- (like zoomable image
- viewers
- and book
- readers).
+ (like deep-zoomable image
+ viewers, comparison viewers, and more .
Presentation API
- The Presentation
+ The Presentation
API allows institutions to publish and consume metadata about
collections and sequences of image resources, called Manifests. A
Manifest may be composed of resources from any number of different
institutions serving their images in IIIF format.
-
-
- For more information, read about IIIF's
- goals here.
-
- At its essence, the goal of IIIF is interoperability: to make an
- institution's image resources available and accessible to web
+ In essence, the goal of IIIF is interoperability: to make an
+ institution's image and audio/visual openly accessible resources available and easily reusable via web
applications and clients running on other domains.
- The Internet Archive IIIF API
- v1
- (alpha)
- is
+ The Internet Archive IIIF API is
a RESTfulweb
- service which implements IIIF (Image API & Presentation
- API) and provides a mechanism for accessing all of the Archive's
- images and books in IIIF format. Every image item in the Archive
- now has has a corresponding info.json and every book a
+ service which implements the IIIF API specifications
+ API and provides a mechanism for accessing nearly all of the Archive's
+ items IIIF format. Every image item in the Archive
+ now has has a corresponding info.json and nearly all image, text, audio and movie item has
manifest.json. This means, you can seamlessly view any Archive.org
- image or book in any interface compatible with IIIF (such as
- OpenSeadragon, Mirador, and the Universal Viewer) and also enjoy
+ image or book in any compatible IIIF viewer and also enjoy
the enhancements they provide (annotation, side-by-size viewing,
and loading images from different institutions into the same
space).
@@ -84,24 +65,6 @@
- The Internet Archive IIIF API v1 (alpha) is built using
- Python3.4 Flask
- web application framework and
- the iiif2
- library. The source code
- for iiif.archive.org is publicly
- available here,
- as is the source of
- the iiif2 image
- processing
- library here. For
- questions on implementing a service,
- contact support@archive.org.
-
This describes the resources that make up the Internet
- Archive IIIF API v1 (alpha). If you have any problems or
+ Archive IIIF API. If you have any problems or
requests, please
contact support.
- Caution. The Internet Archive IIIF
- API is currently at version 1 (alpha). This means it is currently
- under development as a prototype for community feedback and may be
- either discontinued at any time, or deprecated in favor of an
- official version 1 release.
-
+ The Internet Archive IIIF API service that launched in 2015 was an alpha service that has now been officially adopted.
+ However, it is still under development and we welcome community feedback on desired features.
- When you fetch a list of resources, the response includes a subset
- of the attributes for that resource. This is the “summary”
- representation of the resource. (Some attributes are
- computationally expensive for the API to provide. For performance
- reasons, the summary representation excludes those attributes. To
- obtain those attributes, fetch the “detailed” representation.)
-
-
-
- GET {{ request.url_root }}
-
-
-
Detailed Representations
-
- To get detailed metadata about a specific Archive.org item, fetch
- the item's metadata by ID through the Archive.org. (Note that
- authorization sometimes influences the amount of detail included
- in the representation.)
-
- Requests that return multiple items will be paginated to 50
- items by default. You can specify further pages with the ?page
- GET parameter. For some resources, you can also set a custom
- page size up to 100 with the ?limit parameter. Note that for
- technical reasons not all endpoints respect the ?limit
- parameter, see events for example.
-
-
-
- Item count begins at 0 (the first item is the 0th entry). Paging
- begins at 1, on the first page (i.e. ?page=1)
-
- The API supports Cross Origin Resource Sharing (CORS) for AJAX
- requests from any origin. You can read
- the CORS W3C
- Recommendation, or
- this
- intro from the HTML 5 Security Guide.
-
- For the API v1 (alpha) API, no rate limiting is in effect -- we
- are operating on a trust model. For the stable v1 release,
- unauthenticated requests will be limited to 2,000 per hour. When
- this change comes into effect, you will be able to check the
- returned HTTP headers of any API request to see your current rate
- limit status:
-
The maximum number of requests that the consumer is permitted to make per hour.
-
-
-
X-RateLimit-Remaining
-
The number of requests remaining in the current rate limit window.
-
-
-
X-RateLimit-Reset
-
The time at which the current rate limit window resets in UTC epoch seconds.
-
-
-
-
-
- For more information, refer to
- github's Traversing
- With Pagination documentation, as pagination for our interface
- is modeled after their service.
-
- Querying the root of the Internet Archive IIIF v1 (alpha) server
- results in a list of all publicly available and compatible image
- and book items. Some items which are indexed in our search
+ Querying the root of the Internet Archive IIIF API
+ results in a list of all publicly available items. Some items which are indexed in our search
engine but do have no associated content files will result in an
- Internal Server Error. You can confirm whether the resource
+ Internal Server Error. There are also a small number of items returned that do not have material types associted with them that are IIIF compatible. You can confirm whether the resource
actually exists or not by visiting the item's /details page on
- archive.org. In the official v1 release, the message displayed
- for this error will be clarified.
+ archive.org.
Items available through the this service include Images, Books,
- Book Pages. This includes any item on archive.org which has a
- `mediatype` of `texts` or `image` which can be verified through
+ Audio, and Movie materials. This means any item on archive.org which has a
+ `mediatype` of `texts`, `image`, `audio`, or `movie`, which can be verified through
the metadata
API.
-
-
Supported Image Formats
-
- The image formats available for a given item is determine by the
- item's files on archive.org. To see what formats are available for an item, go to
- https://archive.org/metadata/:itemid/files.
-
-
- The API is capable of interfacing with jp2 (openjpeg), gif, jpg, tiff, png.
+
There are some edge cases where rare file types are not represented in the IIIF presentation manifest. If you encounter an item where you think this may be the case, contact support.
IIIF is an initialism that stands for the International Image Interoperability Framework.
+
- For those newly aquainted with IIIF, this
- introduction describes the purpose and applications of
- IIIF and the Internet Archive's IIIF
- Service.
+ This introduction describes the way that the IIIF standards have been applied to the Internet Archive's services.
- IIIF (the "International Image
- Interoperability Framework") is a set of open standards for delivering high-quality, attributed digital objects online at scale. It’s also an international community developing and implementing the IIIF APIs. IIIF is backed by a consortium of leading cultural institutions. For more details and examples, check out the IIIF website, or the full API specifications.
-
-
For a very high-level overview, see "How IIIF Works," published by the IIIF Consortium.
-
-
Image API
-
- The Image API is an
- interface capable of producing and serving arbitrary tiles of
- arbitrary regions of an image (just like the different scales of resolution in Google Maps). The properties
- of these image tiles are specified within a URL, allowing
- permenant citation and retrieval at a later time.
- The Image API supports and powers other computer applications
- (like deep-zoomable image
- viewers, comparison viewers, and more .
+ IIIF is a set of open standards for delivering high-quality, attributed digital objects online at scale. It’s also an international community developing and implementing the IIIF APIs in various contexts. IIIF is backed by a consortium of leading cultural institutions. For more details and examples, check out the IIIF website, or the full API specifications.
+
For a very high-level overview see "How IIIF Works" published by the IIIF Consortium.
-
Presentation API
-
- The Presentation
- API allows institutions to publish and consume metadata about
- collections and sequences of image resources, called Manifests. A
- Manifest may be composed of resources from any number of different
- institutions serving their images in IIIF format.
-
In essence, the goal of IIIF is interoperability: to make an
- institution's image and audio/visual openly accessible resources available and easily reusable via web
- applications and clients running on other domains.
+ institution's image and audio/visual openly accessible resources available and easily reusable in a variety of web viewers and players without the need for any special plugins or software.
The Internet Archive IIIF API is
a RESTfulweb
- service which implements the IIIF API specifications
- API and provides a mechanism for accessing nearly all of the Archive's
- items IIIF format. Every image item in the Archive
- now has has a corresponding info.json and nearly all image, text, audio and movie item has
- manifest.json. This means, you can seamlessly view any Archive.org
+ service which implements the IIIF API specifications
+ and provides a mechanism for accessing nearly all of the Archive's
+ items in IIIF format. Every image item in the Archive
+ now has has a corresponding info.json and nearly all image, text, audio and movie items have an associated
+ manifest.json file. This means you can seamlessly view any Archive.org
image or book in any compatible IIIF viewer and also enjoy
the enhancements they provide (annotation, side-by-size viewing,
and loading images from different institutions into the same
@@ -63,6 +40,42 @@
citeable image tiles of any arbitrary region of any image or book
found in the Internet Archive.
+
+
Image API
+
+ The Image API is an
+ interface capable of producing and serving arbitrary tiles of
+ arbitrary regions of an image (just like the different scales of resolution in Google Maps). The properties
+ of these image tiles are specified within a URL, allowing
+ permenant citation and retrieval at a later time.
+ The Image API supports and powers other computer applications
+ (like deep-zoomable image
+ viewers, comparison viewers, and more).
+
+
+
The Image API creates images using the following template:
For more details on the options for constructing image requests via URL parameters, see the full IIIF Image API specifications.
+
+
Presentation API
+
+ The Presentation
+ API allows institutions to publish and consume metadata about
+ collections and sequences of digital objects, called "manifests." For images and texts, this is almost always used in conjunction with the IIIF Image API to create manifests for digital objects that any IIIF viewer can use to present an engaging deep-zoom experience.
+
+
The Presentation API can also faciliate the portability and playback of time-based media like audio and video files. In the A/V context, IIIF manifests often present multiple playback options based on the media formats and quality types available.
+
+
A manifest for an Internet Archive items look like this:
This describes the resources that make up the Internet
- Archive IIIF API. If you have any problems or
+ Archive IIIF APIs. If you have any problems or
requests, please
contact support.
- The Internet Archive IIIF API service that launched in 2015 was an alpha service that has now been officially adopted.
- However, it is still under development and we welcome community feedback on desired features.
+ The Internet Archive IIIF API service that launched in 2015 was an alpha service that has now been officially adopted as of September 2023. While stable, it is still under development and we welcome community feedback on desired features.
Audio, and Movie materials. This means any item on archive.org which has a
`mediatype` of `texts`, `image`, `audio`, or `movie`, which can be verified through
the metadata
- API.
+ API.
There are some edge cases where rare file types are not represented in the IIIF presentation manifest. If you encounter an item where you think this may be the case, contact support.
What you'll need to get the IIIF manifest for any Internet Archive item is the identifier, which is the alphanumeric part of the URL that follows the "/details/" part.
+
+
So, from our example just above, the Internet Archive identifier for that item is:
img-8664_202009
+
+
To then get the IIIF manifest, plug in the ID to the following template:
+
https://iiif.archive.org/iiif/:id/manifest.json
+
+
For the example above, the final IIIF manifest URL would be:
More than one IIIF manifests can be formally grouped into what is called a "collection" manifest.
+
+
On archive.org, a collection is a group of item pages organized under a collections page. For convenience, we've create a route that generates a IIIF collection manfiest for all of the collections on the Internet Archive. For more on how collections work, see the "Collections - A Basic Guide" page.
+
+
As with the manifests above, you'll need the Internet Archive identifier for the colllection. Here's an example collection page from the University of Leeds:
More than one IIIF manifests can be formally grouped into what is called a "collection" manifest.
+
+
On archive.org, a collection is a group of item pages organized under a collections page. For convenience, we've create a route that generates a IIIF collection manfiest for all of the collections on the Internet Archive. For more on how collections work, see the "Collections - A Basic Guide" page.
+
+
As with the manifests above, you'll need the Internet Archive identifier for the colllection. Here's an example collection page from the University of Leeds:
Please note that Internet Archive collections can be arbitrarily nested within other collections. In these cases, the IIIF collection manifest will return a link to one or more IIIF collection manifest(s) in addition to the items nested individually within that Internet Archive colleciton.
The route described above for generating IIIF collection manfiests will return the first 1000 items or sub-collections within the collection. In order to get the remaining items for collections larger than that, pagination is required.
institution's image and audio/visual openly accessible resources available and easily reusable in a variety of web viewers and players, often open source, without the need for any special plugins or software.
-
ID placeholders are preceded by a ":" (colon) in examples. IDs need not
appear in bold, however this is done in the following example for
@@ -41,7 +40,7 @@
Presentation API
The Presentation
API allows institutions to publish and consume metadata about
- collections and sequences of digital objects e.g. pages in a book, called "manifests." For images and texts, this is almost always used in conjunction with the IIIF Image API to create manifests for digital objects that any IIIF viewer can use to present an engaging deep-zoom experience.
+ collections and sequences of digital objects (e.g., pages in a book), called "manifests." For images and texts, this is almost always used in conjunction with the IIIF Image API to create manifests for digital objects that any IIIF viewer can use to present an engaging deep-zoom experience.
The Presentation API can also faciliate the portability and playback of time-based media like audio and video files. In the A/V context, IIIF manifests often present multiple playback options based on the media formats and quality types available.
In IIIF terms, this functionality is accomplished via two APIs: the Image API, and the Presentation API.
+
In IIIF terms, this functionality is accomplished via two APIs: the Presentation API and the Image API.
Presentation API
@@ -44,7 +44,7 @@
Presentation API
The Presentation API can also faciliate the portability and playback of time-based media like audio and video files. In the A/V context, IIIF manifests often present multiple playback options based on the media formats and quality types available.
-
A manifest for an Internet Archive items look like this:
+
A manifest for an Internet Archive item looks like this:
https://iiif.archive.org/iiif/3/:id/manifest.json
see the sections below for all the possible ways to retrieve manifests for items and collections.
@@ -62,11 +62,11 @@
Image API
The Image API creates images using the following template:
A request for a bitonal center-cropped square image 375 pixels on each side, rotated 45 degrees will look like this:
+
Making use of the various parameters, a request for a bitonal center-cropped square image 375 pixels on each side, rotated 45 degrees will look like this:
To get the filename you can go to "Show all" in the "Download Options" box. This will show you a list of links to the various files associated with an item. Taking the jpg link for this item, you get the following URL: https://archive.org/download/img-8664_202009/IMG_8664.jpg
+
+
Here, IMG_8664.jpg is the filename.
+
+
In order to get the :id+filename the way you need it for the IIIF Image API info.json, you can combine the ID and filename with a URL encoded slash, i.e. %2f.
Where "1100,904,704,664" in that URL stands for 1100 pixels from the left edge, 904 pixels from the bottom edge, 704 pixels is the width of the desired section, and 664 pixels is the height.
+ To give you a sense of how different media types on the Internet Archive can be used in IIIF viewers, we've created a set of item "helpers" that provide some useful iformation and links.
+
+
The pattern for these helper pages is as follows:
+
https://iiif.archive.org/iiif/helper/:id
+
+
So, for example, the helper page for a single image item with item id img-8664_202009 would be the following:
Not all media types on the Internet Archive have files that are playable in IIIF viewers, but the helper pages should work for images, texts, audio, and movie items.
Audio, and Movie materials. This means any item on archive.org which has a
`mediatype` of `texts`, `image`, `audio`, or `movie`.
+
For more pointers on how IIIF manifests can be used for different material types, see the Appendix section on Helpers.
+
There are some edge cases where rare file types are not represented in the IIIF presentation manifest. If you encounter an item where you think this may be the case, open an issue on the Github repository.