Skip to content

Border wait times, border crossing status and lane wait times

Back to tools

US Customs and Border Protection travel information.

Get border wait times

Get border wait times

Get current US land-border waits for every crossing or filter by crossing, border and state. Lane values that are unavailable are null.

Your information

More options

US state name, such as Texas.

Border to include, such as mexico.

Crossing name or port city, such as San Ysidro or Detroit.

1 credit per completed run

The same inputs also work from your code or an AI assistant. See For developers.

Example results

Border wait times

Choose an action

About the CBP tool

CBP, also known as U.S. Customs and Border Protection, returns published wait times and status for U.S. land-border crossings.

Get border wait times returns crossing details, lane availability, and wait times; filter by state, border, or crossing, or request every crossing.

Built from cbp.gov and bwt.cbp.gov. Last checked Sep 29, 2026.

Actions

Get border wait times

1 credit

Get current US land-border waits for every crossing or filter by crossing, border and state. Lane values that are unavailable are null.

Uses bwt.cbp.gov.

What you provide

FieldTypeRequiredDescription
StatestateTextOptionalUS state name, such as Texas.Example: California
BorderborderTextOptionalBorder to include, such as mexico.Example: Mexico
CrossingcrossingTextOptionalCrossing name or port city, such as San Ysidro or Detroit.Example: San Ysidro

What you get

FieldTypeDescription
CrossingscrossingsListBorder crossings in published order.
Citycrossings[].cityTextUS port city.Example: Alexandria Bay
Hourscrossings[].hoursTextPublished operating hours.Example: 24 hrs/day
Statecrossings[].stateTextUS state.Example: New York
Bordercrossings[].borderTextCanada or Mexico.Example: Canada
Statuscrossings[].statusTextOpen or closed.Example: Open
Page URLcrossings[].page_urlTextCrossing details page.Example: https://bwt.cbp.gov/details/04070801/POV
Last Updatedcrossings[].last_updatedTextLocal ISO 8601 update time with UTC offset.Example: 2026-09-29T00:56:00-04:00
Crossing Namecrossings[].crossing_nameTextName of the crossing.Example: Alexandria Bay - Thousand Islands Bridge
Commercial Fast Lanes Opencrossings[].commercial_fast_lanes_openNumberOpen commercial Fast lanes.
Passenger Ready Lanes Opencrossings[].passenger_ready_lanes_openNumberOpen passenger Ready lanes.Example: 11
Pedestrian Ready Lanes Opencrossings[].pedestrian_ready_lanes_openNumberOpen pedestrian Ready lanes.Example: 1
Commercial Fast Wait (minutes)crossings[].commercial_fast_wait_minutesNumberCommercial Fast lane wait, minutes.
Passenger Ready Wait (minutes)crossings[].passenger_ready_wait_minutesNumberPassenger Ready lane wait, minutes.Example: 40
Passenger Standard Lanes Opencrossings[].passenger_standard_lanes_openNumberOpen passenger Standard lanes.Example: 2
Pedestrian Ready Wait (minutes)crossings[].pedestrian_ready_wait_minutesNumberPedestrian Ready lane wait, minutes.Example: 5
Commercial Standard Lanes Opencrossings[].commercial_standard_lanes_openNumberOpen commercial Standard lanes.Example: 1
Pedestrian Standard Lanes Opencrossings[].pedestrian_standard_lanes_openNumberOpen pedestrian Standard lanes.Example: 14
Passenger Standard Wait (minutes)crossings[].passenger_standard_wait_minutesNumberPassenger Standard lane wait, minutes.Example: 5
Commercial Standard Wait (minutes)crossings[].commercial_standard_wait_minutesNumberCommercial Standard lane wait, minutes.Example: 5
Pedestrian Standard Wait (minutes)crossings[].pedestrian_standard_wait_minutesNumberPedestrian Standard lane wait, minutes.Example: 5
Passenger Sentri Nexus Lanes Opencrossings[].passenger_sentri_nexus_lanes_openNumberOpen passenger Sentri/Nexus lanes.Example: 1
Passenger Sentri Nexus Wait (minutes)crossings[].passenger_sentri_nexus_wait_minutesNumberPassenger Sentri/Nexus lane wait, minutes.Example: 5

Example result

For

JSON
{
  "crossings": [
    {
      "city": "Alexandria Bay",
      "hours": "24 hrs/day",
      "state": "New York",
      "border": "Canada",
      "status": "open",
      "page_url": "https://bwt.cbp.gov/details/04070801/POV",
      "last_updated": "2026-09-29T00:56:00-04:00",
      "crossing_name": "Alexandria Bay - Thousand Islands Bridge",
      "commercial_fast_lanes_open": null,
      "passenger_ready_lanes_open": null,
      "pedestrian_ready_lanes_open": null,
      "commercial_fast_wait_minutes": null,
      "passenger_ready_wait_minutes": null,
      "passenger_standard_lanes_open": null,
      "pedestrian_ready_wait_minutes": null,
      "commercial_standard_lanes_open": null,
      "pedestrian_standard_lanes_open": null,
      "passenger_standard_wait_minutes": null,
      "commercial_standard_wait_minutes": null,
      "pedestrian_standard_wait_minutes": null,
      "passenger_sentri_nexus_lanes_open": null,
      "passenger_sentri_nexus_wait_minutes": null
    },
    {
      "city": "Blaine",
      "hours": "24 hrs/day",
      "state": "Washington",
      "border": "Canada",
      "status": "open",
      "page_url": "https://bwt.cbp.gov/details/02300401/POV",
      "last_updated": "2026-09-28T21:56:00-07:00",
      "crossing_name": "Blaine - Pacific Highway",
      "commercial_fast_lanes_open": null,
      "passenger_ready_lanes_open": null,
      "pedestrian_ready_lanes_open": null,
      "commercial_fast_wait_minutes": null,
      "passenger_ready_wait_minutes": null,
      "passenger_standard_lanes_open": 2,
      "pedestrian_ready_wait_minutes": null,
      "commercial_standard_lanes_open": 1,
      "pedestrian_standard_lanes_open": null,
      "passenger_standard_wait_minutes": 5,
      "commercial_standard_wait_minutes": 5,
      "pedestrian_standard_wait_minutes": null,
      "passenger_sentri_nexus_lanes_open": null,
      "passenger_sentri_nexus_wait_minutes": null
    }
  ]
}

For developers

Call it from your code with one request. Change the values in input to run it on new data. To get an API key, open Developers at the bottom of Studio, turn on Developer mode and go to API keys.

cURL
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@cbp",
  "visibility": "public",
  "operation": "get_border_wait_times",
  "version": 1,
  "input": {},
  "response": {
    "format": "json"
  }
}'

What you can do with it

  • Compare wait times across border crossings
  • Check whether a crossing is open
  • Plan passenger or pedestrian border travel
  • Review commercial lane availability
  • Filter crossings by state or border

Questions about CBP

Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

Can I call this CBP tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

Do I need a CBP account?

No. You only need a Fous account.

How current is the data?

Fous gets the data from cbp.gov when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

What are the wait times at border crossings?

Get border wait times returns passenger, pedestrian, and commercial lane wait times for each crossing.

Is a specific border crossing open?

Get border wait times returns each crossing’s open or closed status.

Which crossings are in a particular state?

Get border wait times can filter crossings by state.

All Travel toolsBrowse all tools