3eurotools.it
La vecchia API senza chiave verrà sospesa il 15 dicembre 2026. Come passare alla nuova · vecchia documentazione

API Quotazioni Immobiliari OMI: dai le coordinate di un punto qualsiasi e ricevi la sua zona OMI con i prezzi di vendita e affitto, dal 2004 a oggi. Dati ufficiali dell'Agenzia delle Entrate.

  • Ricerca da coordinate GPS
  • Oppure per nome o codice
  • Fino a 5.000 richieste al giorno gratis
Mappa dell'Italia in cui l'altezza di ogni blocco è il prezzo medio OMI al metro quadro delle abitazioni civili; evidenziata la zona del Colosseo a Roma.

Provala adesso.

Componi la richiesta come la faresti davvero, eseguila e guarda la risposta dell'API. È una simulazione con i dati OMI reali dell'ultimo anno, senza richieste vere e senza registrazione.

La richiesta quotazioni.py
import os
import requests

URL = "https://3eurotools.it/api/v1/quotazioni"
CHIAVE = os.environ["OMI_API_KEY"]

risposta = requests.get(
    URL,
    params={"lat": 41.8902, "lon": 12.4922, "tipologia": "abitazioni_civili", "mq": 80},
    headers={"X-API-Key": CHIAVE},
    timeout=10,
)
La risposta in attesa
In attesa: premi Esegui qui sopra per inviare la richiesta.

Dalle coordinate alla zona OMI.

Passa lat e lon (WGS84, le stesse di Google Maps o di un GPS) e l'API trova la zona OMI che contiene il punto, usando i perimetri ufficiali delle zone pubblicati dall'Agenzia delle Entrate.

Non serve sapere in che comune o in che zona ti trovi: la risposta te lo dice nel blocco risolto, insieme alle quotazioni.

Da un indirizzo. Converti l'indirizzo in coordinate con un servizio di geocoding (Google Maps, OpenStreetMap Nominatim e simili) e passale all'API. Se il punto cade in mare o fuori da ogni zona ricevi 404 zona_not_found. Con /api/v1/zone?lat=…&lon=… ottieni solo la zona, senza prezzi.

La richiesta di esempio: abitazioni civili di 80 m² vicino al Colosseo.

curl -H "X-API-Key: $OMI_API_KEY" \
  "https://3eurotools.it/api/v1/quotazioni?lat=41.8902&lon=12.4922&tipologia=abitazioni_civili&mq=80"
{
  "anno": 2026,
  "risolto": {
    "metodo": "coordinate",
    "comune": { "codice": "H501", "nome": "Roma", "provincia": "RM", "regione": "Lazio" },
    "zona": { "codice": "B3", "descrizione": "Celio (Via Claudia)", "fascia": "B" }
  },
  "zone": {
    "B3": {
      "descrizione": "Celio (Via Claudia)",
      "tipologie": {
        "abitazioni_civili": {
          "stato": "normale",
          "semestri": 1,
          "acquisto": { "min": 352000.0, "max": 512000.0, "medio": 432000.0 },
          "affitto":  { "min": 1280.0, "max": 1840.0, "medio": 1560.0 }
        }
      }
    }
  }
}

Cosa puoi costruire.

Partire dalle coordinate

Con lat e lon l'API trova la zona che contiene il punto, sui perimetri ufficiali delle zone OMI.

Cercare per nome

q=Roma, San Lorenzo trova comune e zona da soli. Forlì, forli e FORLI` sono la stessa cosa.

Elencare le zone

/api/v1/zone restituisce le zone di un comune con descrizione, fascia e tipologia prevalente.

Guardare indietro

Con anno ricevi le quotazioni di ogni anno dal 2004: l'anno è la media dei semestri pubblicati.

Controllare i consumi

/api/v1/me mostra il tuo piano, le richieste usate oggi e quelle rimaste.

Riferimento

Indirizzo base https://3eurotools.it/api/v1. Tutte le richieste sono GET e richiedono l'header X-API-Key (oppure Authorization: Bearer); la chiave nell'URL non viene accettata.

/quotazioni: prezzi di un punto, di una zona o di un intero comune

ParametroDescrizione
lat, lonCoordinate di un punto (WGS84). Non si combinano con gli altri modi.
qComune e zona insieme, separati da virgola o barra: Roma, San Lorenzo, H501/C5, Roma/C5. Solo il comune: tutte le sue zone.
comuneIn alternativa a q: codice catastale o nome del comune.
zonaCodice o descrizione della zona OMI. Se manca, tutte le zone del comune.
provinciaSigla (es. LE), serve solo per i comuni con lo stesso nome, come Castro (BG) e Castro (LE).
tipologiaEs. abitazioni_civili, ville_e_villini, negozi, box, oppure il codice numerico.
annoDal 2004 a oggi. L'anno è la media dei semestri pubblicati.
mqSuperficie: i prezzi vengono moltiplicati per questo valore.
operazioneacquisto o affitto.

Come leggere i prezzi. acquisto è il valore di compravendita, affitto il canone mensile, già moltiplicati per mq. Minimo e massimo non sono i prezzi più bassi e più alti registrati, ma il range in cui si colloca un immobile della zona: un attico ristrutturato sta in alto, un piano terra da sistemare in basso. stato indica lo stato di conservazione della quotazione, semestri quanti semestri compongono la media dell'anno.

/zone: le zone OMI di un punto o di un comune

Stessi parametri di area di /quotazioni. Con le coordinate del Colosseo restituisce la zona B3 di Roma, "Celio (Via Claudia)".

curl -H "X-API-Key: $OMI_API_KEY" "https://3eurotools.it/api/v1/zone?lat=41.8902&lon=12.4922"

/me: piano e consumi

Restituisce il piano, i limiti, le richieste usate oggi e le tue chiavi (solo il prefisso). Non consuma la quota giornaliera.

Limiti

Appena creata, la chiave ha fino a 100 richieste al giorno. Dopo l'approvazione dell'account, che richiedi con un clic dalla dashboard, il piano free consente fino a 5.000 richieste al giorno e fino a 30 al minuto; il conteggio giornaliero si azzera a mezzanotte, ora italiana. Ogni risposta riporta lo stato dei limiti negli header. Superato un limite ricevi 429 con Retry-After, i secondi da attendere; le richieste respinte non consumano la quota. Per limiti più alti scrivi a d.sagona.20@gmail.com.

X-RateLimit-Limit-Minute: 30
X-RateLimit-Remaining-Minute: 27
X-RateLimit-Limit-Day: 5000
X-RateLimit-Remaining-Day: 4123
X-RateLimit-Reset-Day: 1794265200   # prossima mezzanotte, timestamp Unix

Errori

Gli errori hanno sempre la stessa forma, con un codice da usare nel programma e un messaggio leggibile.

{ "error": { "code": "ambiguous_comune",
             "message": "Esistono 2 comuni chiamati 'Castro': indica la provincia.",
             "candidates": [ { "codice": "C337", "nome": "Castro", "provincia": "BG" },
                             { "codice": "M261", "nome": "Castro", "provincia": "LE" } ] } }
StatoCodiceCosa fare
401missing_api_key, invalid_api_key, api_key_revoked, api_key_expiredControlla l'header X-API-Key o genera una nuova chiave.
403account_suspendedContatta il supporto.
400invalid_parametersCorreggi i parametri indicati in details.
404comune_not_found, zona_not_found, anno_not_availableUsa uno dei suggerimenti in candidates o un anno di anni_disponibili.
409ambiguous_comune, ambiguous_zonaScegli tra i candidates: aggiungi la provincia o usa il codice.
429rate_limitedAttendi i secondi indicati in Retry-After.

JavaScript

const params = new URLSearchParams({ lat: 41.8902, lon: 12.4922, tipologia: "abitazioni_civili", mq: 80 });
const risposta = await fetch("https://3eurotools.it/api/v1/quotazioni?" + params, {
  headers: { "X-API-Key": process.env.OMI_API_KEY },
});
const dati = await risposta.json();
if (!risposta.ok) throw new Error(dati.error.message);
const zona = dati.risolto.zona.codice;
console.log(dati.zone[zona].tipologie.abitazioni_civili.acquisto.medio);

Chiama l'API dal tuo server, non dal browser dei visitatori: chiunque potrebbe leggere la chiave dal codice della pagina.

Arrivi dalla vecchia API? Ci vogliono pochi minuti.

La vecchia API senza chiave smette di rispondere il 15 dicembre 2026. Le quotazioni sono le stesse: cambiano l'indirizzo, l'autenticazione e la forma della risposta.

  1. Crea la chiave

    Registrati gratuitamente e genera una API key. La vedi una sola volta: salvala in una variabile d'ambiente, mai nel codice pubblico.

  2. Cambia indirizzo

    Da /api-quotazioni-immobiliari-omi/ricerca a https://3eurotools.it/api/v1/quotazioni, rinominando i parametri come nella tabella.

  3. Invia la chiave

    Nell'header X-API-Key: la_tua_chiave (o Authorization: Bearer).

  4. Leggi la risposta

    I prezzi stanno in zone → zona → tipologie → acquisto / affitto, con min, max e medio.

Parametri da rinominare

Vecchia APIAPI v1Note
codice_comunecomune o qAccetta il codice (H501) o il nome (Roma).
zona_omizona o qAccetta il codice (C5) o la descrizione (San Lorenzo).
tipo_immobile / cod_tip_filtrotipologiaStessi nomi (abitazioni_civili) oppure il codice numerico (20).
metri_quadrimqDa 1 a 100.000.000. Default 1, cioè prezzo al metro quadro.
operazione, annoinvariatiStesso significato di prima.

Domande frequenti.

L'API delle quotazioni OMI è gratuita?

Sì. Con la API key gratuita hai subito fino a 100 richieste al giorno; dopo l'approvazione dell'account, richiesta con un clic dalla dashboard, il piano free consente fino a 5.000 richieste al giorno e fino a 30 al minuto, anche per uso commerciale.

Posso cercare una zona OMI partendo da un indirizzo?

Sì. Converti l'indirizzo in coordinate con un servizio di geocoding e passa lat e lon: l'API restituisce il comune, la zona OMI e le sue quotazioni.

Da che anno sono disponibili le quotazioni?

Dal 2004 a oggi. Ogni anno è la media dei semestri pubblicati dall'Agenzia delle Entrate; senza il parametro anno ricevi i dati più recenti.

Cosa sono le quotazioni OMI?

Sono i valori di riferimento dell'Osservatorio del Mercato Immobiliare dell'Agenzia delle Entrate: per ogni zona di ogni comune indicano un range di prezzi di vendita e di affitto al metro quadro, per tipologia di immobile, calcolato su compravendite e contratti di locazione e aggiornato ogni semestre. Approfondisci sul sito dell'Agenzia.

Cosa succede alla vecchia API senza chiave?

Verrà sospesa il 15 dicembre 2026: da quel giorno risponde con un errore 410. Fino ad allora funziona, ma ogni risposta contiene un avviso di migrazione e i limiti sono più bassi. La vecchia documentazione resta consultabile.

Devo citare la fonte?

Sì: nei progetti pubblici inserisci un link a questa pagina. I dati sono dell'Agenzia delle Entrate.