Europeana API Libraries and Plugins

Interacting with the Europeana REST API is possible in a multitude of ways, the easiest of which is probably a Console. If you want to use your coding language of choice to interact with an API, there are a few different code libraries that can help you access and use the API in exactly the way you want. Below is a list of libraries and plugins for the Europeana API, sorted by coding language/software suite.

Java Libraries

Europeana java Client library (formerly europeana4j)

Europeana4j was a Java library which allowed applications to search and retrieve Europeana data. It has since been renamed europeana-client. The java client library allows the functionality of the Europeana API to be integrated into an Eclipse workspace and develop software applications incorporating the Europeana API. The original europeana4j project can be found here. The library provides a clean Java interface to the Europeana Search API, with JavaBeans encapsulation, transparent pagination of results and utilities to copy and verify thumbnails. All code is available openly licensed and via GitHub.

REPOX

REPOX is a framework to manage metadata spaces developed in Java. It comprises several channels to import metadata from data providers, services to transform metadata between schemas according to user's specified rules, and services to expose the results to the exterior. REPOX aims to provide to all the TEL and Europeana partners a simple solution to import, convert and expose their bibliographic data via OAI-PMH. It was developed along EuropeanaConnect, Europeana Local, and Europeana Libraries projects. All code is available openly licensed (EUPL v.1.1) on GitHub. You can also find more information on the Original REPOX website or on the REPOX Wiki.

PHP Libraries

Europeana PHP Library

This is a PHP library for the Record API and Search API that was used to power an interactive documentation site. All code is available openly licensed and via GitHub.

Colada PHP Client Library

This client library for PHP was developed independently by Matthias Vandermaesen. It is a library of classes and functions which abstract Europeana's Record API and Search APIs, making it easier for PHP developers to create new applications. The aim is to lower the bar for developers because they can reuse the data right away, instead of first having to figure out how to connect to these APIs.

Features:

  • It's a generic library, meaning that it can be reused in a plethora of popular PHP frameworks: Drupal, Laravel, Symfony, Silex, Slim PHP ...
  • PSR-4 & PSR-2 compliant.
  • Uses Guzzle as a HTTP client, but can be changed to other implementations via a generic Client interface.
  • Abstracts the API to a high level 'transport - payload - response' model.
  • JSON de/serialization via JMS Serializer
  • Supports PHP 5.4 and up.
  • PHPUnit tested.

The source code and documentation is available on Githuba>, and more information about the project can be found on this blog post from Matthias. Matthias invites contributions from developers such as code additions, feedback, bug fixes, etc. as Github issues or pull requests.

Europeana Bulk downloaders

A collection of code snippets (mainly php) for working with the Europeana Record API and Search API. Get bulk downloads of specific subsets of items, including both their metadata and their associated media files, by using this application. Find hints and tips about how you can use these APIs to bulk download openly licensed media in our blog. All code is available openly licensed and via GitHub.

Europeana OAI-PMH Harvester

This PHP script downloads all Europeana records via OAI-PMH protocol. This results in a number of files (named as europeana-oai-pmh-import-dddddddd.json), each contains 1000 records, one record per line in JSON format. Be aware: a full harvest takes more than a week and results in 250+ GB content. All code is available openly licensed and via GitHub. Also see the Europeana OAI-PMH documentation for more information about the service.

Ruby Libraries

Europeana Ruby Client Library

This is a Ruby client library for the search and retrieval of records from the Europeana Search API. The gem was developed as part of Europeana 1914-1918 and is also used in that application. All code is available openly licensed via GitHub or see the client library at Rubygems.

Python Libraries

Europeana Search Python

Europeana Search Python is a basic Python wrapper using Europeana API 2.0 which allows applications to search and retrieve Europeana data. Go to the Europeana Search Python wrapper.

Rest Easy

This Python module dynamically creates wrappers for RESTful APIs from YAML markup. It has a ready-made wrapper for the Europeana API as well as for a number of other GLAM APIs. All code is available openly licensed and via GitHub.

Node.js libraries

Node.JS module

This unofficial Node.js module for the Europeana API was published as public domain code. You can install it through npm with the command npm install europeana. All code is available openly licensed and via GitHub or find this module on npm.

Django Libraries

Django Europeana 0.1.5

This is a client library for Django, the free and open source web framework written in Python. The library was developed by Justinas Jaronis, Inga Pliavgo, Ignas Bacius, Mykolas Baranauskas from the Lithuanian IT company AKS and provides template tags for easy Europeana content integration. See the library at Django Client library webpage.

Plugins

EEXCESS Google Chrome browser extension

The EEXCESS prototype tools serve as recommendation tools, delivering personally tailored recommendations from cultural and scientific databases without having to explicitly search for this content, integrated into web browsers and content management systems. All code is available openly licensed and via GitHub.

The Google Chrome extension is easily installed by anyone using the Chrome browser and returns a configurable side panel of linked results from collections including Europeana, EconBiz (economic literature), Mendeley (scientific papers), and KIM BL (regional cultural content, Baselland, Switzerland). See the extension at the EEXCESS website or download it from the Chrome webstore.

EEXCESS Google Docs Plugin

The Google Docs extension is easily installed by following the clear instructions on the EEXCESS webpage and returns a configurable side panel of linked results from collections including Europeana, EconBiz (economic literature), Mendeley (scientific papers), and KIM BL (regional cultural content, Baselland, Switzerland). See the plugin at the EEXCESS website or download it from the Chrome webstore.

EEXCESS Moodle Plugin

Using the Moodle plugin, you can enhance your lessons or homework with content and references to scientific or cultural resources, such as Europeana, EconBiz (economic literature), Mendeley (scientific papers). EEXCESS Moodle plug-in consists of two components: a Moodle server plug-in which allows you to read EEXCESS content, and a plug-in for the Moodle Atto editor to insert citations. Both plug-ins have to be installed by a Moodle administrator. See the plugin at the EEXCESS website or install it from here.

EEXCESS Wordpress Plugin

The Wordpress Plugin is easily installed by anyone with a self-hosted version of Wordpress (as opposed to wordpress.com blogs). Whilst editing posts, users can select text and then fetch recommendadtions from collections including Europeana, EconBiz (economic literature), Mendeley (scientific papers), and KIM BL(regional cultural content, Baselland, Switzerland). These are then easily inserted into the post, including images and links. See the plugin at the EEXCESS website or download it from the Wordpress Plugins Page.

Cultural Heritage Context Widget

This JavaScript-based widget and Wordpress plugin that is able to provide links to cultural heritage materials (from Europeana, Digital Public Library of America or Polish Digital Library Federation) based on a predefined item in a website on which it is embedded (via given JQuery HTML selector). The widget can be used by anyone who has a website, but it may be especially valuable for cultural heritage institutions which would like to enrich their online catalogues or websites with links to Europeana. It may also be useful for bloggers who are writing about culture and related topics. The WordPress plugin provides a widget with the same functionality but embedded in a Wordpress blog. It is able to provide a list of links to cultural heritage materials based on: tags of the currently displayed post, or predefined item on the website (via given JQuery HTML selector). See the plugin at the Wordpress Plugin Page or access the code and installation details at GitHub. Also see the live demonstration (includes other Wordpress plugins).

top