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.
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.
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).
CreativeWork): /collect/{object_number}Place, with the buried persons and the outline on the floor plan): /collect/{grave_number}Person): /person/{priref}DefinedTerm): /subject/{term}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}
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.
/collect, optionally filtered with ?collection=graves, objects, art, extended or locations/person/subject/search?q={terms}, optionally with &scope=people, objecten_collection or subjectsThese 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"
The Open Archive supports the IIIF Image API and Presentation API (version 2).
Image API
/iiif/{identifier}/info.json/iiif/{identifier}/{region}/{size}/{rotation}/{quality}.{format}, for example /iiif/{identifier}/full/400,/0/default.jpgfull, square, x,y,w,h or pct:x,y,w,h. Size: full, max, w,, ,h, w,h, !w,h or pct:n. Rotation: multiples of 90, optionally mirrored with !. Quality: default or gray. Format: jpg, png or webp.{identifier} of an image is found in the JSON-LD of an object or person, in image → service → @id.Presentation API
/iiif/presentation/{person_id}/manifest/iiif/presentation/collect/{collect_id}/manifestHere {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.
For structured queries with filtering and pagination, see the GraphQL API documentation. The endpoint is /graphql.
/ajax/mapcoords.json, optionally for one location with ?location={location}/ajax/mapcoordslocation.jsonImages 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.