Data via the Open Archive API


The Open Archive offers machine-readable access to its collection data: linked data (JSON-LD with schema.org) for every record, lists and search as linked data, IIIF for images, a GraphQL API and GeoJSON for the map. All paths below are relative to this website. Placeholders such as {priref} must be replaced by a real value.

Start here

The dataset description (/dataset) lists all entry points: the lists of objects, persons and subjects, the search and the GraphQL API. Request it with the header Accept: application/ld+json to get a schema.org Dataset. The home page also contains a schema.org WebSite with a SearchAction describing the search URL.

Linked data per record (JSON-LD)

Every detail page is also available as JSON-LD. Use the same URL as the web page and send the header Accept: application/ld+json (or application/json).

Records can also be retrieved with ?priref= or ?id=, for example /collect/?priref={priref}. Each record has an @id (its permanent URL) and a list of identifier values: the Axiell priref, the object number, the internal Open Archive id and, for persons, identifiers of external sources such as RKD and the Amsterdam City Archives. Images refer to the IIIF Image API.

Example

curl -H "Accept: application/ld+json" /person/{priref}

Lists and search

To browse or search without knowing the paths in advance, use the lists below. They are returned as paged Activity Streams collections (OrderedCollection), the format also used by Linked Art and IIIF. Each item contains its id (the URL of the full JSON-LD record), its type, its name and, if available, an image.

These lists are only returned with the header Accept: application/ld+json; without it the same URLs show the normal web pages. Without page you get the collection with totalItems and links to the first and last page. Add ?page={n} for a page with next and prev. A page holds 50 items; use ?per_page= for up to 100.

Example

curl -H "Accept: application/ld+json" "/search?q=rembrandt&page=1"

IIIF

The Open Archive supports the IIIF Image API and Presentation API (version 2).

Image API

Presentation API

Here {person_id} and {collect_id} are the internal Open Archive ids, found in the JSON-LD identifiers oudekerk-open-archive-person-id and oudekerk-open-archive-collect-id.

GraphQL API

For structured queries with filtering and pagination, see the GraphQL API documentation. The endpoint is /graphql.

Map data (GeoJSON)

Fair use and caching

Images are cached and may be cached by clients for 7 days. To protect the service, requests are limited per IP address: 120 image information requests per minute, 40 image requests per second and 1500 per minute, of which 120 per minute for images that have not been requested before. Above these limits the server responds with status 429 and a Retry-After header. If you need more, please contact the Oude Kerk.



<< back