Issue: #1050 Feel free to add and comment

To make it easier for other application to use data from OpenAtlas directly we plan to implement an API (application programming interface).

There are already some use cases:

  • THANADOS OpenAtlas presentation software, developed by Stefan Eichert
  • ARCHE (for long time archiving), developed by ACDH
  • Pelagios


Main purpose is the automatic data exchange between systems via URLs.

  • All API request will include "api" after the domain URL e.g. for one entity or for a list of entities
  • There will be multiple formats available (e.g. RDFS, JSON, XML)
  • First step is to get basic information of an entity via including the entity id in the URL
  • Next step will be to get (most) associated information e.g. information about super and sub entities, related entities like actors, events, ...
  • Finally it should be possible to get all the information needed for e.g. OpenAtlas frontend presentation software, either especially developed or with a generic parameterized URL solution

Since the API should be very stable (additions are ok but no interface changes for possible other systems already using it) we will take some time to plan it in detail.


Great Resources on API development:

  • O'Reilly:RESTful Web APIs - deposited with Alex
  • OpenAPI - a machine readable API documentation format/standard, with a large ecosystem of tools built around it
  • JSON:API - a conceptual framework for API development and documentation
  • RF2616 - the HTTP specification, quite technical/theoretical, but good to be familiar with at least
  • FastAPI - an interesting project to create a fast API
  • LinkedTraces - Maybe for actors'?
  • JSON-LD-Playground useful tool


This is a overview how the API can be requested:

  • Request one entity: /api/0.1/entity/105 or /api/0.1?entity=105
  • Request multiple entities: /api/0.1?entity=105&entity=111
  • Request by code: /api/0.1/actor

Updated by Bernhard Koschicek 5 days ago · 46 revisions

Also available in: PDF HTML TXT