# USGS API: Get river level

> Gets 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.

Unofficial. Not affiliated with or endorsed by USGS.

- Page: https://fous.com/methods/waterdata.usgs.gov/get-river-level
- Method: `waterdata.usgs.gov/get_river_level`, version 1
- Website: waterdata.usgs.gov
- Returns: gauge name, town, state, water height, flow, observation time, 24-hour trend, flood stage, gauge link, site number, coordinates
- Effect: read (it gets data and changes nothing)
- Sign-in: none needed
- Cost: 1 credit per completed run (1¢ with pay as you go); failed runs are free
- Verified: Nov 2, 2026

## Inputs

| Field | Type | Required | In the run below | Description |
|---|---|---|---|---|
| `location` | string | yes | `"Mississippi River at St. Louis, MO"` | River and/or town with state, for example Mississippi River at St. Louis, MO. |

## Output

From a run on Oct 31, 2026. Its input:

```json
{
  "location": "Mississippi River at St. Louis, MO"
}
```

Its output:

```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
}
```

## Run it

From code, with a Fous API key in `FOUS_API_KEY`; the answer's `data` holds the output:

```bash
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"method":"waterdata.usgs.gov/get_river_level","input":{"location":"Mississippi River at St. Louis, MO"}}'
```

From an AI agent connected to the Fous MCP server: its `run` with the same method and input. To connect one, give it `set up https://fous.com/SKILL.md`.

## Ask your agent

- How high is the Potomac River at Point of Rocks, MD right now, and is it rising or falling?
- Check the USGS gauge on the Cumberland River at Nashville, TN — current stage, flow in cfs, and whether it's near flood stage.
- Is the Red River at Fargo, ND above flood stage today?
- Pull the latest USGS reading for the Sacramento River near Red Bluff, CA: water height, discharge, and 24-hour trend.
- Planning to kayak the James River in Richmond, VA this weekend. What's the current water level and flow there?

## Input schema

```json
{
  "type": "object",
  "required": [
    "location"
  ],
  "properties": {
    "location": {
      "type": "string",
      "description": "River and/or town with state, for example Mississippi River at St. Louis, MO."
    }
  }
}
```

## Output schema

```json
{
  "type": "object",
  "required": [
    "gauge_name",
    "town",
    "state",
    "water_height_feet",
    "flow_cubic_feet_per_second",
    "observed_at",
    "trend_24_hours",
    "flood_stage_feet",
    "above_flood_stage",
    "gauge_page_link",
    "usgs_site_number",
    "latitude",
    "longitude"
  ],
  "properties": {
    "town": {
      "type": "string",
      "description": "Town near the gauge."
    },
    "state": {
      "type": "string",
      "description": "State name."
    },
    "latitude": {
      "type": [
        "number",
        "null"
      ],
      "description": "Gauge latitude."
    },
    "longitude": {
      "type": [
        "number",
        "null"
      ],
      "description": "Gauge longitude."
    },
    "gauge_name": {
      "type": "string",
      "description": "Official gauge name."
    },
    "observed_at": {
      "type": "string",
      "description": "Gauge-height observation time in the local time zone, with offset."
    },
    "trend_24_hours": {
      "type": "string",
      "description": "Water-height trend over the past 24 hours."
    },
    "gauge_page_link": {
      "type": "string",
      "description": "Page showing the gauge."
    },
    "flood_stage_feet": {
      "type": [
        "number",
        "null"
      ],
      "description": "Flood stage in feet, when published."
    },
    "usgs_site_number": {
      "type": "string",
      "description": "USGS monitoring site number."
    },
    "above_flood_stage": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Whether the water height reaches or exceeds flood stage, when known."
    },
    "water_height_feet": {
      "type": "number",
      "description": "Most recent gauge height in feet."
    },
    "flow_cubic_feet_per_second": {
      "type": "number",
      "description": "Most recent discharge in cubic feet per second."
    }
  }
}
```

## See more

- [USGS API: Search earthquakes near a place](https://fous.com/methods/earthquake.usgs.gov/search-earthquakes.md): Finds recent USGS earthquakes near a city, address, or region, with distances and times in the searched place's time zone.
- [USGS API: List significant earthquakes](https://fous.com/methods/earthquake.usgs.gov/list-significant-earthquakes.md): Lists significant worldwide earthquakes for the past day, week, or month, newest first, with USGS PAGER alert levels and impact summaries when USGS provides them.
- [NOAA API: Get water level](https://fous.com/methods/tidesandcurrents.noaa.gov/get-water-level.md): Gets the latest NOAA coastal water level, the matching tide prediction, the direction of change, and water temperature for the station nearest a US coastal place (within 50 miles).
- [NWS API: Get current conditions](https://fous.com/methods/weather.gov/get-current-conditions.md): Gets the latest observed weather from a nearby National Weather Service station for a US city, address, or ZIP code. Measurements the station does not report are null.
- [AirNow API: Get air quality](https://fous.com/methods/airnow.gov/get-air-quality.md): Gets AirNow current air quality, pollutant readings and today's and tomorrow's forecasts for a US city or ZIP code, or a covered Canadian or Mexican city.
- [AccuWeather API: Get current weather](https://fous.com/methods/accuweather.com/get-current-weather.md): Gets current conditions and RealFeel for a city or postal code on AccuWeather. The UV level follows standard UV-index ranges. Air quality is null unless it is shown with the current conditions.
- [NOAA API: Get tide times](https://fous.com/methods/tidesandcurrents.noaa.gov/get-tide-times.md): Finds the nearest NOAA tide prediction station to a US coastal place (within 30 miles) and returns its high and low tide times in local time with predicted heights above MLLW.
- [The Weather Channel API: Get current weather](https://fous.com/methods/weather.com/get-current-weather.md): Gets current conditions and today's high and low from The Weather Channel for a city, postcode, ZIP code or street address worldwide. Street addresses are geocoded exactly first; some observations omit gusts or other measurements.
- [All USGS methods](https://fous.com/methods/usgs.gov.md)
