---
name: fhwa-national-bridge-inventory-ingestion
description: "How to get FHWA National Bridge Inventory data into a pandas DataFrame and Parquet: access, the request, the format, limits, quirks and terms."
---

# Load 2026 District of Columbia bridge data into Parquet

Source entry: https://signal-lab-jet.vercel.app/datasets/fhwa-national-bridge-inventory
Provider: https://www.fhwa.dot.gov/bridge/nbi/nbi_data.cfm
Checked against the provider's documentation: 2026-11-01

## Access
- No account or key. FHWA publishes state-level Excel, JSON and GeoJSON files plus nationwide downloads.
- This bounded example uses the District of Columbia JSON file rather than the 624,939-record nationwide file.

## Request
```bash
curl -O 'https://www.fhwa.dot.gov/bridge/nbi/2026/JSON/DC26.json'
```

## Format
JSON array with one object per bridge. Top-level SNBI codes cover identity, location, geometry, condition, inspection and rating data, while some fields contain nested feature and route arrays.

## Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
```python
"""FHWA 2026 District of Columbia NBI JSON -> pandas -> Parquet."""
import requests
import pandas as pd

URL = "https://www.fhwa.dot.gov/bridge/nbi/2026/JSON/DC26.json"
r = requests.get(URL, timeout=60)
r.raise_for_status()
df = pd.DataFrame(r.json())
df.to_parquet("fhwa_nbi_dc_2026.parquet", index=False)
print(len(df), "bridges", "columns", len(df.columns),
      "named", int(df["BID02"].notna().sum()))
```
Run by us on 2026-11-01 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 261 bridges columns 79 named 261

## Limits
- Download rate limit: Not stated.
- The checked 2026 release contains 624,939 public highway bridges nationwide.
- The executed example is one jurisdiction and is not a nationwide extract.

## Quirks
- SNBI field names are compact codes such as BID02 and BC01; retain the applicable SNBI specification and schema with each release.
- Features and routes are nested arrays, so normalize them into child tables when route-level analysis is needed.
- The 2026-2027 transition can introduce temporary codes and null values.
- Use inventory year and inspection dates explicitly; the publication date is not the inspection date.

## Terms and attribution
- FHWA publishes the files for public download without an account or key.
- The NBI page says not to use the data for route clearance.
- No separate uniform data licence was stated on the checked NBI pages.
- Terms page: https://www.fhwa.dot.gov/bridge/nbi/nbi_data.cfm

## Sources
- https://www.fhwa.dot.gov/bridge/nbi/nbi_data.cfm: "may be corrected or updated throughout the year."
- https://www.fhwa.dot.gov/bridge/nbi/nbi_data.cfm: "In general, bridges are inspected every 24 months"
- https://www.fhwa.dot.gov/bridge/nbi/nbi_data_2026.cfm: "Download All Highway Bridges 2026 NBI Data in JSON format"

## Help improve this skill
Missing a source, or see something to improve? Call the MCP tool suggest_source or feedback (or POST /api/suggest or /api/feedback). Reviewed ideas: https://signal-lab-jet.vercel.app/agent-suggestions

Information for educational purposes only. Free tiers, limits and licenses belong to the providers and may change; check the provider's own terms before using the data.
