LiveTrafficCam public API
The livetrafficcam.com public
API serves live US traffic camera data as JSON. No authentication, no
key. Camera liveness is measured with real HTTP checks, so
live_status reflects whether a feed actually serves a
current image.
GET /api/cams.json
Cameras for one state or one named entity. Exactly one of the two parameters:
?state=WA- two-letter state code.?entity=donner-pass- slug of a pass, corridor, bridge or tunnel.
curl "https://livetrafficcam.com/api/cams.json?state=WA"
Response: {"cams": [...]}, each camera with
id, name, slug, lat,
lng, route, state,
live_status (live, stale or
dead), last_live_at,
official_url (the operating agency's page), and
attribution (for example "Camera: WSDOT").
Row cap: at most 200 cameras per query. For full per-state fleet counts use the uptime endpoint below.
GET /reports/camera-uptime.json
Measured per-state uptime of official DOT cameras: cameras tracked, live/stale/dead right now, and the 14-day check success rate.
curl "https://livetrafficcam.com/reports/camera-uptime.json"
Human-readable twin: the camera uptime report, which is also the citation URL for these numbers.
GET /reports/traffic-camera-statistics.json
How many official DOT traffic cameras exist, per state and per agency. Page twin: traffic camera statistics.
Conventions
- Responses are cached at the edge for 60 seconds; polling faster returns the same data.
- Field changes are additive only; existing fields do not get renamed or repurposed.
- Keep the per-camera
attributionline when displaying the data. - No CORS headers today, so call it server-side.
- Please send a descriptive User-Agent.
Clients
- livetrafficcam-mcp - MCP server over this API for AI assistants.
- traffic-camera-sources - weekly GeoJSON and uptime snapshots of this API's data.