Independent Travel Advisory Map

API Documentation

Overview

The Travel Advisories API is a read-only static API served from Firebase Hosting. It is free to use and returns JSON.

Base path: https://gis.rhobrowser.com/api/v1

Core Endpoints

Endpoint Description
https://gis.rhobrowser.com/api/v1 API metadata shortcut
https://gis.rhobrowser.com/api/v1/meta Version, counts, generated timestamp, endpoint index
https://gis.rhobrowser.com/api/v1/advisories Full advisory dataset
https://gis.rhobrowser.com/api/v1/openapi OpenAPI spec JSON
https://gis.rhobrowser.com/api/v1/countries Country slug index for single-country fetches
https://gis.rhobrowser.com/api/v1/states State slug index for single-state fetches (U.S. + Mexico states)
https://gis.rhobrowser.com/api/v1/highways Highway slug index for single-highway fetches (U.S. + Mexico Federal)

Segmented Endpoints

Mexico Coverage Model

Mexico is exposed in two ways:

Mexico state records may include:

Response Shape

{
  "version": "v1",
  "generatedAt": "2026-02-11T...Z",
  "count": 436,
  "data": [
    {
      "destination": "Canada",
      "region": "Americas",
      "advice": "Exercise normal safety precautions",
      "advisoryLevel": 1,
      "advisoryLevelLabel": "Level 1: Exercise Normal Precautions",
      "updated": "09 Feb 2026",
      "reason": "..."
    }
  ]
}

Usage Examples

1) Fetch all advisories (JavaScript):

const res = await fetch('https://gis.rhobrowser.com/api/v1/advisories');\nconst json = await res.json();\nconsole.log(json.count, json.data[0]);

2) Fetch U.S. states only (includes ICE-related fields):

const usRes = await fetch('https://gis.rhobrowser.com/api/v1/types/us-states.json');\nconst us = await usRes.json();\nconst texas = us.data.find(x => x.destination === 'Texas');\nconsole.log(texas.advice, texas.iceWarning, texas.reason);

3) Fetch U.S. highway advisories:

curl https://gis.rhobrowser.com/api/v1/types/us-highways.json

4) Fetch Mexico federal highway advisories:

curl https://gis.rhobrowser.com/api/v1/types/mexico-highways.json

5) Get only U.S. Level 3/4 state rows in JS:

const usRes = await fetch('https://gis.rhobrowser.com/api/v1/types/us-states.json');\nconst us = await usRes.json();\nconst highRisk = us.data.filter(s => [3, 4].includes(s.advisoryLevel));\nconsole.log(highRisk.map(s => ({ destination: s.destination, level: s.advisoryLevel })));\n

6) Fetch one specific country:

const idxRes = await fetch('https://gis.rhobrowser.com/api/v1/countries');\nconst idx = await idxRes.json();\nconst canada = idx.countries.find(c => c.destination === 'Canada');\nconst countryRes = await fetch(canada.endpointUrl);\nconst country = await countryRes.json();\nconsole.log(country.data.destination, country.data.advice);

7) Fetch one specific state:

const idxRes = await fetch('https://gis.rhobrowser.com/api/v1/states');\nconst idx = await idxRes.json();\nconst texas = idx.states.find(s => s.destination === 'Texas');\nconst stateRes = await fetch(texas.endpointUrl);\nconst state = await stateRes.json();\nconsole.log(state.data.destination, state.data.iceWarning);

8) Fetch one specific highway (works for U.S. and Mexico Federal):

const hIdxRes = await fetch('https://gis.rhobrowser.com/api/v1/highways');\nconst hIdx = await hIdxRes.json();\nconst target = hIdx.highways.find(h => h.destination === 'Federal Highway 85D');\nconst highwayRes = await fetch(target.endpointUrl);\nconst highway = await highwayRes.json();\nconsole.log(highway.data.destination, highway.data.highwaySystem, highway.data.advice);\n

9) Mexico-only examples:

// Mexico state by name\nconst statesIdx = await (await fetch('https://gis.rhobrowser.com/api/v1/states')).json();\nconst jaliscoRef = statesIdx.states.find(s => s.destination === 'Jalisco (Mexico)' && s.stateSystem === 'Mexico');\nconst jalisco = await (await fetch(jaliscoRef.endpointUrl)).json();\n\n// Mexico federal highway by name\nconst highwaysIdx = await (await fetch('https://gis.rhobrowser.com/api/v1/highways')).json();\nconst mx101Ref = highwaysIdx.highways.find(h => h.destination === 'Federal Highway 101' && h.highwaySystem === 'Mexico Federal');\nconst mx101 = await (await fetch(mx101Ref.endpointUrl)).json();\n\nconsole.log(jalisco.data.highwayNotes);\nconsole.log(mx101.data.reason);

U.S. and Highway Object Examples

U.S. state advisory object sample:

{\n  \"destination\": \"Texas\",\n  \"region\": \"United States\",\n  \"advice\": \"Reconsider your need to travel\",\n  \"advisoryLevel\": 3,\n  \"advisoryLevelLabel\": \"Level 3: Reconsider Travel\",\n  \"updated\": \"Feb 2026\",\n  \"reason\": \"Diverse risks (hurricanes/floods/tornadoes)...\",\n  \"iceWarning\": \"ICE enforcement level: Very High...\",\n  \"isUsState\": true\n}

U.S. highway advisory object sample:

{\n  \"destination\": \"I-95 (East Coast Interstate)\",\n  \"region\": \"United States\",\n  \"advice\": \"Reconsider your need to travel\",\n  \"advisoryLevel\": 3,\n  \"reason\": \"Extreme traffic volume... Highest total fatalities...\",\n  \"travelerNotes\": \"Avoid rush hours; use toll lanes if available...\",\n  \"isUsHighway\": true\n}

Mexico federal highway advisory object sample:

{\n  \"destination\": \"Federal Highway 101\",\n  \"region\": \"Americas\",\n  \"advice\": \"Do not travel\",\n  \"advisoryLevel\": 4,\n  \"reason\": \"Known as 'Highway of Death'...\",\n  \"isMexicoHighway\": true\n}

Operational Notes

This API is static and read-only. Filtering by query string is not supported server-side.

When source data changes, rebuild API JSON using node scripts/build-api-v1.cjs and redeploy hosting.