Skip to content

River levels, river flow and flood-stage status

Back to tools

Public USGS river gauge readings and monitoring locations.

Get river level

Get river level

Get the latest water height, flow, 24-hour trend, and flood-stage status at the active USGS river gauge best matching a river or town and state. Flood stage is null when not published; gauges without recent stage, flow, or 24-hour history are not returned.

Your information

River and/or town with state, for example Mississippi River at St. Louis, MO.

1 credit per completed run

The same inputs also work from your code or an AI assistant. See For developers.

Example results

Mississippi River at St. Louis, MO

St. Louis, Missouri, Observed Sep 29, 12:00 AM

Water height15.24feet
Flow262,000cubic feet per second
24-hour trendfalling
Flood stage30feet

At or above flood stage: No

View gauge details

Choose an action

About the USGS Water Data tool

USGS Water Data (USGS) returns gauge height, flow, 24-hour trends, and flood-stage status for a river or town and state.

Get river level needs a river and/or town with state.

Built from waterdata.usgs.gov. Last checked Sep 29, 2026.

Actions

Get river level

1 credit

Get the latest water height, flow, 24-hour trend, and flood-stage status at the active USGS river gauge best matching a river or town and state. Flood stage is null when not published; gauges without recent stage, flow, or 24-hour history are not returned.

What you provide

FieldTypeRequiredDescription
LocationlocationTextRequiredRiver and/or town with state, for example Mississippi River at St. Louis, MO.Example: Mississippi River at St. Louis, MO

What you get

FieldTypeDescription
TowntownTextTown near the gauge.Example: St. Louis
StatestateTextState name.Example: Missouri
LatitudelatitudeNumberGauge latitude.Example: 38.629
LongitudelongitudeNumberGauge longitude.Example: -90.1797777777778
Gauge Namegauge_nameTextOfficial gauge name.Example: Mississippi River at St. Louis, MO
Observed Atobserved_atTextGauge-height observation time in the local time zone, with offset.Example: 2026-09-29T00:00:00-05:00
Trend 24 Hourstrend_24_hoursTextWater-height trend over the past 24 hours.Example: Falling
Gauge Page Linkgauge_page_linkTextPage showing the gauge.Example: https://waterdata.usgs.gov/monitoring-location/07010000/
Flood Stage Feetflood_stage_feetNumberFlood stage in feet, when published.Example: 30
Usgs Site Numberusgs_site_numberTextUSGS monitoring site number.Example: 07010000
Above Flood Stageabove_flood_stageYes or noWhether the water height reaches or exceeds flood stage, when known.Example: No
Water Height Feetwater_height_feetNumberMost recent gauge height in feet.Example: 15.24
Flow Cubic Feet Per Secondflow_cubic_feet_per_secondNumberMost recent discharge in cubic feet per second.Example: 262000

Example result

For Location: Mississippi River at St. Louis, MO

JSON
{
  "town": "St. Louis",
  "state": "Missouri",
  "latitude": 38.629,
  "longitude": -90.1797777777778,
  "gauge_name": "Mississippi River at St. Louis, MO",
  "observed_at": "2026-09-29T00:00:00-05:00",
  "trend_24_hours": "falling",
  "gauge_page_link": "https://waterdata.usgs.gov/monitoring-location/07010000/",
  "flood_stage_feet": 30,
  "usgs_site_number": "07010000",
  "above_flood_stage": false,
  "water_height_feet": 15.24,
  "flow_cubic_feet_per_second": 262000
}

For developers

Call it from your code with one request. Change the values in input to run it on new data. To get an API key, open Developers at the bottom of Studio, turn on Developer mode and go to API keys.

cURL
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@usgs-water-data",
  "visibility": "public",
  "operation": "get_river_level",
  "version": 1,
  "input": {
    "location": "Mississippi River at St. Louis, MO"
  },
  "response": {
    "format": "json"
  }
}'

What you can do with it

  • Monitor river heights near towns
  • Track changes in river flow
  • Check whether water reaches flood stage
  • Review 24-hour river-level trends
  • Find gauge locations and observation times

Questions about USGS Water Data

Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

Can I call this USGS Water Data tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

Do I need a USGS Water Data account?

No. You only need a Fous account.

How current is the data?

Fous gets the data from waterdata.usgs.gov when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

What is the latest river level near a location?

Get river level returns the most recent gauge height and observation time for a matching river gauge.

Is a river at or above flood stage?

Get river level returns whether the water height reaches or exceeds flood stage when that information is known.

How has a river level changed in the past 24 hours?

Get river level returns the water-height trend over the past 24 hours.

All Science toolsBrowse all tools