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:

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.

Active and tracked counts (since 2026-10-15)

Both reports keep their existing count fields, which cover every camera we track: in the uptime report, a state's cams is its live, stale and dead cameras combined. Both reports also carry an active count, camsCounted in totals. Per row, the uptime report adds cams_counted to each state and metro; the statistics report adds camsCounted to each state and cams_counted to each network, plus dotCamsCounted and federalCamsCounted in its totals. Active leaves out cameras that have shown no live picture for 30 days (a camera added in the last 30 days stays in while it waits for its first picture). The site's pages show the active number, so it is the one to use when matching a figure on livetrafficcam.com.

Conventions

Clients