In diretta02:45448 eventi13 incidenti429 code e cantieri

API

L'API di Traffico Adesso

Gli eventi in corso sulle strade italiane, in GeoJSON o JSON: CCISS, A22, Provincia di Bolzano, Bologna e Firenze. Provala 5 giorni con una chiave di prova; dopo, l'API è a pagamento.

L'attribuzione è obbligatoria, in tutti i piani

Prova, Personale, Professionale o Enterprise: ogni app, sito o prodotto che usa questa API dice da dove vengono i dati, con un link visibile a trafficoadesso.it accanto. Il testo richiesto è “Dati: Traffico Adesso”, con link a https://trafficoadesso.it. Da copiare:

Dati: <a href="https://trafficoadesso.it">Traffico Adesso</a>

Mantieni anche il credito della fonte originale quando la risposta lo riporta (i campi source e sourceUrl di ogni evento: CCISS Viaggiare Informati (Ministero delle Infrastrutture e dei Trasporti), Autostrada del Brennero (A22), Provincia autonoma di Bolzano, Comune di Bologna, Comune di Firenze, Comune di Milano). Ogni risposta porta l'attribuzione nel campo attribution e nell'header X-Attribution.

Per iniziare

Crea una chiave di prova con il modulo qui sotto e aggiungila alla richiesta. Apri questo nel browser, con la tua chiave in fondo, e hai i dati:

https://trafficoadesso.it/api/v1/incidents?district=lombardia&key=tad_…

Risponde in GeoJSON, pronto per una mappa. Per JSON semplice, aggiungi &format=json. In un programma, meglio la chiave nell'header:

curl -H "X-API-Key: tad_…" "https://trafficoadesso.it/api/v1/incidents?district=lombardia&type=accident&format=json"

La chiave

Dall'8 ottobre 2026 l'API è a pagamento e ogni richiesta porta una chiave. La chiave che crei qui è di prova: vale 5 giorni dalla prima richiesta, con 120 richieste all'ora, per capire se l'API serve a quello che stai costruendo. Per continuare dopo, scrivi a [email protected] con il nome del progetto e l'uso previsto: ti rispondiamo con il piano e la fattura.

Chiediamo nome, email e uso per tre ragioni concrete: per avvisarti quando una fonte ufficiale cade o cambia formato; per sapere cosa manca all'API a chi la usa davvero; e perché una chiave revocabile protegge tutti da un ciclo impazzito.

Subito, senza approvazione. Vale 5 giorni dalla prima richiesta.

La chiave va nell'header X-API-Key, in Authorization: Bearer … o nel parametro key. Fino alla fine del 13 ottobre 2026 l'API risponde ancora senza chiave, con un avviso nell'header X-API-Notice e nel corpo; dal 14, senza chiave risponde 401.

Eventi in corso: /api/v1/incidents

Quello che le fonti ufficiali pubblicano adesso: cantieri, chiusure, code, incidenti e avvisi meteo che toccano la strada. Le fonti si leggono ogni pochi minuti e si servono dal nostro archivio.

GET https://trafficoadesso.it/api/v1/incidents

Parametri

ParametroValoriA cosa serve
districtlombardia, lazio, trentino-alto-adige…Una delle 20 regioni, per slug o per nome. Lo stesso slug di /traffico/lombardia.
typeaccident, closure, traffic, weatherFiltra per tipo; ne accetta più di uno separati da virgole. Senza, arrivano tutti.
formatgeojson (predefinito), jsonGeoJSON per le mappe; JSON per le liste.
since2026-10-01Eventi iniziati dopo questa data, anche quelli già finiti ancora in archivio.
debug1Lo stato di ogni fonte: quanti eventi, quando ha pubblicato l'ultima volta, se tace.
keytad_…La tua chiave, se non la mandi nell'header.

Esempio di richiesta e risposta in JSON

https://trafficoadesso.it/api/v1/incidents?district=lombardia&type=accident&format=json
{
  "attribution": { "text": "Dati: Traffico Adesso", "url": "https://trafficoadesso.it" },
  "count": 1,
  "incidents": [
    {
      "id": "cciss-f8fa0b00d6f3f6d8",
      "type": "accident",
      "severity": "high",
      "status": "active",
      "lat": 45.40693,
      "lon": 9.14785,
      "title": "Incidente · A7 (Assago)",
      "description": "A7 Milano-Genova: incidente tra Svincolo Assago e Allacciamento Tangenziale Ovest Di Milano in direzione Genova.",
      "source": "cciss",
      "sourceUrl": "https://www.cciss.it/",
      "road": "A7",
      "district": "Lombardia",
      "startedAt": "2026-10-08T21:39:00.000Z",
      "updatedAt": "2026-10-08T21:39:00.000Z"
    }
  ]
}

In GeoJSON

https://trafficoadesso.it/api/v1/incidents?district=lombardia
{
  "attribution": { "text": "Dati: Traffico Adesso", "url": "https://trafficoadesso.it" },
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id": "cciss-d4a261d890222646",
      "geometry": { "type": "Point", "coordinates": [9.19855, 45.57051] },
      "properties": {
        "id": "cciss-d4a261d890222646",
        "type": "accident",
        "severity": "high",
        "status": "active",
        "title": "Incidente · A52 (SP151 Cinisello B.Nord: Zona Industriale)",
        "description": "A52 Tangenziale Nord Di Milano: 1 km con traffico bloccato causa incidente tra Svincolo SP151 Cinisello B.Nord: Zona Industriale e Svincolo SP9 Vecchia Valassina in direzione Svincolo SP44 Milano-Meda: Lentate-Bruzzano.",
        "source": "cciss",
        "sourceUrl": "https://www.cciss.it/",
        "road": "A52",
        "district": "Lombardia",
        "startedAt": "2026-10-08T21:38:00.000Z",
        "updatedAt": "2026-10-08T21:38:00.000Z"
      }
    }
  ]
}

Risposte reali dell'API, ridotte a un evento. In GeoJSON i campi stanno in properties e le coordinate nell'ordine GeoJSON: longitudine, latitudine.

I campi di ogni evento

CampoChe cos'è
idIdentificativo stabile, con il prefisso della fonte (cciss-, a22-, bz-, bologna-, firenze-…).
typeaccident, closure (cantieri e chiusure), traffic (code e rallentamenti) o weather.
severityinfo, low, medium, high o critical, secondo quello che pubblica la fonte.
statusactive in corso, scheduled annunciato per più avanti.
lat lonCoordinate WGS84 del punto.
titleTitolo breve: causa, strada e località.
descriptionTesto completo, con tratta e direzione.
sourcecciss, it-a22, it-bolzano, it-bologna, it-firenze o it-milano. Va mantenuto quando mostri i dati.
sourceUrlLa pagina ufficiale della fonte.
roadLa strada (A1, A22, SS36…), quando la fonte la indica.
districtLa regione.
startedAt updatedAtInizio e ultimo aggiornamento, in ISO 8601 (UTC).

Gli eventi del CCISS non hanno coordinate alla fonte: le ricaviamo dagli svincoli nominati nel testo, su una base di svincoli di OpenStreetMap. Un evento che non si può collocare così non entra.

Diagnostica: ?debug=1

https://trafficoadesso.it/api/v1/incidents?debug=1
{
  "attribution": { "text": "Dati: Traffico Adesso", "url": "https://trafficoadesso.it" },
  "generatedAt": "2026-10-08T21:45:30.460Z",
  "liveCount": 400,
  "totalCount": 400,
  "supplementedFromMocks": false,
  "sources": [
    {
      "name": "cciss",
      "configured": true,
      "ok": true,
      "count": 196,
      "newestAt": "2026-10-08T21:42:00.000Z",
      "stale": false,
      "byType": { "accident": 11, "closure": 157, "traffic": 13, "weather": 15 },
      "bySeverity": { "high": 42, "medium": 68, "low": 86 }
    }
  ]
}

Utile quando un numero sembra strano: dice quale fonte tace. Esempio reale, ridotto a una fonte.

Codici di risposta

CodiceQuando
200Tutto bene. Header utili: X-API-Plan, X-API-Trial-Ends (fine della prova), X-RateLimit-Remaining, X-Attribution.
401Senza chiave, o con una chiave che non esiste (dal 14 ottobre 2026).
402La prova di 5 giorni è finita e la chiave non ha un piano a pagamento.
403Chiave revocata. Il corpo dice il motivo.
429Limite del piano superato. L'header Retry-After dice quanti secondi aspettare.
HTTP/1.1 401 Unauthorized
{
  "error": "Chiave necessaria",
  "detail": "L'API di Traffico Adesso non risponde più senza chiave. Crea una chiave di prova su https://trafficoadesso.it/api-pubblica (vale 5 giorni) o chiedi un piano a pagamento a [email protected].",
  "chiave": "https://trafficoadesso.it/api-pubblica",
  "contatto": "[email protected]",
  "attribuzione": "L'attribuzione è obbligatoria in tutti i piani: ...",
  "attribution": { "text": "Dati: Traffico Adesso", "url": "https://trafficoadesso.it" }
}
HTTP/1.1 402 Payment Required
{
  "error": "Periodo di prova terminato",
  "detail": "Questa chiave era di prova ed è scaduta il 15 ottobre 2026. Per continuare a usare l'API, scrivi a [email protected] ...",
  "piani": "https://trafficoadesso.it/api-pubblica",
  "contatto": "[email protected]",
  "attribuzione": "L'attribuzione è obbligatoria in tutti i piani: ...",
  "attribution": { "text": "Dati: Traffico Adesso", "url": "https://trafficoadesso.it" }
}

Limiti

La prova accetta 120 richieste all'ora. I piani a pagamento si contano al giorno: 10.000 richieste nel Personale e 100.000 nel Professionale; Enterprise, quanto concordato. Si conta per chiave e non per IP, così un'app con molti utenti non viene frenata da uno di loro. Oltre il limite ricevi un 429 con l'attesa in Retry-After.

Le fonti si leggono ogni pochi minuti e la risposta ha una cache di 30 secondi: chiedere più di due volte al minuto non porta nessun dato nuovo. Chi tocca il limite è quasi sempre un ciclo dimenticato.

Il CORS è aperto: puoi chiamare direttamente dal browser, senza server in mezzo. In quel caso la chiave è visibile a chiunque apra la pagina.

Piani e prezzi

Prova

Per tutti

Gratis

  • 5 giorni dalla prima richiesta
  • 120 richieste all'ora
  • Attribuzione obbligatoria

Modulo qui sopra, due minuti.

Personale

Progetti personali o piccoli, senza ricavi rilevanti

13 € / mese

IVA inclusa

  • Circa 10.000 richieste al giorno
  • Solo Italia
  • Attribuzione obbligatoria

Professionale

App commerciali, siti con pubblicità, uso in azienda

69 € / mese

IVA inclusa

  • Circa 100.000 richieste al giorno
  • Attribuzione obbligatoria

Enterprise

Flotte, assicurazioni, media, più paesi, SLA

Parliamone

  • Più paesi, tramite Roadscore
  • Volume e disponibilità concordati
  • Attribuzione obbligatoria

Tramite Roadscore e [email protected].

Cosa paghi: l'accesso al servizio, cioè l'API stessa, i limiti del piano e l'assistenza. Non i dati: gli eventi sono degli enti che li pubblicano (CCISS Viaggiare Informati (Ministero delle Infrastrutture e dei Trasporti), Autostrada del Brennero (A22), Provincia autonoma di Bolzano, Comune di Bologna, Comune di Firenze, Comune di Milano), non sono nostri e non ne concediamo licenze. Per questo ogni evento conserva la sua fonte, e chi lo mostra mantiene quel credito.

Come si paga: per ora, via email e fattura. Scrivi a [email protected] con il nome del progetto, l'uso previsto e il piano che ti interessa: ti rispondiamo con la fattura. Al pagamento la tua chiave di prova passa al piano e non scade più. Prezzi al mese, IVA inclusa.

Condizioni e attribuzione

L'attribuzione è obbligatoria, in tutti i piani

Prova, Personale, Professionale o Enterprise: ogni app, sito o prodotto che usa questa API dice da dove vengono i dati, con un link visibile a trafficoadesso.it accanto. Il testo richiesto è “Dati: Traffico Adesso”, con link a https://trafficoadesso.it. Da copiare:

Dati: <a href="https://trafficoadesso.it">Traffico Adesso</a>

Mantieni anche il credito della fonte originale quando la risposta lo riporta (i campi source e sourceUrl di ogni evento: CCISS Viaggiare Informati (Ministero delle Infrastrutture e dei Trasporti), Autostrada del Brennero (A22), Provincia autonoma di Bolzano, Comune di Bologna, Comune di Firenze, Comune di Milano). Ogni risposta porta l'attribuzione nel campo attribution e nell'header X-Attribution.

  • Costruire un prodotto sull'API senza piano a pagamento, finita la prova, o senza attribuzione, non è un uso autorizzato.
  • La chiave è del progetto: non si condivide e non si pubblica. Se finisce in giro, scrivici e ne emettiamo un'altra.
  • Una chiave può essere revocata se usata per altro rispetto all'uso dichiarato, o senza attribuzione.
  • Le posizioni degli eventi CCISS vengono da OpenStreetMap (© contributori di OpenStreetMap, ODbL).
  • Più dettagli nei termini d'uso e, sui dati di chi ha una chiave, nell'informativa privacy.

Onestà sulla copertura

Questa API restituisce quello che pubblicano le fonti ufficiali, non quello che succede sulla strada. Una strada senza eventi nella risposta non è una strada libera: è una strada su cui nessuno ha pubblicato niente. Le strade urbane e molte provinciali sono coperte poco, fuori da Bolzano, Bologna, Firenze e Milano.

Se ci costruisci degli avvisi, dillo a chi li riceve. E non usarla per decisioni di emergenza: in emergenza, 112.

Lo stato di ogni fonte, in diretta, è in ?debug=1.

Contatti

Per un piano a pagamento, volume, fatture, una chiave persa o qualsiasi domanda sull'API: [email protected]. Rispondiamo noi, non un sistema di ticket. Per dati di più paesi o un accordo con SLA, guarda Roadscore.