Guida Rapida: Inizia in 60 Secondi
Tutti gli endpoint di consultazione pubblica (luoghi, eventi, categorie, orari) sono aperti e accessibili senza registrazione o chiavi API. I client sono soggetti a una policy di rate-limiting di 60 richieste al minuto per IP.
1
Esegui una query cURL dal terminale
Interroga il catalogo dei monumenti e punti di interesse nel centro antico di Salerno:
curl -s "https://salernos.it/api/v1/public/salernos/places?category=monumenti&limit=3" | jq .2
Integrazione in Node.js / TypeScript
Esempio di caricamento asincrono con gestione degli errori nativa in JavaScript/TypeScript:
interface Place {
id: string;
name: string;
category: string;
address?: string;
lat?: number;
lng?: number;
}
async function getSalernoPlaces(category: string): Promise<Place[]> {
const url = new URL("https://salernos.it/api/v1/public/salernos/places");
url.searchParams.set("category", category);
url.searchParams.set("limit", "10");
const response = await fetch(url.toString(), {
headers: { "Accept": "application/json" }
});
if (!response.ok) {
throw new Error(`SalernOS API Error: ${response.status}`);
}
const payload = await response.json();
return payload.places || [];
}
// Esecuzione
const monumenti = await getSalernoPlaces("monumenti");
console.log(`Trovati ${monumenti.length} monumenti a Salerno.`);3
Integrazione in Python (requests)
Interroga la lista degli eventi culturali in calendario:
import requests
def fetch_events(city="Salerno"):
url = "https://salernos.it/api/v1/public/salernos/events"
params = {"citta": city}
headers = {"Accept": "application/json"}
res = requests.get(url, params=params, headers=headers, timeout=5)
res.raise_for_status()
return res.json()
if __name__ == "__main__":
data = fetch_events()
print("Eventi programmati:", len(data.get("events", [])))