Offene Schnittstelle (API)

Alle Objekte der Kulturdatenbank lassen sich über eine einfache, offene Schnittstelle abrufen – als JSON oder als GeoJSON für Kartenanwendungen und GIS.

Grundlagen

Basis-URL
https://kulturdb.de/api/v1
Zugriff
nur lesend (HTTP GET), ohne Anmeldung und ohne API-Schlüssel
Formate
JSON (RFC 8259), GeoJSON (RFC 7946, application/geo+json), Zeichensatz UTF-8
Koordinaten
WGS 84 (EPSG:4326), Reihenfolge in GeoJSON [Länge, Breite]
Browser-Zugriff
CORS ist freigegeben (Access-Control-Allow-Origin: *) – direkt aus Web-Anwendungen nutzbar
Zwischenspeicher
Antworten enthalten Cache-Control-Angaben (1–60 Minuten)
Fehler
passender HTTP-Status (400 ungültige Parameter, 404 nicht gefunden) mit {"error": "…"}
Versionierung
Die Version steht im Pfad (/v1); Änderungen, die bestehende Anwendungen brechen, erscheinen nur in einer neuen Version.
Objekt-URLs
Die Objekt-ID ist dauerhaft: https://kulturdb.de/objekt/{id} (alte Links einobjekt.php?id= werden weitergeleitet)

Endpunkte

GET /punkte

Sehr kompakte Punktliste für Clusterkarten mit vielen tausend Objekten: {"felder": ["id","lat","lon","titel","bereich","kategorie"], "bereiche": […], "kategorien": […], "daten": [[…], …]} – bereich und kategorie sind Indizes in den Listen bereiche und kategorien (-1 = ohne). Alle Filter sind möglich.

https://kulturdb.de/api/v1/punkte?landkreis=Vulkaneifel

Filter

Die Filter entsprechen der Suche auf der Website. Werte werden exakt verglichen (Groß-/Kleinschreibung beachten) und mit UND verknüpft; in URLs müssen Leer- und Sonderzeichen kodiert werden (z. B. Barock%20%2F%20Rokoko).

ParameterWertBedeutung
qTextSuchbegriff in Titel, Untertitel, Gemeinde, Ortsteil, Straße, Flurname, Ersteller, Verbandsgemeinde, Landkreis oder Objekt-ID; mehrere Wörter werden UND-verknüpft (in beliebigen Feldern), Satzzeichen ignoriert, ß/ss und Straße/Str. gleich behandelt
volltext1zusätzlich in der Beschreibung suchen (Wortanfänge und deutsche Wortstämme)
bereichTextz. B. Naturobjekte (siehe Kategorien)
kategorieTextz. B. Sakralbauten
objektartTextz. B. Kapellen
epocheTextz. B. Barock / Rokoko
landkreisTextz. B. Vulkaneifel (siehe Orte)
vgTextVerbandsgemeinde, z. B. Wittlich-Land
gemeindeTextz. B. Arzfeld
seitJJJJ-MM-TTnur Objekte, die nach diesem Datum bearbeitet wurden
bilder1nur Objekte mit mindestens einem Bild

Beispiele

QGIS

Layer › Layer hinzufügen › Vektorlayer hinzufügen, Quelltyp Protokoll: HTTP(S), als URI z. B.:

https://kulturdb.de/api/v1/objekte.geojson?landkreis=Trier-Saarburg&limit=50000

JavaScript

const res = await fetch('https://kulturdb.de/api/v1/objekte.geojson?objektart=Burgen');
const geojson = await res.json();
console.log(geojson.features.length + ' Burgen');

Leaflet

fetch('https://kulturdb.de/api/v1/objekte.geojson?gemeinde=Arzfeld')
  .then((r) => r.json())
  .then((data) => L.geoJSON(data, {
    onEachFeature: (f, layer) => layer.bindPopup(
      `<a href="${f.properties.url}">${f.properties.titel}</a>`)
  }).addTo(map));

OpenLayers / NETGIS Client Suite

new ol.layer.Vector({
  source: new ol.source.Vector({
    url: (extent) => 'https://kulturdb.de/api/v1/objekte.geojson?bbox=' +
      ol.proj.transformExtent(extent, 'EPSG:3857', 'EPSG:4326').join(','),
    format: new ol.format.GeoJSON(),
    strategy: ol.loadingstrategy.bbox
  })
});

Beispielantwort /objekte/99

{
    "id": 99,
    "titel": "Porta Nigra (1)",
    "untertitel": null,
    "ort": "Trier, Mitte-Gartenfeld",
    "gemeinde": "Trier",
    "ortsteil": "Mitte-Gartenfeld",
    "landkreis": "Kreisfreie Stadt Trier",
    "bereich": "Bau- und Kunstdenkmale",
    "kategorie": "Wehrbauten und militärische Anlagen",
    "objektart": "Stadtbefestigungen",
    "epoche": "Kelten- / Römerzeit",
    "zeit": "170 nach Chr.",
    "url": "https://kulturdb.de/objekt/99-trier-porta-nigra-1",
    "bild": "https://kulturdb.de/media/thumbs/480/lazarus_porta-nigra_1912.jpg",
    "lat": 49.759634,
    "lon": 6.644084,
    "beschreibung": "Am Nordende der Fußgängerzone. Beschreibung: Die sogenannte Porta Nigra gehört zu den am besten erhaltenen Stadttoren des römischen Reiches. Das mächtige Tor im Norden der Stadt wurde zusammen mit der Stadtmauer und weiteren Toren gleicher Art wohl im letzten Drittel des 2. Jahrhunderts n. Chr …",
    "bilder": [
        {
            "url": "https://kulturdb.de/bilder/lazarus_porta-nigra_1912.jpg",
            "quelle": "Max Lazarus: Die Porta Nigra in Trier, 1912. © Stadtmuseum Simeonstift Trier."
        },
        {
            "url": "https://kulturdb.de/bilder/lazarus_porta-nigra2_1926.jpg",
            "quelle": "Max Lazarus: Blick durch ein Fenster der Porta Nigra auf St. Gangolf, 1926. © Stadtmuseum Simeonstift Trier."
        },
        {
            "url": "https://kulturdb.de/bilder/trier_porta_nigra_1.jpg",
            "quelle": "Internet"
        },
        {
            "url": "https://kulturdb.de/bilder/trier_porta-nigra_eby.jpg",
            "quelle": "© David W. Eby, Homepage"
        },
        {
            "url": "https://kulturdb.de/bilder/trier_porta_nigra_02_iduhr.jpg",
            "quelle": "© Inge Duhr, Trier, 2020."
        }
    ],
    "stand": "2020-07-06"
}

Nutzung und Quellenangabe

Die Schnittstelle steht für nichtkommerzielle Zwecke, Forschung, Heimatkunde und Kartenanwendungen frei zur Verfügung. Bitte nennen Sie als Quelle „Kulturdatenbank Region Trier – kulturdb.de/“ und verlinken Sie nach Möglichkeit auf das jeweilige Objekt (Feld url).

Die Rechte an Bildern liegen bei den jeweiligen Urheberinnen und Urhebern (Feld bilder[].quelle). Eine Weiterverwendung der Bilder außerhalb eines Verweises auf die Kulturdatenbank bedarf deren Zustimmung.

Bitte rufen Sie große Datenmengen nicht in kurzen Abständen wiederholt ab, sondern nutzen Sie bbox, Filter und Zwischenspeicherung. Für Fragen oder größere Vorhaben: kulturdatenbank@gmx.de.

Zusätzlich gibt es standardisierte OGC-Geodatendienste (WMS, WFS) – siehe Kartendienste.