The Europeana API allows you to build applications that use the wealth of cultural heritage objects stored in the Europeana repository. The API uses the standard technology of REST calls over HTTP. Responses are returned in the JSON format.
To start using the API you should register at the registration page. Upon registration you will get your individual private authentication key. This key should be used when calling API methods as a special wskey authentication parameter.
The current version of the Europeana API (API2) is fully backward compatible with the previous version (API1). However, we encourage developers to switch to the new naming of the fields that were used in API1. For more information on the mapping between the new and the old fields, please see API1-API2 Fields Mapping.
There is a method for developers to see how Europeana API works and test it for their needs without getting registered - the API console. This is an interactive tool that allows filling method parameters in an online form and see both the expected results and the exact format of the call that should be used by an application to get these results. The API console has been built by us for developers’ convenience. You are encouraged to use it and provide us feedback about its usability for the developer community.
Join the Europeana API discussion group at Google Groups and get regular updates about the Europeana API, provide feedback and discuss it with other developer.
Data types in API documentation
In the description of JSON response we refer to data types. We built online JSON.org's conventions in the names of the data types, and we get the definitions from the Wikipedia, except we regard integers as a subcategory of Number. We added a custom data type: LanguageMap as a shorthand for a special object.
|Number||integer or double precision floating-point number|
|String||double-quoted Unicode, with backslash escaping|
|Boolean||true or false|
|Array||an ordered sequence of values, comma-separated and enclosed in square brackets; the values do not need to be of the same type|
|Array ([Data type])||an ordered sequence of another data type (such as String or an object), comma-separated and enclosed in square brackets; the values do not need to be of the same type|
|Object||an unordered collection of key:value pairs with the ':' character separating the key and the value, comma-separated and enclosed in curly braces; the keys must be strings and should be distinct from each other|
|LangMap||A special data type we use in the API Object Call, to provide values in various languages. It is an associative array where the keys are ISO language codes or "def" (where the language is not given), and the value is an array of strings. For example:
In the documentation we sometime refer to namespace prefixes, such as dc, skos, edm. Here we list all the namespace prefixes and URIs.
|prefix||Namespace URI||More info|
|dcterms||http://purl.org/dc/terms/||Dublin Core Mmetadata Initiative (DCMI) Metadata Terms http://dublincore.org/documents/2012/06/14/dcmi-terms/|
|edm||http://www.europeana.eu/schemas/edm/||Europeana Data Model|
|foaf||http://xmlns.com/foaf/0.1/||FOAF (Friend of a Friend) Vocabulary http://xmlns.com/foaf/spec/|
|ore||http://www.openarchives.org/ore/terms/||Open Archives Initiative Object Reuse and Exchange http://www.openarchives.org/ore/1.0/|
|owl||http://www.w3.org/2002/07/owl#||OWL Web Ontology Language|
|rdaGr2||http://rdvocab.info/ElementsGr2/||RDA Group 2 elements. http://metadataregistry.org/schema/show/id/15.html|
|rdf||http://www.w3.org/1999/02/22-rdf-syntax-ns#||Resource Description Framework|
|skos||http://www.w3.org/2004/02/skos/core#||Simple Knowledge Organization System http://www.w3.org/2009/08/skos-reference/skos.html|
|wgs84||http://www.w3.org/2003/01/geo/wgs84_pos#||WGS84 Geo Positioning http://www.w3.org/2003/01/geo/|