API
Die offene Leseschnittstelle macht veröffentlichte Orts- und Kategoriedaten maschinenlesbar. Sie eignet sich für eigene Karten, kirchliche Informationsangebote, Forschung und nichtkommerzielle Projekte. Schreibzugriffe, Benutzerkonten und interne Verwaltungsdaten sind nicht Bestandteil der API.
Vollständige veröffentlichte Angaben zu einem Ort anhand seines URL-Kürzels.
JSON
https://pilgrimap.org/api/v1/places/gnadenkapelle-altoetting?lang=deiFrame
<iframe src="https://pilgrimap.org/embed/place/gnadenkapelle-altoetting?lang=de" loading="lazy" title="Gnadenkapelle Altötting"></iframe>Suche nach Name, Ort, Postleitzahl, Region, alternativen Namen und Kategorie.
JSON
https://pilgrimap.org/api/v1/search?q=Altötting&limit=20&lang=deiFrame
<iframe src="https://pilgrimap.org/embed/search?q=Altötting&lang=de" loading="lazy" title="Wallfahrtsorte in Altötting"></iframe>Aktive Katalogwerte mit Symbol, Markerfarbe und Filterlink.
JSON
https://pilgrimap.org/api/v1/categories?lang=deiFrame
<iframe src="https://pilgrimap.org/embed/categories?lang=de" loading="lazy" title="Kategorien der Wallfahrtskarte"></iframe>GeoJSON für eigene Karten oder eine fertige eingebettete Kartenansicht.
JSON / GeoJSON
https://pilgrimap.org/api/v1/geojson?category=marienheiligtum&lang=deiFrame
<iframe src="https://pilgrimap.org/embed/map?place=gnadenkapelle-altoetting&lang=de" loading="lazy" title="Wallfahrtskarte"></iframe>Weitere Endpunkte
| JSON | iFrame-Entsprechung | Funktion |
|---|---|---|
/api/v1/meta | /embed/docs | Version, Umfang und Dokumentationslink |
/api/v1/places | /embed/places | Liste mit Filtern und Sortierung |
/api/v1/places/<slug> | /embed/place/<slug> | Vollständiger einzelner Ort |
/api/v1/search?q=… | /embed/search?q=… | Freitextsuche |
/api/v1/categories | /embed/categories | Aktive Kategorien |
/api/v1/geojson | /embed/map | Datensätze als GeoJSON beziehungsweise Karte |
/api/v1/places/<slug>/geojson | /embed/map?place=<slug> | Ein Ort als GeoJSON beziehungsweise Kartenfokus |
/api/v1/nearby?lat=48.1&lng=11.5 | /embed/nearby?lat=48.1&lng=11.5 | Orte im Umkreis |
/api/v1/random | /embed/random | Zufälliger veröffentlichter Ort |
/api/v1/languages | – | Aktive Sprachen und Schreibrichtung |
/api/v1/places/featured | /embed/places | Hervorgehobene Orte |
/api/v1/places/recent | /embed/places | Kürzlich aktualisierte Orte |
/api/v1/places/<slug>/translations | – | Verfügbare Übersetzungen eines Orts |
/api/v1/stats | – | Öffentliche Katalogsummen |
/api/v1/openapi.json | – | OpenAPI 3.1 |
Filter für /api/v1/places
| Parameter | Beschreibung |
|---|---|
q | Freitextsuche |
category | Kategorie-Slug, beispielsweise marienheiligtum |
locality | Ort oder Ortsteil |
country | ISO-Ländercode, beispielsweise DE |
region | Region oder Bundesland |
featured | true/false – hervorgehobene Orte |
has_images | true/false – Orte mit Bildern |
updated_since | ISO-8601-Zeitstempel |
bbox | Begrenzungsrahmen: West,Süd,Ost,Nord |
page, per_page | Seitennummer und maximal 100 Datensätze pro Seite |
sort, order | name, locality oder updated; asc/desc |
lang | Sprachcode, beispielsweise de, fr oder it |
JavaScript-Beispiel
fetch('https://pilgrimap.org/api/v1/search?q=Kevelaer&lang=de')
.then(response => response.json())
.then(result => console.log(result.data));
Python-Beispiel
import requests
response = requests.get(
'https://pilgrimap.org/api/v1/nearby',
params={'lat': 48.13, 'lng': 11.58, 'radius_km': 100, 'lang': 'de'},
timeout=10,
)
response.raise_for_status()
places = response.json()['data']
Die JSON-Endpunkte erlauben browserseitige GET-Anfragen über CORS. API- und iFrame-Aufrufe werden ausschließlich in einer getrennten technischen API-Statistik gezählt und nicht mit der Besucherstatistik vermischt.