Energy and environment

USGS Water Data API

by api.waterdata.usgs.gov

Energy and environment Added on November 7th, 2026 Checked and working on November 7th, 2026
Visit api.waterdata.usgs.gov →

What it does

The USGS Water Data API gives water data for the United States: monitoring locations on rivers, lakes and wells and their measurements, such as streamflow and water levels, for example to show the current flow of a river. It follows the OGC API standard and returns GeoJSON. Free, no key needed; a free api.data.gov key raises the rate limit.
  • API
  • HTTP-GET
  • JSON
  • REST

At a glance

API key
Not needed · More APIs with no key
Pricing
Free, no key needed; a free api.data.gov key raises the rate limit.
From the browser
Yes (CORS)
Formats
JSON
Interface
REST, HTTP-GET
Provider
api.waterdata.usgs.gov
Last checked
Working on November 7th, 2026

More information: https://api.waterdata.usgs.gov/

Is this your service? Show that it is listed

Put this badge on your website or in your README; it links to this page. About the badge

Listed on Free Web Services

api.waterdata.usgs.gov
USGS Water Data API

Example request

curl

curl 'https://api.waterdata.usgs.gov/ogcapi/v0/collections/monitoring-locations/items?limit=1&f=json'

JavaScript

const response = await fetch("https://api.waterdata.usgs.gov/ogcapi/v0/collections/monitoring-locations/items?limit=1&f=json");
const data = await response.json();
console.log(data);

Python

import requests

response = requests.get(
    "https://api.waterdata.usgs.gov/ogcapi/v0/collections/monitoring-locations/items?limit=1&f=json",
    timeout=30,
)
print(response.json())

The JavaScript works in a web page as well as in Node.js 18 or newer.

Did it work for you?

Tell us what you found when you tried USGS Water Data API.