USGS Water Services

Live streamflow and gauge readings for US waters

AUTH NONECORS AGENT ?HTTPS COMMERCIAL

USGS Water Services exposes instantaneous and historical measurements from thousands of stream, lake, and groundwater sites across the United States. Query by site number and parameter code (like 00060 for discharge) and receive WaterML-flavored JSON. Public-domain data with no signup required.

HOW IT'S SCORED ⓘ
Status badge · for your READMEshipapis health badge: — · unmonitored
ON PROBE SCHEDULE

We probe a documented GET and expect 2xx JSON — full uptime and health score. Open provider docs ↗

Uptime historystarts after first probe

On our probe schedule. Uptime charts appear after the first check lands.

Example responsefrom provider docs — not verified by us
GET https://waterservices.usgs.gov/nwis/iv/?format=json&sites=01646500&parameterCd=00060&siteStatus=all

{
  "name": "ns1:timeSeriesResponseType",
  "declaredType": "org.cuahsi.waterml.TimeSeriesResponseType",
  "value": {
    "queryInfo": {
      "criteria": {
        "locationParam": "[ALL:01646500]",
        "variableParam": "[00060]"
      }
    },
    "timeSeries": [
      "… discharge readings for USGS site 01646500 (truncated) …"
    ]
  }
}
Call itcurl · fetch · python
curl "https://waterservices.usgs.gov/nwis/iv/?format=json&sites=01646500&parameterCd=00060&siteStatus=all"
const res = await fetch("https://waterservices.usgs.gov/nwis/iv/?format=json&sites=01646500&parameterCd=00060&siteStatus=all");
const data = await res.json();
console.log(data);
import requests

res = requests.get("https://waterservices.usgs.gov/nwis/iv/?format=json&sites=01646500&parameterCd=00060&siteStatus=all")
print(res.json())
Endpoints · 3On scheduleFULL DOCS ↗
On schedule — GET /iv/?format=json&sites=01646500&parameterCd=00060&siteStatus=all awaits first probe
GET/iv/?format=json&sites=01646500&parameterCd=00060&siteStatus=allPROBED

Live streamflow and gauge readings for US waters

GET/iv/?limit=5

Iv — documented GET route.

GET/iv/?page=1

Iv — documented GET route.

Machine-readable spec

We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.

Response-shape history

Not tracked yet. Shape-change history starts once this API joins our probe schedule.

USGS Water Services: common questions

Is USGS Water Services free to use?

Yes — USGS Water Services is a free science & space API. Free tier: Free — no API key required. Commercial use is allowed on the free tier.

Does USGS Water Services need an API key?

No — USGS Water Services needs no API key or signup. You can call it straight away; rate limits still apply (Unpublished).

Can I call USGS Water Services from the browser?

Yes — USGS Water Services returns CORS headers over HTTPS, so front-end code can fetch it directly with no backend proxy. Use the fetch snippet on this page, or hit "Run live" to try it now.

Is USGS Water Services up right now?

USGS Water Services is catalogued but not yet on our probe schedule, so we don't publish a live status for it. Check the provider's own status page or docs for its current state.