Morning Brief API Hub

BridgesFHWA bridge data API + MCP

Checking the Bridges API…

Free US bridge inventory data — condition, load posting & clearance — API + MCP, no key. Every bridge in the FHWA National Bridge Inventory, 624,193 of them, in plain JSON for people and AI agents. Bridges turns the inventory into a clean, free API that people and AI agents can actually use. No key, no signup, no fixed-width files to parse. Ask which bridges in a county are rated poor, which ones are posted or closed, or where the low clearances are on a route, and get plain JSON back.

Look up a state

The data

What you can ask

Good for local reporters, planners, trucking and RV route checks, researchers, and AI agents that need real infrastructure data instead of guesses.

Where the data comes from

All data comes straight from the FHWA National Bridge Inventory, which states submit to FHWA each year. FHWA data only: if FHWA doesn't publish it, Bridges doesn't invent it. The data year and last refresh are shown in /v1/status.

A note on the data transition. The NBI is changing formats. States made their first submissions under FHWA's new Specifications for the National Bridge Inventory (SNBI) on March 15, 2026. The 2026 and 2027 submissions are transitional and can include temporary codes. The first fully verified SNBI dataset arrives in 2028. FHWA's public national download is still the 2025 edition in the old format, so Bridges serves the 2025 NBI, and some fields may change or be marked transitional as the new data arrives. We'll note it here when that happens.

Use it with an AI agent (MCP)

Bridges is an MCP server with 8 tools. Point any MCP client at:

https://bridges.morningbrief.link/mcp

Claude / MCP client config:

{
  "mcpServers": {
    "bridges": {
      "url": "https://bridges.morningbrief.link/mcp"
    }
  }
}

ChatGPT and other clients can use the same URL as a remote MCP / connector endpoint. No key, no auth. The tools: search_bridges, get_bridge, list_bridges_in_county, get_worst_bridges, list_posted_or_closed_bridges, find_low_clearance_bridges, get_state_summary, get_county_summaries.

Use the REST API

Base URL: https://bridges.morningbrief.link. Searches must name a state or smaller area — whole-country scans return 400. Counties take a 3-digit FIPS code, not a name. Clearances are in meters. Paging is limit / offset: search, county, and posted default to 100 (max 1000); worst defaults to 50 (max 500); clearance defaults to 100 (max 500). Errors are JSON with a clear message: 400 for a bad state code, 404 for an unknown bridge.

curl "https://bridges.morningbrief.link/v1/bridges/search?state=IL&county=031&limit=5"   # bridges in Cook County, IL
curl "https://bridges.morningbrief.link/v1/bridges/bridge?id=001000200000000&state=IL"   # one bridge
curl "https://bridges.morningbrief.link/v1/bridges/worst?state=IL&limit=5"   # worst-rated in Illinois
curl "https://bridges.morningbrief.link/v1/bridges/posted?state=IA&limit=5"   # posted or closed in Iowa
curl "https://bridges.morningbrief.link/v1/bridges/clearance?state=IL&max_height_m=4.27"   # under 14 ft in Illinois
curl "https://bridges.morningbrief.link/v1/bridges/summary?state=IL"   # Illinois roll-up
curl "https://bridges.morningbrief.link/v1/bridges/counties?state=IL"   # county roll-ups
curl "https://bridges.morningbrief.link/v1/status"   # live status & dataset catalog

Full reference: API documentation · tools · live status & dataset catalog (JSON)