Skip to content
Eden Engine

River and Stream Gauge Readings: Streamflow, Gauge Height, Water Temperature (USGS)

usgswater/gauge-readings

Current readings from U.S. Geological Survey river and stream gauges: streamflow in cubic feet per second, gauge height in feet and water temperature in degrees Celsius, for one to five USGS site numbers. The newest reading by default, or every reading of the last 1 to 24 hours (spaced 5 to 15 minutes apart, depending on the site). Recent readings are provisional and subject to revision. A site that does not report a measurement returns an empty list for it. U.S. Geological Survey data, passed through unmodified and served by Omnial; not an official USGS product.

activeper callv1

Price

$0.00273 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.

Data source

U.S. Geological Survey

Data from the U.S. Geological Survey (USGS), U.S. Department of the Interior, public domain per usgs.gov/information-policies-and-instructions/copyrights-and-credits. Credit: U.S. Geological Survey Department of the Interior/USGS. Served by Omnial; not an official USGS product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "usgswater/gauge-readings" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "usgswater/gauge-readings" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "usgswater/gauge-readings", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "usgswater/gauge-readings", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.00273
Updated
Oct 18, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "sites"
  ],
  "properties": {
    "sites": {
      "type": "string",
      "pattern": "^[0-9]{8,15}(,[0-9]{8,15}){0,4}$",
      "description": "One to five USGS site numbers (8 to 15 digits), comma separated with no spaces, for example 01646500 (Potomac River near Washington, DC) or 01646500,01638500. Keep leading zeros."
    },
    "period": {
      "type": "string",
      "pattern": "^PT([1-9]|1[0-9]|2[0-4])H$",
      "description": "Leave out for only the newest reading of each measurement. Otherwise an ISO 8601 hour duration, PT1H to PT24H, for every reading in that many past hours: PT6H is the last six hours."
    },
    "parameter_codes": {
      "type": "string",
      "default": "00060,00065",
      "pattern": "^(00060|00065|00010)(,(00060|00065|00010)){0,2}$",
      "description": "Which measurements, comma separated: 00060 is streamflow (discharge) in cubic feet per second, 00065 is gauge height in feet, 00010 is water temperature in degrees Celsius. Defaults to 00060,00065. A site returns only the measurements it takes."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "nil": {
      "type": "boolean"
    },
    "name": {
      "type": "string",
      "description": "The envelope type name."
    },
    "scope": {
      "type": "string"
    },
    "value": {
      "type": "object",
      "required": [
        "queryInfo",
        "timeSeries"
      ],
      "properties": {
        "queryInfo": {
          "type": "object",
          "description": "The service's description of the query. Its `note` list includes the disclaimer 'Provisional data are subject to revision.'",
          "additionalProperties": true
        },
        "timeSeries": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "Series name, site:parameter:statistic."
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "value": {
                            "type": "string"
                          },
                          "dateTime": {
                            "type": "string"
                          },
                          "qualifiers": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "additionalProperties": true
                      },
                      "description": "The readings, oldest first, so the newest is last. Each has `value` (a STRING), `qualifiers` (P means provisional) and `dateTime` with its own UTC offset."
                    }
                  },
                  "additionalProperties": true
                }
              },
              "variable": {
                "type": "object",
                "description": "The measurement: `variableCode`, `variableName`, `variableDescription`, `unit.unitCode`, and `noDataValue` (-999999: a reading equal to it means no data). `variableName` may contain HTML character references such as ³.",
                "additionalProperties": true
              },
              "sourceInfo": {
                "type": "object",
                "description": "The site: `siteName`, `siteCode` (the USGS site number), `geoLocation.geogLocation` (latitude and longitude, EPSG:4326) and `timeZoneInfo`.",
                "additionalProperties": true
              }
            },
            "additionalProperties": true
          },
          "description": "One series per site and measurement that reports. Empty when the site number is unknown or the site does not measure the requested parameter."
        }
      },
      "additionalProperties": true
    },
    "globalScope": {
      "type": "boolean"
    },
    "declaredType": {
      "type": "string"
    },
    "typeSubstituted": {
      "type": "boolean"
    }
  },
  "description": "The USGS water services response in its WaterML-JSON envelope: `value.queryInfo` describes the query and carries the provisional-data disclaimer, `value.timeSeries` holds one series per site and measurement.",
  "additionalProperties": true
}