This page holds the documentation for Europeana’s Record API.
The Record API provides direct access to the Europeana Europeana’s data and metadata, which is modeled using EDM. While modelled using /wiki/spaces/EF/pages/2385313809. EDM is an open flexible data model featuring various kind of resources and relations between them, the Record API (and the Europeana Collections Portal) supports the retrieval of a segment of EDM for practical purposes (a subgraph, to use strict terminology). These "atomic" EDM segments usually contain one Cultural Heritage Object (CHO), the aggregation 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 CHOused to capture the data and metadata about Cultural Heritage Objects (CHOs). The Record API is used to retrieve all of the data and metadata that relates to a single Cultural Heritage object, which will have a single Europeana ID. A Europeana ID is made up of a dataset number, and a record ID. For the object at this URL: https://www.europeana.eu/item/90402/RP_P_1984_87, the dataset ID is 90402, and the record ID is RP_P_1984_87. Both are findable by looking at the URL.
Before starting to use this API, we recommend reading the introduction page for an overview of the EDM model /wiki/spaces/EF/pages/2385313809, Registering for an API key, and reading the Terms of Use. If you want to get started with this API, go directly to the Getting Started section or try it out directly on the Console.
...
Additional parameters may apply to the request above such as the API key and Browser access.
An example Record API call to get all of the data and metadata from this item in JSON would be: https://api.europeana.eu/record/v2/90402/RP_P_1984_87.json?wskey=YOURAPIKEY
Supported Output Formats
The Record API supports 3 serialization formats, namely: JSON, JSON-LD and RDF/XML. The primary and default output supported by this API is JSON which also means that some fields are only available in this format. Both JSON-LD and RDF/XML are formats to represent Linked Data which used predefined transport schemas for serializing RDF data. To request a record in either of these formats, just alter the extension of the call to the desired format. The table below explains each of the formats and their respective extensions.
Expand |
---|
title | List of Output formats for Record API Responses |
---|
|
Format | Extension | Description |
---|
JSON | .json | Returns The output serialized in JSON and , using a Europeana specific schema for representing EDM data. The schema is further explained in the next Section. | JSON-LD | .json-ld | An alternative JSON output based on the JSON-LD format for RDF. | RDF/XML | .rdf | The XML output is primarily based on RDF/XML format for RDF serialization but following the EDM XSD schema (the same schema is also used for data ingestion to Europeana). |
|
...
Expand |
---|
title | List of Response fields when getting an error Response from the Record APÏ |
---|
|
Field | Datatype | Description |
---|
apikey | String | The authentication parameter sent out by the client (the wskey parameter) | success | Boolean | A boolean (true/false) flag denoting the successful execution of the call | statsDuration | Number | The time (in milliseconds) taken to serve the request | error | String | If the call was not successful, this fields will contain a detailed text message. See Error Codes for more information. |
|
The following kinds of errors can be returned by the API:
...
JSON is the primary output format of the Record API. It uses a Europeana-specific schema for representing EDM data which is explained in this Section.
A response in JSON will always contain a number of several fields that present information about the handling of the request, while the concrete information about the record is presented in the "object" field.
Expand |
---|
title | List of top-level Response fields from the Record API |
---|
|
Field | Datatype | Description |
---|
apikey | String | the authentication parameter sent out by the client (the wskey parameter) | success | Boolean | a boolean (true/false) flag denoting the successful execution of the call | statsDuration | Number | the time (in milliseconds) taken to serve the request | requestNumber | Number | a positive number denoting the number of request by this API key within the last 24 hours | Object | Object | The object representing the EDM metadata record, see next Section.section |
|
Object
Gathers The Object gathers all the information contained within a an EDM metadata record.
Expand |
---|
title | List of all possible Response fields in the Object field of a Record API Response |
---|
|
Field | Datatype | Description |
---|
about | String | Europeana ID of the returned object. | agents | Array (Agent) | A collection of EDM Agent objects contextually related to the object. Find more in the EDM Definition. | aggregations | Array (Aggregation) | A collection of EDM Aggregation objects related to the object. Find more in the EDM Definition. | concepts | Array (Concept) | A collection of SKOS Concept objects contextually related to the object. Find more in the EDM Definition. | country | Array (String) | | europeanaAggregation | Array (EuropeanaAggregation) | A collection of EDM Europeana Aggregation objects related to the object. Find more in the EDM Definition. | europeanaCollectionName | Array (String) | A collection of names of the datasets the object belongs to. | europeanaCompleteness | Number | A number between 0 and 10 representing the metadata quality of the object. | language | Array (String) | A singleton collection with the language of the object. | licenses | Array (License) | A collection of CC Licenses. Find more in the EDM Definition. | optOut | Boolean | Flag indicating whether the provider allowed retrieval of a thumbnail of the record | places | Array (Place) | A collection of EDM Place objects contextually related to the object. Find more in the EDM Definition. | provider | Array (String) | A singleton collection with the name of the organization that delivered this object to Europeana. | providedCHOs | Array (ProvidedCHO) | A collection of Provided Cultural Heritage Objects related to the record. Find more in the EDM Definition. | proxies | Array (Proxy) | A collection of proxy objects for Provided Cultural Heritage Objects. Find more in the EDM Definition. | services | Array (Service) | A collection of service objects required to consume a Web Resource according to a specific protocol and profile. | timespans | Array (TimeSpan) | A collection of EDM TimeSpan objects contextually related to the object. Find more in the EDM iDefinition. | timestamp_created_epoch | Number | Unix time of the date when the object was created. | timestamp_update_epoch | Number | Unix time of the date when the object was last updated. | timestamp_created | String | ISO 8601 format of the date when the object was created. | timestamp_update | String | ISO 8601 format of the date when the object was last updated. | title | Array (String) | A collection with the main and alternative titles of the object. | type | String | The type of the object (see the TYPE facet) | year | Array (String) | |
|
JSON Structures and Fields for EDM
The JSON structures and fields defined in this section all represent classes and properties that are defined in EDM. We advise all readers who are not familiar with EDM to first have a look at our/wiki/spaces/EF/pages/2385313809 where we explain the model. The fields listed in the table below have direct links to where they are explained in the introduction page for quick help.section all represent classes and properties defined in EDM. More information can be found on the Europeana Data Model documentation page
Expand |
---|
title | List of EDM fields in a Record API Response and their corresponding JSON fields and datatypes |
---|
|
EDM property | JSON Field | JSON Datatype |
---|
Aggregation |
---|
rdf:about | about | String | edm:dataProvider | edmDataProvider | LangMap | edm:isShownBy | edmIsShownBy | String | edm:isShownAt | edmIsShownAt | String | edm:object | edmObject | String | edm:provider | edmProvider | LangMap | edm:rights | edmRights | LangMap | edm:ugc | edmUgc | String | dc:rights | dcRights | LangMap | edm:hasView | hasView | Array (String) | edm:aggregatedcHO | aggregatedCHO | String | ore:aggregates | aggregates | Array (String) | edm:unstored | edmUnstored | Array (String) | edm:WebResource | webResources | Array (WebResource) | Europeana Aggregation |
---|
rdf:about | about | String | edm:WebResource | webResources | Array (WebResource) | edm:aggregatedcHO | aggregatedcHO | String | ore:aggregates | aggregates | Array (String) | dc:creator | dcCreator | LangMap | edm:landingPage | edmLandingPage | String | edm:isShownBy | edmIsShownBy | String | edm:hasView | edmHasView | Array (String) | edm:country | edmCountry | LangMap | edm:language | edmLanguage | LangMap | edm:rights | edmRights | LangMap | edm:preview | edmPreview | String | ProvidedCHO |
---|
rdf:about | about | String | owl:sameAs | owlSameAs | Array (String) | Proxy |
---|
rdf:about | about | String | dc:contributor | dcContributor | LangMap | dc:coverage | dcCoverage | LangMap | dc:creator | dcCreator | LangMap | dc:date | dcDate | LangMap | dc:description | dcDescription | LangMap | dc:format | dcFormat | LangMap | dc:identifier | dcIdentifier | LangMap | dc:language | dcLanguage | LangMap | dc:publisher | dcPublisher | LangMap | dc:relation | dcRelation | LangMap | dc:rights | dcRights | LangMap | dc:source | dcSource | LangMap | dc:subject | dcSubject | LangMap | dc:title | dcTitle | LangMap | dc:type | dcType | LangMap | dcterms:alternative | dctermsAlternative | LangMap | dcterms:conformsTo | dctermsConformsTo | LangMap | dcterms:created | dctermsCreated | LangMap | dcterms:extent | dctermsExtent | LangMap | dcterms:hasFormat | dctermsHasFormat | LangMap | dcterms:hasPart | dctermsHasPart | LangMap | dcterms:hasVersion | dctermsHasVersion | LangMap | dcterms:isFormatOf | dctermsIsFormatOf | LangMap | dcterms:isPartOf | dctermsIsPartOf | LangMap | dcterms:isReferencedBy | dctermsIsReferencedBy | LangMap | dcterms:isReplacedBy | dctermsIsReplacedBy | LangMap | dcterms:isRequiredBy | dctermsIsRequiredBy | LangMap | dcterms:issued | dctermsIssued | LangMap | dcterms:isVersionOf | dctermsIsVersionOf | LangMap | dcterms:medium | dctermsMedium | LangMap | dcterms:provenance | dctermsProvenance | LangMap | dcterms:references | dctermsReferences | LangMap | dcterms:replaces | dctermsReplaces | LangMap | dcterms:requires | dctermsRequires | LangMap | dcterms:spatial | dctermsSpatial | LangMap | dcterms:tableOfContents | dctermsTOC | LangMap | dcterms:temporal | dctermsTemporal | LangMap | edm:currentLocation | edmCurrentLocation | String | edm:hasMet | edmHasMet | LangMap | edm:hasType | edmHasType | LangMap | edm:incorporates | edmIncorporates | Array (String) | edm:isDerivativeOf | edmIsDerivativeOf | Array (String) | edm:isNextInSequence | edmIsNextInSequence | String | edm:isRelatedTo | edmIsRelatedTo | LangMap | edm:isRepresentationOf | edmIsRepresentationOf | String | edm:isSimilarTo | edmIsSimilarTo | Array (String) | edm:isSuccessorOf | edmIsSuccessorOf | Array (String) | edm:realizes | edmRealizes | Array (String) | edm:type | edmType | String | edm:rights | edmRights | LangMap | edm:wasPresentAt | edmWasPresentAt | Array (String) | edm:europeanaProxy | europeanaProxy | Boolean | ore:proxyFor | proxyFor | String | ore:proxyIn | proxyIn | Array (String) | EDM WebResource |
---|
rdf:about | about | String | dc:rights | webResourceDcRights | LangMap | edm:rights | webResourceEdmRights | LangMap | dc:description | dcDescription | LangMap | dc:format | dcFormat | LangMap | dc:source | dcSource | LangMap | dcterms:extent | dctermsExtent | LangMap | dcterms:issued | dctermsIssued | LangMap | dcterms:conformsTo | dctermsConformsTo | LangMap | dcterms:created | dctermsCreated | LangMap | dcterms:isFormatOf | dctermsIsFormatOf | LangMap | dcterms:hasPart | dctermsHasPart | LangMap | dcterms:isReferencedBy | dctermsIsReferencedBy | String | edm:isNextInSequence | isNextInSequence | String | edm:codecName | edmCodecName | String | ebucore:hasMimeType | ebucoreHasMimeType | String | ebucore:fileByteSize | ebucoreFileByteSize | Number | ebucore:duration | duration | String | ebucore:width | ebucoreWidth | Number | ebucore:height | ebucoreHeight | Number | edm:spatialResolution | edmSpatialResolution | String | ebucore:sampleSize | ebucoreSampleSize | String | ebucore:sampleRate | ebucoreSampleRate | String | ebucore:bitRate | ebucoreBitRate | String | ebucore:frameRate | ebucoreFrameRate | String | edm:hasColorSpace | edmHasColorSpace | String | edm:componentColor | edmComponentColor | Array (String) | ebucore:orientation | ebucoreOrientation | String | ebucore:audioChannelNumber | ebucoreAudioChannelNumber | String | svcs:has_service | svcsHasService | String | SVCS Service |
---|
rdf:about | about | String | dcterms:comformsTo | dctermsConformsTo | String | doap:implements | doapImplements | Array (String) | EDM Agent |
---|
rdf:about | about | String | skos:prefLabel | prefLabel | LangMap | skos:altLabel | altLabel | LangMap | skos:hiddenLabel | hiddenLabel | LangMap | skos:note | note | LangMap | edm:begin | begin | LangMap | edm:end | end | LangMap | edm:wasPresentAt | edmWasPresentAt | Array (String) | edm:hasMet | edmHasMet | LangMap | edm:isRelatedTo | edmIsRelatedTo | LangMap | owl:sameAs | owlSameAs | Array (String) | foaf:name | foafName | LangMap | dc:date | dcDate | LangMap | dc:identifier | dcIdentifier | LangMap | rdaGr2:dateOfBirth | rdaGr2DateOfBirth | LangMap | rdaGr2:dateOfDeath | rdaGr2DateOfDeath | LangMap | rdaGr2:dateOfEstablishment | rdaGr2DateOfEstablishment | LangMap | rdaGr2:dateOfTermination | rdaGr2DateOfTermination | LangMap | rdaGr2:gender | rdaGr2Gender | LangMap | rdaGr2:professionOrOccupation | rdaGr2ProfessionOrOccupation | LangMap | rdaGr2:biographicalInformation | rdaGr2BiographicalInformation | LangMap | SKOS Concept |
---|
rdf:about | about | String | skos:prefLabel | prefLabel | LangMap | skos:altLabel | altLabel | LangMap | skos:hiddenLabel | hiddenLabel | LangMap | skos:note | note | LangMap | skos:broader | broader | Array (String) | skos:narrower | narrower | Array (String) | skos:related | related | Array (String) | skos:broadMatch | broadMatch | Array (String) | skos:narrowMatch | narrowMatch | Array (String) | skos:exactMatch | exactMatch | Array (String) | skos:relatedMatch | relatedMatch | Array (String) | skos:closeMatch | closeMatch | Array (String) | skos:notation | notation | LangMap | skos:inScheme | inScheme | Array (String) | EDM Place |
---|
rdf:about | about | String | skos:prefLabel | prefLabel | LangMap | skos:altLabel | altLabel | LangMap | skos:hiddenLabel | hiddenLabel | LangMap | skos:note | note | LangMap | dcterms:isPartOf | isPartOf | LangMap | wgs84:lat | latitude | Number | wgs84:long | longitude | Number | wgs84:alt | altitude | Number | wgs84:lat_long | position | Object | dcterms:hasPart | dcTermsHasPart | LangMap | owl:sameAs | owlSameAs | Array (String) | EDM Timespan |
---|
rdf:about | about | String | skos:prefLabel | prefLabel | LangMap | skos:altLabel | altLabel | LangMap | skos:hiddenLabel | hiddenLabel | LangMap | skos:note | note | LangMap | edm:begin | begin | LangMap | edm:end | end | LangMap | dcterms:isPartOf | isPartOf | LangMap | dcterms:hasPart | dctermsHasPart | LangMap | owl:sameAs | owlSameAs | Array (String) | CC License |
---|
rdf:about | about | String | odrl:inheritFrom | odrlInheritFrom | String | cc:deprecatedOn | ccDeprecatedOn | String |
|
JSON Datatypes
The JSON output of this API uses the following datatypes:
...
JSON-LD stands for JSON for Linking Data and is one of the Linked Data formats that the Record API supports. The basic structure of the JSON-LD response is similar to the default JSON format of the Record API:
Expand |
---|
title | example JSON-LD Response from the Record API |
---|
|
Code Block |
---|
{
"@context": {
"ore": "http://www.openarchives.org/ore/terms/",
"skos": "http://www.w3.org/2004/02/skos/core#",
"dc": "http://purl.org/dc/elements/1.1/",
"edm": "http://www.europeana.eu/schemas/edm/",
"rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
"dcterms": "http://purl.org/dc/terms/",
"foaf": "http://xmlns.com/foaf/0.1/",
"geo": "http://www.w3.org/2003/01/geo/wgs84_pos#"
},
"@graph": [
{
"@id": "http://data.europeana.eu/aggregation/europeana/09102/_CM_0839888",
"@type": "edm:EuropeanaAggregation",
"dc:creator": "Europeana",
"edm:aggregatedCHO": {
"@id": "http://data.europeana.eu/item/09102/_CM_0839888"
},
"edm:collectionName": "09102_Ag_EU_MIMO_ESE",
"edm:country": "Europe",
"edm:landingPage": {
"@id": "http://www.europeana.eu/portal/record/09102/_CM_0839888.html"
},
"edm:language": "mul",
"edm:rights": {
"@id": "http://creativecommons.org/licenses/by-nc-sa/3.0/"
}
},
{
"@id": "http://data.europeana.eu/aggregation/provider/09102/_CM_0839888",
"@type": "ore:Aggregation",
...
},
{
"@id": "http://data.europeana.eu/item/09102/_CM_0839888",
"@type": "edm:ProvidedCHO"
},
{
"@id": "http://data.europeana.eu/proxy/europeana/09102/_CM_0839888",
"@type": "ore:Proxy",
...
},
{
"@id": "http://data.europeana.eu/proxy/provider/09102/_CM_0839888",
"@type": "ore:Proxy",
...
},
{
"@id": "http://mediatheque.cite-musique.fr/masc/play.asp?ID=0839888",
"@type": "edm:WebResource"
},
{
"@id": "http://semium.org/time/1910",
"@type": "edm:TimeSpan",
...
},
{
"@id": "http://semium.org/time/19xx_1_third",
"@type": "edm:TimeSpan",
...
},
{
"@id": "http://sws.geonames.org/2950159",
"@type": "edm:Place",
...
},
{
"@id": "http://www.geonames.org/2950159",
"@type": "edm:Place",
...
},
{
"@id": "http://www.mimo-db.eu/InstrumentsKeywords/4495",
"@type": "skos:Concept",
...
},
{
"@id": "http://www.mimo-db.eu/media/MF-GET/IMAGE/MFIM000024482.jpg",
"@type": "edm:WebResource",
...
}
]
}
|
|
...
JSON-LD makes use of Internationalized Resource Identifiers, IRIs as property names. This ensures that each statement of a record matches a standard vocabulary. In Europeana's implementation the properties are qualified names (in the format of "namespace_prefix:property_name" such as "dc:creator") for the sake of brevity. In the normal JSON response we use non-standard camel case ("dcCreator") property names. In the JSON Section you can find the connections between our camelCase property names and the JSON-LD and RDF qualified names.
JSON-LD has a @context
part, which links object properties in a JSON document to concepts in an ontology. In our JSON-LD this lists the used namespaces and their prefixes.
JSON-LD makes a distinction between values that are string literals from values that are other resources.
...
The root element of the XML document is "rdf:RDF". This element will have declared all the namespaces required for the qualified names of all classes and properties being using within the document. A list of all supported namespaces can be view in our /wiki/spaces/EF/pages/2385313809 EDM introduction.
Within the root element, all instances of EDM classes are declared using the qualified name of the classes as the label for the XML element. An "rdf:about" attribute is present indicating the IRI of that instance.
...
The Thumbnail API is an extension of the Record API to allow the retrieval of cached thumbnails that are generated upon ingestion of the metadata by Europeana. Thumbnails are only generated for media resources that are referred through by edm:isShownBy, edm:isShownAt or edm:object properties which are then supplied using the edm:preview property.
Request
The Thumbnail API doesn't require any form of authentication, providing your API key is optional. It always returns an image, whether the thumbnail exists or not. To use the Search API to verify whether a thumbnail exists you can add has_thumbnail=true to your search query, or check if the edmPreview field in the search or record response has a value (which is the URL of the thumbnail).
...
...
We deploy new versions of the portal and API quite regularly, but not all new versions result in changes in the interface. The current version of the Record API is 2.9.0 (2019-07-15). To see the changes made for this version and also all previous releases, see the API changelog in the project GitHub.
Console
Swc macro |
---|
docExpansion | Nothing |
---|
url | https://api.europeana.eu/api/api-docs |
---|
|