ArPI is a read-only GET API. It does not accept
POST, PUT, DELETE, or other
request methods.
All requests must be addressed to the /arpi endpoint and
must contain at least the get=<module_name>
parameter. Example: /arpi?get=tectonic
All responses are returned in JSON format and contain either a
data or an error object. Responses may also
include a meta object containing additional request
information (e.g., warnings).
| Field | Type | Description |
|---|---|---|
data |
Object/Array | The response payload. Structure depends on the endpoint called. |
error |
Object/String | Present only on errors. Contains code and
message (or a direct string). |
meta |
Object | Present if there are additional warnings or metadata about the request. |
Error Example:
{
"error": {
"code": 400,
"message": "unbekannter Schlüsselworttyp"
}
}/arpi?get=tectonic
Returns a hierarchical structure representing content paths as an array of nodes/segments.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
get |
String | Yes | Must be set to tectonic. |
Response Schema (data array)
| Field | Type | Description |
|---|---|---|
name |
String | Segment name used in the path (e.g., 1). |
title |
String | Human-readable title (e.g., Altbestand). |
pos |
Integer | Level on which the segment is located relative to the root
(0 means root). |
full |
String | Dot-separated full segment path from the source root (e.g.,
4.7.1). |
tail |
String | Dot-separated full path of all ancestors, excluding this segment’s
name (e.g., 4.7). |
Example Request: /arpi?get=tectonic (
open
link )
Example Response
{
"data": [
{
"name": "1",
"title": "Altbestand",
"pos": 1,
"full": "1",
"tail": ""
},
{
"name": "1",
"title": "AltDB Grass",
"pos": 2,
"full": "1.1",
"tail": "1"
}
]
}/arpi?get=dataset
Returns all readable field values for a specific dataset.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
get |
String | Yes | Must be set to dataset. |
sig |
String | Yes | The full signature of the dataset. |
Response Schema (data array)
| Field | Type | Description |
|---|---|---|
sig_full |
String | The full signature identifier of the dataset. |
| (dynamic) | Any | Additional fields and their values depend entirely on the specific dataset. |
Note: data is an array containing a single
element.
Example Request:
/arpi?get=dataset&sig=01.01.00.00.-0002 ( open
link )
Example Response
{
"data": [
{
"sig_full": "01.01.00.00.-0002",
"titel": "Erste Reise in die USA - Interview mit Günter Grass...",
"untertitel": null,
"sw_sach": "Literaturpreis; Theater; Corolian; Bremer Literaturpreis; die \"Bremen\" (Schiff)",
"sw_geo": "Bremen; USA; Bremerhaven; New York; Boston; Yale; New Haven"
}
],
"error": null,
"meta": null
}dlist)/arpi?get=dlist
Returns a generic list of datasets based on either a tectonic path or a field query. Note: The search API is designed to be used in conjunction with a frontend and currently does not expose a fixed schema.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
get |
String | Yes | Must be set to dlist. |
query |
String | No | URL-encoded query string (e.g., field1=val1). Supports
>= and <= operators for date/numeric
ranges. Multiple conditions can be joined with
&&. |
tectonic |
String | No | Tectonic path separated by dots (e.g., 1.1). Returns
datasets whose signatures start with this path. |
Note: Either query or tectonic must be
provided.
Response Schema (data array)
| Field | Type | Description |
|---|---|---|
sig_full |
String | The full signature identifier of the dataset. |
| (dynamic) | Any | Additional fields and their values depend on the query and specific dataset. |
Query Examples & Behavior
Simple text search:
/arpi?get=dlist&query=titel%3Dnew%20york ( open
link ) (Decoded:
query=titel=new york)
Date range search (single bound):
/arpi?get=dlist&query=timeframe%3D%3E%3D1930-01-01 ( open
link ) (Decoded:
query=timeframe=>=1930-01-01)
Date range search (double bound using
&&):
/arpi?get=dlist&query=timeframe%253D%25253E%25253D1930-01-01%252B%252526%252526%252B%25253C%25253D1990-01-01
( open
link ) (Decoded:
query=timeframe=>=1930-01-01 && <=1990-01-01)
Full-text content search:
/arpi?get=dlist&query=text_content%3DNew%20york ( open
link ) (Decoded:
query=text_content=New york)
Empty query:
/arpi?get=dlist&query= ( open
link ) Returns an empty array [].
Invalid field query:
/arpi?get=dlist&query=foo%3Dbar ( open
link ) If a non-existent field is queried, the API returns a warning
in meta and an error string.
{
"meta": {
"query": {"foo": "bar"},
"warnings": ["Sie dürfen das Feld 'foo' nicht abfragen"]
},
"data": [],
"error": "Keine gültigen Argumente"
}/arpi?get=keywords
Returns an array of keywords of a specific type, along with the datasets attached to them.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
get |
String | Yes | Must be set to keywords. |
type |
String | Yes | The keyword type (e.g., sw_werke). |
Response Schema (data array)
| Field | Type | Description |
|---|---|---|
word |
String | The keyword string. |
dsets |
Array | List of datasets associated with this keyword. |
dsets Object Schema
| Field | Type | Description |
|---|---|---|
sig_full |
String | The full signature identifier of the dataset. |
| (dynamic) | Any | Additional fields and their values depend on the specific dataset. |
Example Request:
/arpi?get=keywords&type=sw_werke ( open
link )
Example Response
{
"data": [
{
"word": "Kahlschlag in unseren Köpfen",
"dsets": [
{
"sig_full": "03.02.03.00.-0005",
"titel": "Kulturjournal Frankfurt",
"untertitel": "Grass über die Wiedervereinigung"
}
]
}
]
}