The Europeana REST API allows you to build applications that use the wealth of our collections drawn from the major museums and galleries across Europe. The Europeana collections contain over 50 million cultural heritage items, from books and paintings to 3D objects and audiovisual material, that celebrate over 3,500 cultural institutions across Europe.
Over the past couple of years, the Europeana REST API has grown beyond its initial scope as set out in September 2011, into a wide range of specialized APIs. At the moment, we offer several APIs that you can use to not only get the most out of Europeana but also to contribute back. If you want to search Europeana in an simple way (for instance 'give me all results for the word cat), you can then use the Search API. But if you are looking for a way to delve into the structured metadata of Europeana (For instance, to ask the question "What are all the French 18th-century painters with at least five artworks available through Europeana'), then the SPARQL service is more appropriate. On the other, if you want to get all the metadata associated with a single item, then you can use the Record API. It also possible to obtain a larger amount of metadata and ultimately harvest the complete Europeana repository by using the OAI-PMH Service. Regarding contextual information that is associated to items, we also offer an Entity API that gives you access to information such as Topics, Persons and Places. Lastly, if you want to contribute information about the items that are available on Europeana, you can do it via the Annotations API.
To start using the API you need to register for a key at the registration page. Upon registration, you will get your individual private and public authentication key. The private key is used for specific methods that require additional user authentication while the public key must be used by all other API methods, see Access using an API key. We use these keys to anonymously gather relevant statistics about the usage of the API so that we can better improve it. Please do not share these keys with third parties or expose it in user interfaces or in markup as the API keys are confidential and are for use by the client or user only.
This API key will give you access to all APIs that are in a Stable version. APIs such as OAI-PMH, Entity API, and Annotations API use different keys that can either be obtained on request or use a demonstration key.
Access using an API key
You need to provide an access key (corresponding to your public authentication key) when making a request to any of the methods made available by the Europeana REST APIs. This is done by using the wskey parameter described below. The only exception is the Thumbnail method of the Search API which does not require an access key.
wskeyStringThe client API key that gives you access to this API.
Usage Limit
In the past, the Europeana REST API was limited to 10.000 calls within a period of 24 hours per API key. We have lifted this restriction but may reinstate it in the future.
Terms of Use
Please read our Terms of Use before using or reusing the Europeana REST APIs. The terms of use for external data sources appearing at are provided on the Europeana Data sources page.
API Console
Each API documentation page provides a console that allows developers to easily see how the API works and test it for their needs. This is an interactive tool that allows filling method parameters in an online form and sees 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.
We deploy new versions of each API quite regularly. These are minor releases in order to fix issues or make small improvements to the existing or new functionality but without breaking backwards compatibility. For major releases we follow the standard practices:
AlphaA release is done when functionality is made available in an early stage for the purpose of receiving feedback from users, which may result on bug fixes or proposals to add, change or remove features. It is expected that not all functionality is made available, just the core features.
BetaThis release is done when all product features are completed and all major bugs have been addressed. It may still contain some bugs and potential performance issues, and functionality can still be changed.
Stable (official)This release is done when all product features are completed and all major bugs have been addressed. From this point on, any changes made to the functionality need to be backward compatible with previous versions.
Discussion and Contact
Join the Europeana API discussion group at Google Groups and get regular updates about the Europeana API, provide feedback and discuss it with other developers. If you wish you can also contact us directly via​.
To organize and structure its data, Europeana has defined a data model named Europeana Data Model (EDM). A detailed description of EDM is beyond the scope of this documentation: the reader is referred to the extensive documentation at the EDM page. However, a basic understanding of EDM is necessary for using the API. The objective of this section is to provide this basic understanding.
A record is a term occasionally used as a shorthand means of referring to the package of data about one Cultural Heritage Object (CHO), comprising the information which connects the metadata and the digital representations together and a number of contextual resources such as the agents, places, concepts and time pertaining to the CHO.
The records in Europeana are grouped by datasets. A dataset for Europeana is an Information Package as defined by OAIS or a collection of data. A Europeana dataset can be about a certain topic, originate from a certain source or process and is aggregated by a certain custodian. (​​). In some cases, a Europeana dataset can be the representation of one existing collection held by an institution, while in other cases the correspondence between datasets and collections won’t be one-to-one. A dataset can be provided by:
Note that a dataset can have multiple data providers. A data provider is an organisation that submits data to Data providers may submit data directly to Europeana but are more likely to use the services of a provider, which collects, formats and manages data from data providers before submitting data to
EDM makes use of Internationalized Resource Identifier (ie. IRI, an extension to Uniform Resource Identifiers scheme so that Unicode characters can be used) as identifiers for all the resources (units of information) that make up the metadata of a CHO, as well as, the CHO itself so that they can be unambiguously referenced.
Besides being addressable, the resources are also dereferenceable by their IRIs; for instance, leads either to an HTML page on the Europeana portal for the object it identifies or to raw, machine-processable data on this object. Please see the technical details and the animation above for background on our motivation.
Identifying Records
All records when delivered to Europeana are assigned a unique identifier (IRI) with the following structure:
For simplicity, many of the Europeana APIs use a field named Record ID as a shortened version made out of just the variable parts of the IRI:
The variables in both the IRI and Record ID have the following meaning:
DATASET_IDNumberThe identifier of the dataset containing the record. It is typically a 5 digit integer number made of an initial 3 digit number that identifies the provider and following 2 digit number that identifies the actual dataset for that provider.
LOCAL_IDStringThe local identifier of the record which uniquely identifies the record within that dataset. It is typically generated in a deterministic way from the identifier given by the provider.
Example: IRI identifier of the CHO with Record ID "/09102/_GNM_1234"
In the documentation we sometimes refer to namespace prefixes (eg. dc, skos, edm) as many RDF output formats make use of namespaces to abbreviate the identifiers (IRIs) of properties and classes, following Namespaces in XML 1.0. Here we list all the namespace prefixes and URIs that are used by the Europeana APIs.
cc Commons
dc Core
dcterms Core Mmetadata Initiative (DCMI) Metadata Terms
edm Data Model
foaf (Friend of a Friend) Vocabulary
ore Archives Initiative Object Reuse and Exchange
owl Web Ontology Language
rdaGr2 Group 2 elements
rdf Description Framework
skos Knowledge Organization System
wgs84 Geo Positioning
This section introduces all the classes defined in EDM and the properties that can be used in association to such classes.
An Aggregation object. The set of resources related to a single cultural heritage object that collectively represent that object in Europeana. Such set consists of: all descriptions about the object that Europeana collects from (possibly different) content providers, including thumbnails and other forms of abstractions, as well as of the description of the object Europeana builds. An aggregation is associated to the object that it is about, by the property edm:aggregatedCHO. Find more in the EDM Definition.
edm:aggregatedCHOReference1..1The identifier of the source object e.g. the Mona Lisa itself. This could be a full linked open data URI or an internal identifier.
edm:dataProviderLiteral1..1The name of the data provider of the object (i.e. the organisation providing data to an aggregator).
edm:hasViewReference0..*The URL of a web resource which is a digital representation of the CHO. This may be the source object itself in the case of a born digital cultural heritage object.
edm:intermediateProviderLiteral or Reference0..*The name of the intermediate organization that selects, collates, or curates data from a Data Provider that is then aggregated by a Provider from which Europeana aggregates. The Intermediate Provider is distinct from both the Data Provider and the Provider in the data supply chain.
edm:isShownAtReference0..1The URL to the digital object on the provider’s web site in its full information context.
edm:isShownByReference0..1The URL of a web view of the object.
edm:objectReference0..1The URL of a representation of the CHO which will be used for generating previews for use in the Europeana portal. This may be the same URL as edm:isShownBy.
edm:providerLiteral1..1The name of the provider of the object (i.e. the organisation providing data directly to Europeana).
dc:rightsLiteral or Reference0..*Information about rights held in and over the resource.
edm:rightsReference1..1The rights statement that applies to the digital representation, as given (for example) in edm:object or edm:isShownAt/By, when these resources are not provided with their own edm:rights.
edm:ugcLiteral0..1Indicates whether the record has been contributed by the user community. It is a mandatory property for objects that are user generated or user created that have been collected by crowdsourcing or project activity. The property is used to identify such content and can only take the value “true” (lower case).
An Europeana Aggregation object. The set of resources related to a single cultural heritage object that collectively represent that object in Europeana. Such set consists of: all descriptions about the object that Europeana collects from (possibly different) content providers, including thumbnails and other forms of abstractions, as well as of the description of the object Europeana builds.
dc:creatorLiteral0..1A creator definitions. This field has always the value "Europeana".
edm:aggregatedCHOReference1..1The ID of the record corresponding to the CHO of this aggregation
edm:collectionNameLiteral1..1This property is deprecated and edm:datasetName should be used instead.
edm:datasetNameLiteral0..1This property holds the identifier given to the dataset in Europeana.
edm:countryLiteral1..1This is the name of the country in which the Provider is based or “Europe” in the case of Europe-wide projects.
edm:hasViewReference0..*This property relates a ORE aggregation about a CHO with a web resource providing a view of that CHO. Examples of view are: a thumbnail, a textual abstract and a table of contents.
edm:isShownByReference0..1An unambiguous URL reference to the digital object on the provider’s web site in the best available resolution/quality.
edm:landingPageReference0..1The URL of Europeana HTML object page. It captures the relation between an aggregation representing a cultural heritage object and the Web resource representing that object on the provider’s web site.
edm:languageLiteral1..1A language assigned to the resource with reference to the Provider.
edm:previewReference0..1The URL of a thumbnail representing the digital object, generated by Europeana.
edm:rightsReference0..1Information about copyright of the digital object as specified by isShownBy and isShownAt.
ore:aggregatesReference0..*Aggregations, by definition, aggregate resources. The ore:aggregates relationship expresses that the object resource is a member of the set of aggregated resources of the subject (the Aggregation). This relationship between the Aggregation and its Aggregated Resources is thus more specific than a simple part/whole relationship, as expressed by dcterms:hasPart for example.
Represents the Cultural Heritage Object that Europeana collects descriptions about. The metadata describing the object sent by the data provider is described within the Provider Proxy, see the EDM Primer for the differences between edm:ProvidedCHO and Proxies.
owl:sameAsReference0..*Links an individual to an individual. Such an owl:sameAs statement indicates that two URI references actually refer to the same thing: the individuals have the same "identity".
ore:Proxy (Provider and Europeana Proxies)
Europeana uses Proxies as place-holders for cultural heritage objects within aggregations (whether Europeana aggregations or not) to the end of making assertions (a specific view) about the corresponding cultural heritage objects while distinguishing the provenance of these assertions. This is particular important as Europeana can add metadata which can this way be distinguished from the original metadata sent by the Data Provider (See chapter 6.1 Introducing proxies in the EDM primer). The first is usually called Europeana Provider and is distinguished from the Provider Proxy through the edm:europeanaProxy property with the value "true".
Differences between a Provider's Proxy and Europeana Proxy:
dc:contributorLiteral or Reference0..*An entity responsible for making contributions to the resource.
dc:coverageLiteral or Reference0..*The spatial or temporal topic of the resource, the spatial applicability of the resource, or the jurisdiction under which the resource is relevant.
dc:creatorLiteral or Reference0..*An entity primarily responsible for making the resource. This may be a person, organisation or a service.
dc:dateLiteral or Reference0..*A point or period of time associated with an event in the lifecycle of the resource.
dc:descriptionLiteral or Reference0..*A description of the resource.
dc:formatLiteral or Reference0..*The file format, physical medium or dimensions of the resource.
dc:identifierLiteral0..*An unambiguous reference to the resource within a given context.
dc:languageLiteral0..*A language of the resource.
dc:publisherLiteral or Reference0..*An entity responsible for making the resource available. Examples of a publisher include a person, an organisation and a service.
dc:relationLiteral or Reference0..*The name or identifier of a related resource, generally used for other related CHOs. The recommended best practice is to identify the resource using a formal identification scheme.
dc:rightsLiteral or Reference0..*Name of the rights holder of the CHO or more general rights information. (Note that the controlled edm:rights property relates to the digital objects and applies to the edm:WebResource and/or edm:Aggregation).
dc:sourceLiteral or Reference0..*A related resource from which the described resource is derived in whole or in part, i.e. the source of the original CHO.
dc:subjectLiteral or Reference0..*The topic of the resource.
dc:titleLiteral0..*A name given to the resource. Typically, a Title will be a name by which the resource is formally known.
dc:typeLiteral or Reference0..*The nature or genre of the resource. Type includes terms describing general categories, functions, genres, or aggregation levels for content.
dcterms:alternativeLiteral0..*An alternative name for the resource. This can be any form of the title that is used as a substitute or an alternative to the formal title of the resource including abbreviations or translations of the title.
dcterms:conformsToLiteral or Reference0..*An established standard to which the described resource conforms.
dcterms:createdLiteral or Reference0..*Date of creation of the resource.
dcterms:extentLiteral or Reference0..*The size or duration of the resource.
dcterms:hasFormatLiteral or Reference0..*A related resource that is substantially the same as the pre-existing described resource, but in another format.
dcterms:hasPartLiteral or Reference0..*A related resource that is included either physically or logically in the described resource.
dcterms:hasVersionLiteral or Reference0..*A related resource that is a version, edition, or adaptation of the described resource. Changes in version imply substantive changes in content rather than differences in format.
dcterms:isFormatOfLiteral or Reference0..*A related resource that is substantially the same as the described resource, but in another format.
dcterms:isPartOfLiteral or Reference0..*A related resource in which the described resource is physically or logically included.
dcterms:isReferencedByLiteral or Reference0..*A related resource that references, cites, or otherwise points to the described resource.
dcterms:isReplacedByLiteral or Reference0..*A related resource that supplants, displaces, or supersedes the described resource.
dcterms:isRequiredByLiteral or Reference0..*A related resource that requires the described resource to support its function, delivery or coherence.
dcterms:issuedLiteral or Reference0..*Date of formal issuance (e.g., publication) of the resource.
dcterms:isVersionOfLiteral or Reference0..*A related resource of which the described resource is a version, edition, or adaptation. Changes in version imply substantive changes in content rather than differences in format.
dcterms:mediumLiteral or Reference0..*The material or physical carrier of the resource.
dcterms:provenanceLiteral or Reference0..*A statement of any changes in ownership and custody of the resource since its creation that are significant for its authenticity, integrity and interpretation. This may include a description of any changes successive custodians made to the resource.
dcterms:referencesLiteral or Reference0..*A related resource that is referenced, cited, or otherwise pointed to by the described resource.
dcterms:replacesLiteral or Reference0..*A related resource that is supplanted, displaced, or superseded by the described resource.
dcterms:requiresLiteral or Reference0..*A related resource that is required by the described resource to support its function, delivery or coherence.
dcterms:spatialLiteral or Reference0..*Spatial characteristics of the resource.
dcterms:tableOfContentsLiteral or Reference0..*Table Of Contents. A list of subunits of the resource.
dcterms:temporalLiteral or Reference0..*Temporal characteristics of the resource.
edm:currentLocationLiteral or Reference0..1The geographic location and/or name of the repository, building, site, or other entity whose boundaries presently include the resource.
edm:europeanaProxyBoolean0..1Flag whether the proxy is an Europeana proxy. See chapter 6.2 Europeana proxies and data enrichment in the EDM primer.
edm:hasMetReference0..*edm:hasMet relates a resource with the objects or phenomena that have happened to or have happened together with the resource under consideration. We can abstractly think of history and the present as a series of “meetings” between people and other things in space-time. Therefore we name this relationship as the things the object “has met” in the course of its existence. These meetings are events in the proper sense, in which other people and things participate in any role.
edm:hasTypeLiteral or Reference0..*This property relates a resource with the concepts it belongs to in a suitable type system such as MIME or any thesaurus that captures categories of objects in a given field (e.g., the “Objects” facet in Getty’s Art and Architecture Thesaurus). It does not capture aboutness.
edm:incorporatesReference0..*This property captures the use of some resource to add value to another resource. Such resources may be nested, such as performing a theater play text, and then recording the performance, or creating an artful edition of a collection of poems or just aggregating various poems in an anthology.
edm:isDerivativeOfReference0..*This property captures a narrower notion of derivation than edm:isSimilarTo, in the sense that it relates a resource to another one, obtained by reworking, reducing, expanding, parts or the whole contents of the former, and possibly adding some minor parts.
edm:isNextInSequenceReference0..*Relates two resources S and R that are ordered parts of the same resource A, and such that S comes immediately after R in the order created by their being parts of A.
edm:isRelatedToLiteral or Reference0..*The most general contextual property defined in EDM. Contextual properties have typically to do either with the things that have happened to or together with the object under consideration, or what the object refers to by its shape, form or features in a figural or encoded form.
edm:isRepresentationOfReference0..1This property associates a resource to another resource that it represents.
edm:isSimilarToReference0..*The most generic derivation property, covering also the case of questionable derivation. Is Similar To asserts that parts of the contents of one resource exhibit common features with respect to ideas, shapes, structures, colors, words, plots, topics with the contents of the related resource.
edm:isSuccessorOfReference0..*This property captures the relation between the continuation of a resource and that resource. This applies to a story, a serial, a journal etc. No content of the successor resource is identical or has a similar form with that of the precursor. The similarity is only in the context, subjects and figures of a plot. Successors typically form part of a common whole – such as a trilogy, a journal, etc.
edm:realizesReference0..*This property describes a relation between a physical thing and the information resource that is contained in it, visible at it or otherwise carried by it, if applicable.
edm:typeLiteral1..1The Europeana material type of the resource. All digital objects in Europeana have to be classified as one of the five Europeana material types using upper case letters: TEXT, IMAGE, SOUND, VIDEO or 3D. A broad classification of objects into five material types that users may find useful for filtering purposes: text, image, sound, video, 3D.
edm:unstoredLiteral0..*This property should not be used and is only included here for backward compatibility with ESE.
edm:wasPresentAtReference0..*This property associates the people, things or information resources with an event at which they were present.
edm:yearLiteral0..*A point of time associated with an event in the life of the original analog or born digital object.
ore:proxyForReference1..1Proxy objects are used to represent a resource as it is aggregated in a particular aggregation. The ore:proxyFor relationship is used to link the proxy to the aggregated resource it is a proxy for. The subject of the relationship is a proxy object, and the object of the relationship is the aggregated resource.
ore:proxyInReference1..*Proxy objects must also link to the aggregation in which the resource being proxied is aggregated. The ore:proxyIn relationship is used for this purpose. The subject of the relationship is a proxy object, and the object of the relationship is the aggregation
edm:WebResource for digital representations
The digital representation(s) of the cultural heritage object. There may be more than one edm:WebResource for each edm:ProvidedCHO, which will be linked via the ore:Aggregation using edm:hasView or one of its subproperties.
The properties listed in this section are used to described the digital representation, not the cultural heritage object itself. Some of the properties such as "edm:hasColorSpace", "edm:componentColor", "edm:spatialResolution", "edm:codecName" and the ones defined within the EBUCORE namespace, are extracted from the media resource by Europeana tools during data ingestion. For more information on these properties, see the EDM profile for technical metadata.
dc:creatorLiteral or Reference0..*
dc:descriptionLiteral or Reference0..*
dc:formatLiteral or Reference0..*
dc:rightsLiteral or Reference0..*
dc:sourceLiteral or Reference0..*
dcterms:conformsToLiteral or Reference0..*
dcterms:createdLiteral or Reference0..*
dcterms:extentLiteral or Reference0..*
dcterms:isFormatOfLiteral or Reference0..*
dcterms:isReferencedByLiteral or Reference0..*
dcterms:issuedLiteral or Reference0..*
SVCS Service
A Service is a web service associated with a Site or part of it. The Service class is used to flag a service requiring a specific protocol and profile to be consumed. A Service is important for IIIF Web Resources to flag their compliance and level of compliance to the IIIF specification. Find more in the IIIF to EDM Profile.
dcterms:comformsToReference1..*An established standard to which the web resource or service conforms. W3C WCAG 2.0 (web content accessibility guidelines). If the Service describes a IIIF resource, dcterms:conformsTo must be used to describe the IIIF protocol the resource is conforming to.
doap:implementsReference0..*A specification that a project implements. Could be a standard, API or legally defined level of conformance. In IIIF doap:implements refers to the the protocol implemented in IIIF.
The contextual classes represent entities that bring additional information to the cultural heritage item. They comprise classes such as edm:Agent, edm:Place, edm:TimeSpan and skos:Concept.
An EDM Agent class comprises people, either individually or in groups, who have the potential to perform intentional actions for which they can be held responsible.
dc:dateLiteral or Reference0..*
rdaGr2:placeOfBirthLiteral or Reference0..1
rdaGr2:placeOfDeathLiteral or Reference0..1
rdaGr2:professionOrOccupationLiteral or Reference0..*
The extent in space, in particular on the surface of the earth, in the pure sense of physics: independent from temporal phenomena and matter.
wgs84_pos:latfloating point0..1The latitude of a spatial thing (decimal degrees).
wgs84_pos:longfloating point0..1The longitude of a spatial thing (decimal degrees).
wgs84_pos:altfloating point0..1The altitude of a spatial thing (decimal metres above the reference).
wgs84_pos:lat_longLiteral0..1A comma-separated representation of a latitude, longitude coordinate.
skos:prefLabelLiteral0..1The preferred form of the name of the place.
skos:altLabelLiteral0..*Alternative forms of the name of the place.
skos:hiddenLabelLiteral0..*A hidden lexical label, represented by means of the skos:hiddenLabel property, is a lexical label for a resource, where a KOS designer would like that character string to be accessible to applications performing text-based indexing and search operations, but would not like that label to be visible otherwise.
skos:noteLiteral0..*Information relating to the place.
dcterms:hasPartReference0..*Reference to a place that is part of the place being described.
dcterms:isPartOfReference0..*Reference to a place that the described place is part of.
edm:isNextInSequenceReference0..*A sequence of Place entities over time e.g. the historical layers of the city of Troy./td>
owl:sameAsReference0..*URI of a Place.
A period of time having a beginning, an end and a duration.
skos:prefLabelLiteral0..1The preferred form of the name of the timespan or period.
skos:altLabelLiteral0..*Alternative forms of the name of the timespan or period.
skos:hiddenLabelLiteral0..*A hidden lexical label, represented by means of the skos:hiddenLabel property, is a lexical label for a resource, where a KOS designer would like that character string to be accessible to applications performing text-based indexing and search operations, but would not like that label to be visible otherwise.
skos:noteLiteral0..*Information relating to the timespan or period.
dcterms:hasPartReference0..*Reference to a timespan which is part of the described timespan.
dcterms:isPartOfReference0..*Reference to a timespan of which the described timespan is a part.
edm:beginLiteral0..1The date the timespan started.
edm:endLiteral0..1The date the timespan finished.
edm:isNextInSequenceReference0..*Used to represent a sequence of Time Periods.
owl:sameAsReference0..*The URI of a timespan.
A SKOS concept can be seen as an idea or notion; a unit of thought. All properties of this class are defined in SKOS.
skos:prefLabelLiteral0..1The preferred form of the name of the concept.
skos:altLabelLiteral0..*Alternative forms of the name of the concept.
skos:hiddenLabelLiteral0..*A hidden lexical label, represented by means of the skos:hiddenLabel property, is a lexical label for a resource, where a KOS designer would like that character string to be accessible to applications performing text-based indexing and search operations, but would not like that label to be visible otherwise.
skos:broaderReference0..*The identifier of a broader concept in the same thesaurus or controlled vocabulary.
skos:narrowerReference0..*The identifier of a narrower concept.
skos:relatedReference0..*The identifier of a related concept.
skos:broadMatchReference0..*The identifier of a broader matching concepts from other concept schemes.
skos:narrowMatchReference0..*The identifier of a narrower matching concepts from other concept schemes.
skos:relatedMatchReference0..*The identifier of a related matching concepts from other concept schemes.
skos:exactMatchReference0..*The identifier of exactly matching concepts from other concept schemes.
skos:closeMatchReference0..*The identifier of close matching concepts from other concept schemes.
skos:noteLiteral0..*Information relating to the concept.
skos:notationLiteral0..*The notation in which the concept is represented. This may not be words in natural language for some knowledge organisation systems e.g. algebra.
skos:inSchemeReference0..*The URI of a concept scheme.
A set of requests/permissions to users of a Work, e.g. a copyright license, the public domain, information for distributors.
odrl:inheritFromReference1..1ID of a base rights statement from which the described License is derived. This value must come from a list of statements controlled by Europeana.
cc:deprecatedOnReference0..1The date that the license expires, as it has been described, which implies among other things the expiration of the restrictions specified by the license.
EDM inherits from RDF the following datatypes:
LiteralA string value with an optional ISO639 language tag (ie. represented in RDF/XML using the xml:lang attribute).
ReferenceA reference to another resource (may be a contextual resource such as a person or place, a media object, or another object) using a unique identifier for that resource (i.e. URI).
A client application running on a web browser is typically prohibited to call methods of an endpoint that is being served under a domain outside its own because of the same origin policy. To get around this restriction, we support CORS for all the APIs that we offer. For APIs such as Record API and Search API, we still offer support for the outdated JSONP mechanim. Given that this mechanism has been superseeded by CORS, we may stop supporting it in future versions of these APIs so we strongly recommend all users to shift from JSONP to CORS.
Cross-Origin Resource Sharing (CORS)
The Cross-Origin Resource Sharing (CORS) is a transparent mechanism using HTTP headers for client applications to call APIs served from a domain outside the one they are being served. To enable CORS, it is only necessary to supply the Origin HTTP header at every request with the domain where your application is running. After handling the request, the API will respond back with a set of headers that will tell the browser to lift the restrictions.
JSON with padding (JSONP)
JSONP (JSON with padding) is an older mechanism for getting around the same origin policy enforced by browsers. Unlike CORS, it is limited to GET request and works by supplying a client side (JavaScript) callback function that will be called with the respective response.
"Under the same origin policy, a web page served from cannot normally connect to or communicate with a server other than An exception is the HTML script element. Exploiting the open policy for script elements, some pages use them to retrieve JavaScript code that operates on dynamically generated JSON-formatted data from other origins. This usage pattern is known as JSONP. Requests for JSONP retrieve not JSON, but arbitrary JavaScript code. They are evaluated by the JavaScript interpreter, not parsed by a JSON parser." (Wikipedia: JSONP)
A callback can be added to any JSON-based call by appending &callback=callbackname to the call, where the callbackname should be an existing JavaScript function existing on the client side. The API returns JSONP response, like this one:[RECORD_ID].json?wskey=YOUR_KEY&​callback=processEuropeanaSearch
Which returns
processEuropeanaSearch({ "apikey":"xxxxx", "action":"record.json", "success":true, "statsDuration":22, "requestNumber":8, "object": { "type":"TEXT", "title":["Bibliotheca Indica"], "about":"[record ID]", ... } })
The JSON response is wrapped into your function, and the function use JSON as input parameter, and it immediatelly runs when it returns. In your client you have to define the callback function before you call the API. A client side example:
<script> function processEuropeanaSearch(json) { alert(json.object.title.join(', ')); } </script> <script src=""></script>

Europeana Foundation
Prins Willem-Alexanderhof 5
2595 BE Den Haag
Terms of use
Privacy policy
Contact us
Europeana empowers the cultural heritage sector in its digital transformation. We develop expertise, tools and policies to embrace digital change and encourage partnerships that foster innovation.
All texts are CC BY-SA, images and media licensed individually.
Europeana Foundation is registered at the Chamber of Commerce under number 27307531, RSIN number is 8186.80.349.

Europeana is an initiative of the European Union, financed by the European Union’s Connecting Europe Facility and European Union Member States. The Europeana services, including this website, are operated by a consortium led by the Europeana Foundation under a service contract with the European Commission.

The European Commission does not guarantee the accuracy of the information and accepts no responsibility or liability whatsoever with regard to the information on this website. Neither the European Commission, nor any person acting on the European Commission’s behalf, is responsible or liable for the accuracy or use of the information on this website.
Hi! Could we please enable some additional services for analytics and security? You can always change or withdraw your consent later.
Let me choose