Skip to content
BorderLive

BorderLive API

Read-only JSON for ports, current waits, recent raw observations, and stored hourly averages.

Authentication

Pass your key as the x-api-key header. Keys are issued to Business-tier accounts.

Default rate limit is 60 requests per minute per key.

Without a key you can make rate-limited public requests by IP. For history, use recent observations or the hourly averages endpoint; historical guidance is rebuilding from new live observations.

BorderLive MCP

The Streamable HTTP endpoint is /mcp. Search, current waits, and comparisons are anonymous; alerts require Pro and history/exports require Business through Auth0 OAuth.

https://borderlive.us/mcp

The ChatGPT app powered by this server is under OpenAI review. View integration

Endpoints

  • GET /api/v1/ports

    All land ports of entry. Optional `?border=mx|ca`.

    curl https://borderlive.us/api/v1/ports?border=mx
  • GET /api/v1/port-current

    Latest wait per port and lane. `?include=ports` joins port metadata.

    curl 'https://borderlive.us/api/v1/port-current?include=ports'
  • GET /api/v1/wait-observations

    Recent raw observations, capped at 14 days. Requests above 336 hours are clamped and return `retentionHours: 336`.

    curl 'https://borderlive.us/api/v1/wait-observations?port_id=PORT_ID&hours=24'
  • GET /api/v1/port-hourly-averages

    Stored historical endpoint: hour-of-day × day-of-week averages. Returns an empty list when no stored aggregates are available.

    curl 'https://borderlive.us/api/v1/port-hourly-averages?port_id=PORT_ID'

JavaScript example

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);

Attribution

Current data comes from the public U.S. Customs and Border Protection (CBP) and Canada Border Services Agency (CBSA) feeds. If you publish anything built on this API, a link back to borderlive.us is appreciated.

Request a keyRSS feed