Datadory notebook
Historical daily streamflow data: a century of river days, delivered as rows
Datadory delivers multi-utilities data covering historical daily streamflow for roughly 1.5 million monitored US sites: one summarized row per gauge per day carrying mean, median, maximum, minimum and derived discharge, plus day-of-year statistics that compress a century of record - 1931 through today on the verified Potomac River gauge - into exceedance percentiles on a single row, delivered daily, weekly, or hourly.
1,744 datasets. Pick your catch.
What is historical daily streamflow data?
Every river worth measuring has been measured most days for a very long time, and the daily record is where that patience pays off. Across the United States, roughly 1.5 million monitored sites - surface-water gages, groundwater wells, water-quality stations - report into one consolidated record set assembled by the U.S. Geological Survey's National Water Information System. Datadory delivers that record set as the USGS Water Services - Instantaneous, Daily and Statistics REST APIs dataset: typed rows, one per site per parameter per period.
The analytical appeal is grain times depth. Most published hydrology stops at monthly means or basin aggregates; this record is per-gauge and per-day, which is what turns "the region got drier" into "this gage's January 1 flow exceeded its 95th percentile in 41 of the last 96 years." A single verified row illustrates the compression: January 1 at the Potomac River Little Falls gauge near Washington, DC folds water years 1931 through 2026 into one maximum (118,000 cfs), one minimum (940 cfs), one mean (13,400 cfs) and a ladder of percentiles.
In Datadory's catalog the dataset scores 9/10 against a 7.81 average across 1,744 datasets - the second-highest grade in the 10-record multi-utilities slice. The source behind it is the federal water science agency itself, which is about as close to primary as river data gets.
Which three record shapes carry the history?
The services overlap completely in geography and not at all in shape, and picking the wrong shape changes both your row counts and how far back the record reaches.
- Daily Values - the headline act for a historical pull. One summary row per site per parameter per day: mean, median, maximum, minimum and derived values. Depth runs past nine decades on long-record gauges; the national daily-value archive reaches the early 1900s.
- Statistics - each calendar day-of-year rolled across the whole approved record. One row holds
begin_yr,end_yr,count_nu,max_va,min_va,mean_vaand exceedance percentilesp05_vathroughp99_va. This is a precomputed flow-duration table, delivered rather than computed. - Instantaneous Values - readings spaced 5 to 60 minutes apart, retrievable from October 1, 2007 forward, with some unapproved operational rows stopping at the most recent 120 days. It is the fresh layer, not the deep one.
Depth is the dividing line: minute-level retrieval reaches only to 2007, while daily values and statistics extend back over a century. Teams that need both usually take the statistics layer once and let sub-hourly delivery chase flood season. The USGS Instantaneous Values API parameters guide covers the real-time grammar line by line; the rest of this page stays on the historical side.
What do real historical rows look like?
Three verified shapes, one identity. All were read off live responses during August 2026 research for Potomac River site 01646500:
- A daily value:
agency_cd=USGS,site_no=01646500,datetime=2026-08-18,68478_00060_00003=2810with qualifierP- prior-day mean discharge in cubic feet per second, where the column name encodes record, parameter and statistic (00003 is the mean). - A statistics row:
month_nu=1,day_nu=1,begin_yr=1931,end_yr=2026,count_nu=96, spanningmax_va118000 down tomin_va940 withmean_va13400 - ninety-six years of winter extremes behind a single row. - An instantaneous reading: ISO-8601 timestamp with UTC offset, value 3060, qualifiers
["P"]- the same river, four orders of magnitude finer in time.
Two fields do the joining. site_no is stable from a minute-old reading back to a 1931 statistic, and parameter_cd=00060 names discharge everywhere it appears. Every row also carries decimal coordinates, datum and the eight-digit hydrologic unit code (huc_cd) - the watershed identifier that scales site rows into basin panels. Qualifier codes ride along on every value: A marks approved data, P marks provisional rows still subject to review, and the reserved sentinel -999999 marks missing rather than zero.
What can you build on a century-scale daily archive?
Drought and low-flow studies start at the percentiles. Because p05_va through p99_va arrive per calendar day-of-year with count_nu reporting how many years feed each figure, the exceedance curve for any date comes straight off the row - no recomputation, no hidden sample-size problem.
Climate researchers and quants anchor extremes work on records like the Potomac gauge: ninety-six years of Januaries is the kind of base rate that survives scrutiny in a published model, and the qualifier column drops provisional rows mechanically instead of letting them surface in residuals.
Hydropower operators and water planners usually enter from the real-time side - sub-hourly stage and discharge for operations - then extend backfill from the same site's daily rows, because design flows and reservoir yield studies need decades, not days.
Data scientists assembling features should note the slice offers no machine-learning substitute here: Hugging Face's utilities shelf holds 75 repositories dominated by roughly 62 Nigerian parquet tables of billing and smart-meter records, none of them river gauges. The integration patterns transfer, though - see multi-utilities data for data scientists for how typed hydrology panels fit a modelling workflow.
Engineers sizing culverts or siting intakes lean on return periods, and a gage with 96 years of annual maxima supports a 100-year estimate in a way a decade-long record simply cannot pretend to.
How does it compare with neighbouring multi-utilities datasets?
Three neighbours cover what the streamflow record deliberately does not, and the division of labour is clean: rivers, nations, markets, and machine-learning corpora. Quality scores from the Datadory catalog frame the trade-offs - the table lines them up.
The honest caveat cuts both ways. If your question is customer meters and billing cycles rather than cubic feet per second, this is the wrong record and Hugging Face Datasets - Utilities Search (75+ datasets) is the right one. If your question is how much water moved through a watershed last century, nothing else in the pool carries a gauge.
Where to go next
Start with the USGS Water Services dataset profile for the full field dictionary and sample rows, and the definitions behind the vocabulary in our glossary entries for streamflow and gage height parameters and the HUC watershed code.
Then widen the lens. The multi utilities data guide walks the whole ten-record slice and explains its scoring, the sibling page on USGS Instantaneous Values API parameters covers the real-time query grammar, and the best multi-utilities datasets shortlist shows where this record ranks in the pool.
When you're ready to build, request a sample cut to the gauges, parameters and date range on your desk this quarter. It arrives with the field dictionary attached - and the schema in the sample is the schema you ship against.
| Record shape | Grain | History available | Best for |
|---|---|---|---|
| Instantaneous Values | Per-site readings every 5-60 minutes | October 1, 2007 to present; some unapproved rows capped at 120 days back | Real-time monitoring and event detection |
| Statistics | Day-, month- and year-of-year statistics computed on approved data only | begin_yr 1931 verified for site 01646500, with p05_va-p99_va exceedance percentiles | Flow-duration curves, drought studies and design flows |
| Field | Value | Reading |
|---|---|---|
| begin_yr / end_yr | 1931 / 2026 | Water years feeding the day-of-year record |
| count_nu | 96 | Years actually contributing - the honest sample size behind every percentile |
| max_va | 118000 | Largest January 1 discharge on record, cubic feet per second |
| min_va | 940 | Smallest January 1 discharge on record |
| mean_va | 13400 | Long-run January 1 central tendency |
| p05_va..p99_va | <exceedance ladder> | Precomputed flow-duration curve, delivered not derived |
Pick up where this leaves off
Every one of these ships with sample rows before you commit to anything.
USGS Water Services - Instantaneous, Daily and Statistics REST APIs
Hugging Face Datasets - Utilities Search (75+ datasets)
Ofgem Data Portal - UK Energy Market Indicators
field spine (Category · series columns · id …+2 more
World Bank Energy & Mining - World Development Indicators (Topic 5)
Want rows instead of a pitch? Name the datasets.
API, files, or your warehouse. Daily, weekly, or hourly.
Get a sampleQuestions worth asking
Where can I get historical daily streamflow data?
Datadory delivers it from the USGS Water Services record set: one summarized streamflow row per gauge per day for roughly 1.5 million monitored US sites, with day-of-year statistics layered alongside and the field dictionary attached. You name the gauges, parameters and date range; the sample arrives cut to exactly that scope.
How far back does daily streamflow history go?
Over a century on long-record gauges. The verified daily-statistics record for Potomac River site 01646500 begins in 1931, counting 96 January 1 observations through end year 2026, and national daily-value archives reach the early 1900s. Minute-level readings are a different, shallower layer - retrieval there starts October 1, 2007.
What is the difference between daily values, instantaneous values and statistics?
Granularity and depth. Instantaneous values are readings spaced 5 to 60 minutes apart, retrievable from October 2007 forward. Daily values collapse each day to one summary row per parameter - mean, median, maximum, minimum. Statistics roll each calendar day-of-year across the whole approved record into maxima, minima, means and p05-p99 exceedance percentiles. Site number plus parameter code joins all three shapes into one panel.
Can I build commercial products on delivered streamflow rows?
Yes. Reuse rights travel with the rows: nothing in a Datadory delivery restricts republication or commercial products built on them. The binding constraint is provenance rather than rights - provisional readings must stay out of legal or regulatory decisions until approved - so every delivery carries approval status as an explicit column rather than a footnote.