Skip to content

# River Gauge Data

GET/v1/sensordata/water/gauge/{site}

Latest gage height (feet), discharge (cubic feet per second) and water temperature at a USGS site, with the NWS flood categories and the current flood status. Refreshes every 15 minutes.

Price

$0.005/ call

Edge cache

300s

Uptime 24h

100.00%

p95

242ms

MCP tool

sensordata_water-gauge-site

This API provides the latest river gauge data from USGS sites. The data includes gage height, discharge, and water temperature, along with NWS flood categories and current flood status. The data is refreshed every 15 minutes. The API endpoint is /water/gauge/{site} and it supports the GET method. The price is $0.005 per request.

Parameters

NameInTypeDescription
site* path string

Code

curl
# 1. No key, no payment: the gateway answers 402 with the price
curl -i "https://api.realtimeapi.ai/v1/sensordata/water/gauge/01646500"

# 2. Pay: retry with a signed x402 payment (any x402 client builds this header)
curl "https://api.realtimeapi.ai/v1/sensordata/water/gauge/01646500" -H "PAYMENT-SIGNATURE: $X402_PAYMENT"
TypeScript · @x402/fetch
// npm i @x402/fetch @x402/core @x402/evm viem
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = x402Client.fromConfig({ schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(privateKeyToAccount(PRIVATE_KEY)) }] });
const pay = wrapFetchWithPayment(fetch, client);
const data = await (await pay("https://api.realtimeapi.ai/v1/sensordata/water/gauge/01646500")).json();
console.log(data);
Python · x402
# pip install "x402[requests,evm]==2.27.0" eth-account
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact import register_exact_evm_client

client = x402ClientSync()
register_exact_evm_client(client, EthAccountSigner(Account.from_key(PRIVATE_KEY)))
session = x402_requests(client)
print(session.get("https://api.realtimeapi.ai/v1/sensordata/water/gauge/01646500").json())
With an API key
curl "https://api.realtimeapi.ai/v1/sensordata/water/gauge/01646500" -H "X-API-Key: $RTAPI_KEY"

Frequently asked questions

What is the API endpoint?

/water/gauge/{site}

What method does the API support?

GET

How often is the data refreshed?

Every 15 minutes

Get a free key

1,000 calls a month across every feed. Who is setting it up?

No key needed at all: agents can pay per call in USDC with x402.