Raw schema
{
"type": "object",
"properties": {
"bbox": {
"description": "Bounding box as \"west,south,east,north\" in decimal degrees (e.g. \"-77.5,38.5,-76.5,39.5\" for the DC metro area). One of the four major filters โ bbox, stateCd, countyCd, and huc are mutually exclusive with each other, and exactly one must be supplied.",
"type": "string",
"pattern": "^-?\\d+(\\.\\d+)?(,-?\\d+(\\.\\d+)?){3}$"
},
"stateCd": {
"description": "2-character US state abbreviation (e.g. \"VA\", \"WA\"). Returns all sites in the state for the given filters. Major filter โ supply exactly one of bbox, stateCd, countyCd, huc.",
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
"countyCd": {
"description": "FIPS county code(s) as bare 5-digit numbers โ state and county digits concatenated, no separator (e.g. \"51013\" for Arlington, VA). Comma-separate up to 20 (e.g. \"51059,51061\"). The 5 digits already encode the state, so the code stands alone. Major filter โ supply exactly one of bbox, stateCd, countyCd, huc.",
"type": "string",
"pattern": "^\\d{5}(,\\d{5}){0,19}$"
},
"huc": {
"description": "Hydrologic Unit Code (HUC) scoping results to a watershed. Either a 2-digit major HUC (e.g. \"02\" for the Mid-Atlantic region) or an 8-digit minor HUC (e.g. \"02070008\" for the Middle Potomac). NWIS accepts no other lengths. Major filter โ supply exactly one of bbox, stateCd, countyCd, huc.",
"type": "string",
"pattern": "^(\\d{2}|\\d{8})$"
},
"siteType": {
"description": "Site type filter. Common codes: \"ST\" (stream), \"GW\" (groundwater well), \"LK\" (lake/reservoir), \"SP\" (spring), \"AT\" (atmosphere), \"OC\" (ocean), \"ES\" (estuary). Comma-separate multiple types (e.g. \"ST,GW\").",
"type": "string"
},
"parameterCd": {
"description": "5-digit parameter code to require at each returned site (e.g. \"00060\" for discharge). Use water_list_parameters to discover codes. Comma-separate multiple codes with no spaces (e.g. \"00060,00065\").",
"type": "string",
"pattern": "^\\d{5}(,\\d{5})*$"
},
"hasDataTypeCd": {
"description": "Require sites with data of this type. Common values: \"iv\" (real-time/instantaneous), \"dv\" (daily values), \"gw\" (groundwater). Comma-separate multiple types.",
"type": "string"
},
"siteOutput": {
"default": "basic",
"description": "\"basic\" returns core identification fields. \"expanded\" adds drainage area, altitude, contributing area, and other metadata.",
"type": "string",
"enum": [
"basic",
"expanded"
]
},
"limit": {
"default": 500,
"description": "Maximum sites to return inline, 1โ500. Default 500 (the inline cap).",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"default": 0,
"description": "Number of matching sites to skip before returning results. Page through matches beyond the inline cap by advancing offset by limit. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"canvas_id": {
"description": "Canvas ID from a prior call to add this match set as a table on an existing canvas rather than creating a new one. Each distinct filter set gets its own table name, so re-running the identical query replaces its own table while a different query adds another alongside it. Applies only when the match set exceeds the inline cap and DataCanvas is enabled. Omit to start a fresh canvas.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{10}$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}