API de BorderLive
JSON de solo lectura: garitas, esperas actuales, observaciones y promedios por hora.
Autenticación
Envía tu llave en el header x-api-key. Las llaves se emiten a cuentas Business.
Límite por defecto: 60 peticiones por minuto por llave.
Sin llave puedes hacer peticiones públicas con límite de tasa por IP — útil para prototipos y proyectos open-source que enlazan al sitio.
Endpoints
GET /api/v1/ports
Todas las garitas terrestres. Opcional `?border=mx|ca`.
curl https://borderlive.us/api/v1/ports?border=mx
GET /api/v1/port-current
Última espera por garita y carril. `?include=ports` agrega los metadatos.
curl 'https://borderlive.us/api/v1/port-current?include=ports'
GET /api/v1/wait-observations
Serie de tiempo de observaciones. `?port_id=...&hours=24`.
curl 'https://borderlive.us/api/v1/wait-observations?port_id=PORT_ID&hours=24'
GET /api/v1/port-hourly-averages
Promedios por hora × día de la semana. `?port_id=...`.
curl 'https://borderlive.us/api/v1/port-hourly-averages?port_id=PORT_ID'
Ejemplo de JavaScript
const res = await fetch(
"https://borderlive.us/api/v1/port-current?include=ports"
);
const { ports } = await res.json();
const sanYsidro = ports.find((p) => p.slug === "san-ysidro");
console.log(sanYsidro.current);Atribución
Los datos son del feed público de U.S. Customs and Border Protection (CBP). Si publicas algo basado en esta API, agradecemos un enlace a borderlive.us.