← Volver a Proyectos

Ejemplo de uso: Kairos Nearest Church/Temple API (Global)

Kairos devuelve el lugar de culto más cercano a una latitud/longitud o lista lugares dentro de un radio. Está optimizado con PostGIS y usa OpenStreetMap (Overpass) bajo demanda con caché.

Quick start

Base URL: https://<YOUR_RAPIDAPI_HOST>
Headers: X-RapidAPI-Key + X-RapidAPI-Host
Endpoints: /health, /temples/near, /temples
Tip: en RapidAPI, abre Code Snippets y copia el Host exacto. No llames al servidor origen directamente: usa el host de RapidAPI.

Parámetros clave

lat (req): latitud
lon (req): longitud
radiusKm: radio en km (default 8)
limit: máx resultados (hasta 200)
offset: paginación

⚡ Cache bucketing
radiusKm se normaliza a 2 / 5 / 10 / 20 km para maximizar caché. Revisa radius_km_used en la respuesta.

1) Health check

curl -s "https://<YOUR_RAPIDAPI_HOST>/health" \
  -H "X-RapidAPI-Key: <YOUR_RAPIDAPI_KEY>" \
  -H "X-RapidAPI-Host: <YOUR_RAPIDAPI_HOST>"

2) Nearest place of worship

Encuentra el lugar de culto más cercano dentro del radio.

curl -s "https://<YOUR_RAPIDAPI_HOST>/temples/near?lat=6.96333&lon=-75.41722&radiusKm=10" \
  -H "X-RapidAPI-Key: <YOUR_RAPIDAPI_KEY>" \
  -H "X-RapidAPI-Host: <YOUR_RAPIDAPI_HOST>"

Node.js (Axios)

const axios = require("axios");

const RAPIDAPI_KEY = process.env.RAPIDAPI_KEY || "YOUR_RAPIDAPI_KEY";
const RAPIDAPI_HOST = process.env.RAPIDAPI_HOST || "YOUR_RAPIDAPI_HOST";

const options = {
  method: "GET",
  url: `https://${RAPIDAPI_HOST}/temples/near`,
  params: { lat: 6.96333, lon: -75.41722, radiusKm: 10 },
  headers: {
    "X-RapidAPI-Key": RAPIDAPI_KEY,
    "X-RapidAPI-Host": RAPIDAPI_HOST
  }
};

axios.request(options)
  .then(r => console.log(r.data))
  .catch(err => console.error(err));

Python (requests)

import os
import requests

RAPIDAPI_KEY = os.environ.get("RAPIDAPI_KEY", "YOUR_RAPIDAPI_KEY")
RAPIDAPI_HOST = os.environ.get("RAPIDAPI_HOST", "YOUR_RAPIDAPI_HOST")

url = f"https://{RAPIDAPI_HOST}/temples/near"
params = {"lat": 6.96333, "lon": -75.41722, "radiusKm": 10}
headers = {
    "X-RapidAPI-Key": RAPIDAPI_KEY,
    "X-RapidAPI-Host": RAPIDAPI_HOST
}

r = requests.get(url, headers=headers, params=params, timeout=20)
r.raise_for_status()
print(r.json())

3) List places within radius (paginado)

Lista lugares dentro del radio con limit y offset.

curl -s "https://<YOUR_RAPIDAPI_HOST>/temples?lat=6.96333&lon=-75.41722&radiusKm=10&limit=50&offset=0" \
  -H "X-RapidAPI-Key: <YOUR_RAPIDAPI_KEY>" \
  -H "X-RapidAPI-Host: <YOUR_RAPIDAPI_HOST>"

Errores comunes

  • 400: faltan parámetros (lat/lon) o son inválidos.
  • 403: falta/invalid X-RapidAPI-Key o no estás suscrito a un plan.
  • 429: superaste el rate limit del plan.
  • 502: error temporal de upstream (Overpass) — reintentar.

Link oficial en RapidAPI

Ver en RapidAPI