IIIF

Leip­zig Uni­ver­si­ty Libra­ry (UBL) pro­vi­des access to its high-qua­li­ty digi­ti­sed mate­ri­al accor­ding to the API stan­dards of the Inter­na­tio­nal Image Inter­ope­ra­bi­li­ty Frame­work (IIIF). This is a modern stan­dard based on JSON-LD.

The IIIF APIs are par­ti­cu­lar­ly well sui­ted for inte­gra­ting UBL image con­tent direct­ly into your own web­sites, appli­ca­ti­ons and apps wit­hout having to copy or edit the images. With IIIF, an inter­face is available that allows you to dyna­mi­cal­ly access UBL’s rich data coll­ec­tions from your own applications.

Fol­lo­wing the spe­ci­fi­ca­ti­ons of IIIF, the UBL’s hol­dings are hier­ar­chi­cal­ly divi­ded into coll­ec­tions, biblio­gra­phic units are repre­sen­ted by mani­fests. Both are done accor­ding to the spe­ci­fi­ca­ti­ons of the IIIF Pre­sen­ta­ti­on API. From the mani­fests, access to the actu­al digi­ti­zed mate­ri­al is pos­si­ble accor­ding to the spe­ci­fi­ca­ti­ons of the IIIF Image API.

At this time the UBL sup­ports ver­si­on 2 of the IIIF API stan­dards. For a descrip­ti­on of all func­tions of the APIs plea­se read the descrip­ti­ons on https://iiif.io

Collections

You can access UBL’s data sets via the coll­ec­tions on the top level:

https://iiif.ub.uni-leipzig.de/static/collections/toplevel.json

{
  "@context" : "http://iiif.io/api/presentation/2/context.json",
  "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/toplevel.json",
  "@type" : "sc:Collection",
  "label" : "IIIF Collection for Leipzig University Library",
  "description" : "Collection for all IIIF manifests which are produced by the Leipzig University Library.",
  "collections" : [ {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke16/collection.json",
    "@type" : "sc:Collection",
    "label" : "Drucke des 16. Jahrhunderts",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/LeipzigerVerlage/collection.json",
    "@type" : "sc:Collection",
    "label" : "Leipziger Verlage",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke17/collection.json",
    "@type" : "sc:Collection",
    "label" : "Drucke des 17. Jahrhunderts",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Buchhandschriften/collection.json",
    "@type" : "sc:Collection",
    "label" : "Buchhandschriften",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/MittelalterHandschriften/collection.json",
    "@type" : "sc:Collection",
    "label" : "Abendländische mittelalterliche Handschriften",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/NachlassWustmann/collection.json",
    "@type" : "sc:Collection",
    "label" : "Nachlass Wustmann - Autographensammlung Wustmann [NL 297/4]",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke15/collection.json",
    "@type" : "sc:Collection",
    "label" : "Drucke des 15. Jahrhunderts",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke19/collection.json",
    "@type" : "sc:Collection",
    "label" : "Drucke des 19. Jahrhunderts",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/GriechischeHandschriften/collection.json",
    "@type" : "sc:Collection",
    "label" : "Griechische Handschriften",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke20/collection.json",
    "@type" : "sc:Collection",
    "label" : "Drucke des 20. Jahrhunderts",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/AbendNeuzeitHandschriften/collection.json",
    "@type" : "sc:Collection",
    "label" : "Abendländische neuzeitliche Handschriften",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Drucke18/collection.json",
    "@type" : "sc:Collection",
    "label" : "Drucke des 18. Jahrhunderts",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  }, {
    "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/NeuzeitHandschriften/collection.json",
    "@type" : "sc:Collection",
    "label" : "Neuzeitliche Handschriften",
    "attribution" : "Provided by Leipzig University Library",
    "logo" : {
      "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
      "format" : "image/png"
    }
  } ],
  "attribution" : "Provided by Leipzig University Library",
  "logo" : {
    "@id" : "https://iiif.ub.uni-leipzig.de/ubl-logo.png",
    "format" : "image/png"
  }
}

Sub­or­di­na­te coll­ec­tions are lin­ked in JSON and can be tracked :

https://iiif.ub.uni-leipzig.de/static/collections/Buchhandschriften/collection.json

{
  "@context" : "http://iiif.io/api/presentation/2/context.json",
  "@id" : "https://iiif.ub.uni-leipzig.de/static/collections/Buchhandschriften/collection.json",
  "@type" : "sc:Collection",
  "label" : "Buchhandschriften",
  "manifests" : [ {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000003244/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 53"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000003909/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 424"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000004134/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 671"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000004357/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 1529"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000003895/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 400"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000003630/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 335"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000004473/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. Civ. Lips. 1"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000003163/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 21"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000002958/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 96"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000005430/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Rep. II 120 (Leihgabe Leipziger Stadtbibliothek)"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000003262/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 56"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000004611/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 1311"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000004626/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 1574"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000001780/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 150"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000004574/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 1313"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000003670/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Fragm. lat. 339"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000004470/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 1033"
  }, {
    "@type" : "sc:Manifest",
    "@id" : "https://iiif.ub.uni-leipzig.de/0000004604/manifest.json",
    "label" : "Leipzig, Universitätsbibliothek Leipzig, Ms 412"
  }]}

Manifests

Coll­ec­tions at the lowest level refer to the mani­fests of the biblio­gra­phic units assi­gned to them. The­se can also be retrie­ved via HTTPS.

https://iiif.ub.uni-leipzig.de/0000004604/manifest.json


Images

The mani­fests con­tain refe­ren­ces to the inter­faces of the IIIF Image API:

https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx

The IIIF Image API is ide­al for inte­gra­ting digi­tal image con­tent direct­ly into other appli­ca­ti­ons. Near­ly all digi­ti­zed mate­ri­al of the UBL is made available under open licen­ses and can thus be used in sci­en­ti­fic, artis­tic and also com­mer­cial projects.

By appen­ding the string “info.json” the infor­ma­ti­on about the respec­ti­ve digi­ti­sed mate­ri­al can be obtai­ned accor­ding to the IIIF Image API.

https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx/info.json

{
  "@context" : "http://iiif.io/api/image/2/context.json",
  "@id" : "https://iiif.ub.uni-leipzig.de/fcgi-bin/iipsrv.fcgi?iiif=/j2k/0000/0046/0000004604/00000084.jpx",
  "protocol" : "http://iiif.io/api/image",
  "width" : 3840,
  "height" : 5760,
  "tiles" : [
     { "width" : 256, "height" : 256, "scaleFactors" : [ 1, 2, 4, 8, 16, 32 ] }
  ],
  "profile" : [
     "http://iiif.io/api/image/2/level1.json",
     { "formats" : [ "jpg" ],
       "qualities" : [ "native","color","gray" ],
       "supports" : ["regionByPct","sizeByForcedWh","sizeByWh","sizeAboveFull","rotationBy90s","mirroring","gray"] }
  ]
}

Accor­ding to the API spe­ci­fi­ca­ti­on, the actu­al image data can now be acces­sed. The who­le image in maxi­mum reso­lu­ti­on and qua­li­ty can be obtai­ned by appen­ding the string /full/full/0/default.jpeg:

https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx/full/full/0/default.jpg

Howe­ver, the image data can also be deli­ver­ed sca­led by the ser­ver. Here is an exam­p­le, sca­led to 300 pixels height.

https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx/full/,300/0/default.jpg

Full image scaled to 300px height

Ins­tead of the com­ple­te image, the IIIF ser­ver can also pro­vi­de image details. Here for exam­p­le an image sec­tion with coor­di­na­tes x=1050, y=500, w=900, h=900, sca­led to 200 pixels width.

https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx/1050,500,900,900/200,/0/default.jpg

Image section x=1050, y=500, w=900, h=900, scaled to 200px width

The image sec­tion can also be dis­play­ed in rota­ted form (90 degrees clockwise).

https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx/1050,500,900,900/200,/90/default.jpg

image section x=1050, y=500, w=900, h=900, scaled to 600px width

And deli­verd in grayscale.

https://iiif.ub.uni-leipzig.de/iiif/j2k/0000/0046/0000004604/00000084.jpx/1050,500,900,900/200,/90/grey.jpg

Same section in grayscale

More detail­ed infor­ma­ti­on about the IIIF APIs can be found on the web­site https://iiif.io.

If you have any ques­ti­ons about the use of our APIs or if you would like to imple­ment IIIF APIs yours­elf, plea­se cont­act us.

Further information

We have sum­ma­ri­zed our offers to end users on the basis of the IIIF APIs in a sepa­ra­te artic­le.

Much more infor­ma­ti­on about the IIIF API stan­dards can be found on the web­site https://iiif.io

A list of exem­pla­ry appli­ca­ti­ons, frame­works and the like is main­tai­ned here: https://github.com/IIIF/awesome-iiif

A sel­ec­tion of other IIIF Coll­ec­tions can be found here: https://github.com/ryanfb/iiif-universe/blob/gh-pages/iiif-universe.json