Skip to main content
SAVA LOGISTIC — Specialisti del trasporto su strada europeo

Per sviluppatori e agenti IA

Dati aperti: due endpoint JSON

SAVA pubblica in JSON due dei suoi riferimenti: il calendario dei divieti di circolazione per i camion e il catalogo delle pagine di questo sito. Nessuna chiave, nessuna registrazione e nessuna autenticazione: basta una richiesta GET.

Cosa hanno in comune

  • GET, risposta in JSON (UTF-8).
  • Access-Control-Allow-Origin: *: si possono chiamare da un browser, da qualsiasi dominio.
  • Cache-Control: public, max-age=3600: una risposta può essere riutilizzata per un’ora. Il campo generated del calendario indica quando è stata generata la risposta che stai leggendo.
  • Limite per IP e per endpoint: 60 richieste in una finestra di 60 secondi che parte dalla prima. La richiesta 61 riceve HTTP 429 con un’intestazione Retry-After che indica i secondi di attesa.

Calendario dei divieti per i camion

GET https://www.savaexpress.com/api/geo/traffic-bans

I divieti di circolazione per i camion con data fissa nei paesi di transito delle rotte SAVA, per l’anno in corso e il successivo: gli stessi due anni indicizzati dalle pagine pubbliche. Ogni data riporta la fonte ufficiale che pubblica la norma e il mese in cui il dato è stato verificato su di essa.

Gli stessi dati, per le persone: Calendario divieti circolazione camion in UE

Campi

  • generated: quando è stata generata la risposta, come marca temporale in UTC.
  • apiVersion: la versione del formato della risposta, oggi 1.1. Una nuova versione aggiunge soltanto campi: nessuno cambia nome o significato.
  • timeReference: l'ora in cui sono espressi tutti gli start ed end. È l'ora dell'Europa centrale: CET (UTC+1) in inverno e CEST (UTC+2) in estate, come in Europe/Brussels.
  • window: il periodo coperto: from, to e years.
  • filters: i filtri applicati a questa risposta: from, to, countries (null vuol dire tutti), include e lang.
  • source: la pagina pubblica di cui questi dati sono il riflesso.
  • countries: i paesi con un regime di divieti datato: code (ISO 3166-1 alpha-2), name, timezone, summary, officialSource (name, url), lastVerified e page (la pagina del paese o, per Ungheria, Lussemburgo e Liechtenstein, la sua sezione del calendario).
  • countriesWithoutDatedBans: i paesi il cui regime è stagionale, per itinerario o assente, con sintesi e fonte ufficiale e senza date. Sono elencati perché la loro assenza non venga letta come «nessuna restrizione».
  • recurring: i divieti notturni di Austria, Svizzera e Liechtenstein, un blocco per paese invece di circa 730 date l'anno: country, kind, days, start ed end (22:00–05:00, oltre la mezzanotte), vehicle, minimumTonnes, scope, exceptions, officialSource e lastVerified.
  • bans: una voce per data e fascia oraria: country, countryName, timezone, date, weekday, reason, start ed end (HH:MM nell'ora dell'Europa centrale; 24:00 è la fine del giorno), startsAt ed endsAt (gli stessi istanti in RFC 3339 con lo scostamento da UTC, ad es. 2026-09-26T15:00:00+02:00), kind (weekend, holiday, eve, road, dated o night), vehicle, minimumTonnes (solo quando il testo del veicolo indica una soglia), scope (nationwide, regional, specific-roads o transit), officialSource, lastVerified, page e, dove previsti, note, appliesTo (ad es. transit-to-FR), roads e provisional (true per le date stimate prima che l'autorità pubblichi il suo calendario).
  • count: il numero di voci in bans.

Parametri

  • date=YYYY-MM-DD: un solo giorno.
  • from=YYYY-MM-DD e to=YYYY-MM-DD: un intervallo dentro window. Senza alcun parametro la risposta copre l'intera finestra.
  • country=AT,FR: uno o più codici ISO, separati da virgole.
  • include=night: aggiunge i divieti notturni come voci datate, due al giorno (00:00–05:00 e 22:00–24:00).
  • lang: en (predefinito), es, ro, it, fr o de. Traduce summary, reason, note e vehicle.
  • Un parametro scritto male risponde HTTP 400 con il parameter e ciò che ci si aspettava (expected).

Esempio

Estratto ridotto di una risposta reale del 25 settembre 2026; … indica le parti omesse. La risposta completa pesa circa 1,4 MB: filtratela con i parametri qui sopra.

{
  "generated": "2026-09-25T12:32:20.536Z",
  "apiVersion": "1.1",
  "timeReference": {
    "zone": "Europe/Brussels",
    "label": "CET/CEST (Central European Time)",
    "note": "All start/end times are Central European Time: CET (UTC+1) in winter, CEST (UTC+2) in summer."
  },
  "window": {
    "from": "2026-01-01",
    "to": "2027-12-31",
    "years": [2026, 2027]
  },
  "filters": {
    "from": "2026-01-01",
    "to": "2027-12-31",
    "countries": null,
    "include": [],
    "lang": "en"
  },
  "source": "https://www.savaexpress.com/resources/traffic-bans",
  "countries": [
    {
      "code": "DE",
      "name": "Germany",
      "timezone": "Europe/Berlin",
      "summary": "Trucks over 7.5 t are banned nationwide on Sundays and public holidays, 00:00–22:00. Summer Saturday bans also apply on certain motorways.",
      "officialSource": {
        "name": "§30 StVO / Ferienreiseverordnung (BMDV)",
        "url": "https://www.gesetze-im-internet.de/stvo_2013/__30.html"
      },
      "lastVerified": "2026-09",
      "page": "https://www.savaexpress.com/resources/traffic-bans/germany"
    },
    …
  ],
  "countriesWithoutDatedBans": [
    …,
    {
      "code": "ES",
      "name": "Spain",
      "timezone": "Europe/Madrid",
      "summary": "No simple nationwide weekend ban. The DGT publishes an annual resolution of route- and date-specific restrictions for trucks over 7.5 t (Sundays/holidays on listed roads, plus special-transport and seasonal rules).",
      "officialSource": {
        "name": "DGT — Restricciones a la circulación",
        "url": "https://www.dgt.es/"
      },
      "lastVerified": "2026-09"
    },
    …
  ],
  "recurring": [
    {
      "country": "AT",
      "countryName": "Austria",
      "kind": "night",
      "days": "daily",
      "start": "22:00",
      "end": "05:00",
      "timezone": "Europe/Vienna",
      "vehicle": "trucks over 7.5 t",
      "minimumTonnes": 7.5,
      "scope": "nationwide",
      "exceptions": ["Low-noise trucks (lärmarm) carrying a certificate under § 8b (4) KDV 1967", "Road-maintenance vehicles", "Army vehicles where indispensable"],
      "officialSource": {
        "name": "§ 42 (6) StVO (RIS)",
        "url": "https://www.ris.bka.gv.at/NormDokument.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10011336&Paragraf=42"
      },
      "lastVerified": "2026-09"
    },
    …
  ],
  "bans": [
    {
      "country": "AT",
      "countryName": "Austria",
      "timezone": "Europe/Vienna",
      "officialSource": {
        "name": "ASFINAG / §42 StVO",
        "url": "https://www.asfinag.at/en/traffic-road-safety/hgv-bus/lorry-driving-and-overtaking-bans/"
      },
      "lastVerified": "2026-09",
      "page": "https://www.savaexpress.com/resources/traffic-bans/austria",
      "date": "2026-01-01",
      "weekday": "Thursday",
      "reason": "Public holiday: New Year's Day",
      "start": "00:00",
      "end": "22:00",
      "vehicle": "trucks over 7.5 t",
      "minimumTonnes": 7.5,
      "scope": "nationwide",
      "startsAt": "2026-01-01T00:00:00+01:00",
      "endsAt": "2026-01-01T22:00:00+01:00",
      "kind": "holiday"
    },
    …,
    {
      "country": "AT",
      "countryName": "Austria",
      "timezone": "Europe/Vienna",
      "officialSource": {
        "name": "Lkw-Fahrverbote Generalerneuerung Luegbrücke 2026 (BGBl. II Nr. 338/2025 as amended by BGBl. II Nr. 70/2026), § 1",
        "url": "https://www.ris.bka.gv.at/Dokumente/Bundesnormen/NOR40276795/NOR40276795.html"
      },
      "lastVerified": "2026-09",
      "page": "https://www.savaexpress.com/resources/traffic-bans/austria",
      "date": "2026-09-26",
      "weekday": "Saturday",
      "reason": "Saturday",
      "start": "07:00",
      "end": "15:00",
      "vehicle": "trucks over 7.5 t",
      "minimumTonnes": 7.5,
      "scope": "specific-roads",
      "note": "A13 Brenner (Luegbrücke works): trucks heading for Italy over the Nößlach–Brenner Nord section; applies on the A12, A13 and A14.",
      "startsAt": "2026-09-26T07:00:00+02:00",
      "endsAt": "2026-09-26T15:00:00+02:00",
      "kind": "road",
      "appliesTo": "southbound-to-IT",
      "roads": ["A12", "A13", "A14"]
    },
    …,
    {
      "country": "IT",
      "countryName": "Italy",
      "timezone": "Europe/Rome",
      "officialSource": {
        "name": "MIT — Calendario divieti di circolazione",
        "url": "https://www.mit.gov.it/comunicazione/news/mezzi-pesanti-calendario-2026-dei-divieti-di-circolazione-stradale"
      },
      "lastVerified": "2026-09",
      "page": "https://www.savaexpress.com/resources/traffic-bans/italy",
      "date": "2027-01-03",
      "weekday": "Sunday",
      "reason": "Sunday",
      "start": "09:00",
      "end": "22:00",
      "vehicle": "trucks over 7.5 t",
      "minimumTonnes": 7.5,
      "scope": "nationwide",
      "note": "Calendar 2027 not yet published; estimated from the general rules.",
      "startsAt": "2027-01-03T09:00:00+01:00",
      "endsAt": "2027-01-03T22:00:00+01:00",
      "kind": "weekend",
      "provisional": true
    },
    …
  ],
  "count": 2170
}

Catalogo delle pagine del sito

GET https://www.savaexpress.com/api/geo/routes

Tutte le pagine indicizzabili di questo sito, con l’URL canonico e le lingue in cui esiste ciascuna: lo stesso elenco pubblicato dalla sitemap. Risponde a «cosa c’è qui e in quali lingue». Non contiene distanze, tempi di transito, giorni di partenza né prezzi: quelli sono nella pagina di ogni corridoio.

Gli stessi dati, per le persone: Tutti i corridoi con origine Spagna

Campi

  • routes: una voce per pagina: path, canonicalUrl (l’URL in inglese), priority, changeFrequency, locales (le lingue in cui esiste) e, quando la pagina ha una data di contenuto, lastModified.
  • count: il numero di voci in routes.

Esempio

Estratto ridotto di una risposta reale del 24 settembre 2026; … indica le parti omesse.

{
  "routes": [
    {
      "path": "/",
      "canonicalUrl": "https://www.savaexpress.com",
      "priority": 1,
      "changeFrequency": "weekly",
      "locales": ["en", "es", "ro", "it", "fr", "de"]
    },
    …,
    {
      "path": "/resources/api",
      "canonicalUrl": "https://www.savaexpress.com/resources/api",
      "priority": 0.5,
      "changeFrequency": "monthly",
      "locales": ["en", "es", "ro", "it", "fr", "de"]
    },
    …,
    {
      "path": "/resources/traffic-bans",
      "canonicalUrl": "https://www.savaexpress.com/resources/traffic-bans",
      "priority": 0.6,
      "changeFrequency": "weekly",
      "locales": ["en", "es", "ro", "it", "fr", "de"],
      "lastModified": "2026-09-04"
    },
    …
  ],
  "count": 178
}

Licenza: CC BY 4.0

Entrambe le risposte sono pubblicate con licenza Creative Commons Attribuzione 4.0 Internazionale. Puoi copiare, ridistribuire e adattare i dati, anche a fini commerciali, a condizione di citare SAVA Logistic, indicare un link alla licenza e segnalare eventuali modifiche.

Come citare

Basta una riga accanto al punto in cui usi i dati, per esempio:

Fonte: SAVA Logistic (www.savaexpress.com/resources/traffic-bans), CC BY 4.0

Chi citare per cosa: SAVA Logistic raccoglie e pubblica il calendario, ma la norma dietro ogni data appartiene all’autorità indicata nel campo officialSource di quella voce. Per la norma in sé, cita quell’autorità.

lastVerified indica il mese in cui i dati di quel paese sono stati verificati sulla fonte ufficiale. Dice quando è stata fatta la verifica, niente di più: prima di pianificare su una data, confermala con l’autorità.