Quickstart
Lodapi ist auth-frei in Phase 1 (öffentliche Demo). Du brauchst nichts außer curl (oder einen Browser) und optional einen 3D-Renderer für Schritt 5.
1. Welche Bundesländer sind live?
curl -s https://api.lodapi.de/v1/datasets | jq '.datasets[] | {bl: .bundesland_code, snap: .snapshot_date, count: .building_count}'
Antwort: eine Zeile pro live-BL mit Snapshot-Datum + Building-Count + Lizenz.
2. Gebäude in einer bbox
Frankfurt-Innenstadt (kleine bbox, ~351 Gebäude; limit begrenzt nur die zurückgelieferten Features):
curl -s "https://api.lodapi.de/v1/buildings?bbox=8.66,50.108,8.665,50.111&limit=20" \
| jq '.count, .features[0].properties'
GeoJSON-FeatureCollection. Jede feature.properties.bundesland zeigt das Quell-Bundesland.
3. Höhenkote an einem Punkt
curl -s 'https://api.lodapi.de/v1/terrain/elevation?lat=50.110&lon=8.662' | jq
Liefert Geländehöhe (DHHN2016, m über NHN) aus dem zuständigen DGM1-Tile. Beispiel: ~110 m für Frankfurt.
4. 3D-Tiles-Tilesets für eine Region
curl -s "https://api.lodapi.de/v1/tilesets?bbox=8.5,50.0,8.8,50.2" \
| jq '.tilesets[] | {url: .tileset_url, count: .building_count}'
Die tileset_url-Werte zeigen auf 3D-Tiles-1.1-tileset.json-Files auf tiles.lodapi.de. Direkt mit Cesium konsumierbar:
import * as Cesium from "cesium";
const viewer = new Cesium.Viewer("cesiumContainer");
const r = await fetch("https://api.lodapi.de/v1/tilesets?bbox=8.5,50.0,8.8,50.2");
const { tilesets } = await r.json();
for (const t of tilesets) {
const tileset = await Cesium.Cesium3DTileset.fromUrl(t.tileset_url);
viewer.scene.primitives.add(tileset);
}
5. Eine bbox als einzelnes GLB
Brauchst du das ganze Frankfurt-Sub-Quadrat als eine GLB-Datei für Blender oder Three.js?
curl -s "https://api.lodapi.de/v1/buildings/3d.glb?bbox=8.66,50.108,8.665,50.111&compression=draco" \
> frankfurt.glb
~100 KB nach Draco-Kompression bei ~351 Gebäuden. Limits: bbox ≤ 1 km², max 20000 Gebäude.
Lizenzpflicht beachten
Jede Antwort enthält den lodapi.attribution[]-Block. Bei DL-DE BY 2.0 oder CC BY 4.0 (das ist die Mehrheit) musst du den Quell-String in deinem Frontend sichtbar machen. Details: Attribution-Guide.
Nächste Schritte
- Vollständige API-Referenz — alle 13 Endpoints.
- Für KI-Agenten — wenn du Lodapi via Cursor / Claude Code anbindest.
- Cesium-Integration (in Bearbeitung) — komplette Demo-App.