Para desarrolladores y agentes de IA
Datos abiertos: dos endpoints JSON
SAVA publica dos de sus referencias en JSON: el calendario de restricciones a la circulación de camiones y el catálogo de páginas de este sitio. Sin clave, sin registro y sin autenticación: basta una petición GET.
Lo que tienen en común
GET, respuesta en JSON (UTF-8).Access-Control-Allow-Origin: *: se pueden llamar desde un navegador, en cualquier dominio.Cache-Control: public, max-age=3600: una respuesta puede reutilizarse durante una hora. El campogenerateddel calendario dice cuándo se generó la respuesta que estás leyendo.- Límite por IP y por endpoint: 60 peticiones en una ventana de 60 segundos que empieza con la primera. La petición 61 recibe HTTP
429con una cabeceraRetry-Afterque indica los segundos de espera.
Calendario de restricciones a camiones
GET https://www.savaexpress.com/api/geo/traffic-bans
Las prohibiciones de circulación de camiones con fecha fija en los países de tránsito de las rutas de SAVA, para el año en curso y el siguiente: los mismos dos años que indexan las páginas públicas. Cada fecha lleva la fuente oficial que publica la norma y el mes en que se comprobó el dato contra ella.
Los mismos datos, para personas: Calendario de restricciones de camiones en la UE
Campos
generated: cuándo se generó la respuesta, como marca de tiempo en UTC.apiVersion: la versión del formato de la respuesta, hoy1.1. Una versión nueva solo añade campos: ninguno cambia de nombre ni de significado.timeReference: en qué hora están todos losstartyend. Es la hora de Europa Central: CET (UTC+1) en invierno y CEST (UTC+2) en verano, como enEurope/Brussels.window: las fechas que cubre:from,toyyears.filters: los filtros aplicados a esta respuesta:from,to,countries(nullsignifica todos),includeylang.source: la página pública de la que estos datos son el reflejo.countries: los países con un régimen de prohibiciones fechado:code(ISO 3166-1 alfa-2),name,timezone,summary,officialSource(name,url),lastVerifiedypage(la página del país o, para Hungría, Luxemburgo y Liechtenstein, su apartado del calendario).countriesWithoutDatedBans: los países cuyo régimen es estacional, por itinerario o inexistente, con su resumen y su fuente oficial y sin fechas. Están en la lista para que su ausencia no se lea como «sin restricciones».recurring: las restricciones nocturnas de Austria, Suiza y Liechtenstein, un bloque por país en lugar de unas 730 fechas al año:country,kind,days,startyend(22:00–05:00, pasando la medianoche),vehicle,minimumTonnes,scope,exceptions,officialSourceylastVerified.bans: una entrada por fecha y franja horaria:country,countryName,timezone,date,weekday,reason,startyend(HH:MM en hora de Europa Central;24:00es el final del día),startsAtyendsAt(los mismos instantes en RFC 3339 con su desfase respecto a UTC, p. ej.2026-09-26T15:00:00+02:00),kind(weekend,holiday,eve,road,datedonight),vehicle,minimumTonnes(solo cuando el texto del vehículo indica un umbral),scope(nationwide,regional,specific-roadsotransit),officialSource,lastVerified,pagey, cuando aplican,note,appliesTo(p. ej.transit-to-FR),roadsyprovisional(trueen las fechas estimadas antes de que la autoridad publique su calendario).count: el número de entradas debans.
Parámetros
date=YYYY-MM-DD: un solo día.from=YYYY-MM-DDyto=YYYY-MM-DD: un intervalo dentro dewindow. Sin ningún parámetro, la respuesta cubre la ventana completa.country=AT,FR: uno o varios códigos ISO, separados por comas.include=night: añade las restricciones nocturnas como entradas con fecha, dos por día (00:00–05:00 y 22:00–24:00).lang:en(por defecto),es,ro,it,frode. Traducesummary,reason,noteyvehicle.- Un parámetro mal escrito responde HTTP
400con elparametery lo que se esperaba (expected).
Ejemplo
Extracto recortado de una respuesta real del 25 de septiembre de 2026; … marca lo omitido. La respuesta completa ronda los 1,4 MB: fíltrala con los parámetros de arriba.
{
"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
}Catálogo de páginas del sitio
GET https://www.savaexpress.com/api/geo/routes
Todas las páginas indexables de este sitio, con su URL canónica y los idiomas en los que existe cada una: la misma lista que publica el sitemap. Responde a «qué hay aquí y en qué idiomas». No trae distancias, tiempos de tránsito, días de salida ni precios: eso está en la página de cada corredor.
Los mismos datos, para personas: Todos los corredores con origen en España
Campos
routes: una entrada por página:path,canonicalUrl(la URL en inglés),priority,changeFrequency,locales(los idiomas en los que existe) y, cuando la página tiene fecha de contenido,lastModified.count: el número de entradas deroutes.
Ejemplo
Extracto recortado de una respuesta real del 24 de septiembre de 2026; … marca lo omitido.
{
"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
}Licencia: CC BY 4.0
Las dos respuestas se publican bajo la licencia Creative Commons Atribución 4.0 Internacional. Puedes copiar, redistribuir y adaptar los datos, también con fines comerciales, siempre que cites a SAVA Logistic, enlaces la licencia e indiques si hiciste cambios.
Cómo citar
Basta una línea junto a donde uses los datos, por ejemplo:
Fuente: SAVA Logistic (www.savaexpress.com/resources/traffic-bans), CC BY 4.0A quién se cita por qué: SAVA Logistic recopila y publica el calendario, pero la norma detrás de cada fecha es de la autoridad que figura en el officialSource de esa entrada. Para la norma en sí, cita a esa autoridad.
lastVerified indica el mes en que se comprobaron los datos de ese país contra su fuente oficial. Dice cuándo se comprobó, nada más: antes de planificar en torno a una fecha, confírmala con la autoridad.
