openapi: 3.0.2
info:
contact:
name: US Geological Survey - Water Data for the Nation
url: https://waterdata.usgs.gov
x-ogc-serviceContact:
addresses: []
emails:
- value: wdfn@usgs.gov
hoursOfService: pointOfContact
links:
- href: https://waterdata.usgs.gov/questions-comments/?referrerUrl=https://api.waterdata.usgs.gov
type: text/html
name: WDFN Support
description: 'These APIs provide OGC-compliant interfaces to USGS water data, letting you download continuous sensor measurements, discrete field measurements, metadata about monitoring locations, and more.
'
license:
name: US Government work in the public domain
url: https://creativecommons.org/publicdomain/zero/1.0/
termsOfService: https://creativecommons.org/publicdomain/zero/1.0/
title: USGS Water Data OGC APIs agency-codes daily API
version: 0.56.0
x-keywords:
- geospatial
- data
- api
- hydrology
- USGS
servers:
- description: 'These APIs provide OGC-compliant interfaces to USGS water data, letting you download continuous sensor measurements, discrete field measurements, metadata about monitoring locations, and more.
'
url: https://api.waterdata.usgs.gov/ogcapi/v0
tags:
- description: 'Daily data provide one data value to represent water conditions for the day. Throughout much of the history of the USGS, the primary water data available was daily data collected manually at the monitoring location once each day. With improved availability of computer storage and automated transmission of data, the daily data published today are generally a statistical summary or metric of the continuous data collected each day, such as the daily mean, minimum, or maximum value. Daily data are automatically calculated from the continuous data of the same parameter code and are described by parameter code and a statistic code. These data have also been referred to as “daily values” or “DV”.
'
name: daily
paths:
/collections/daily:
get:
description: 'Daily data provide one data value to represent water conditions for the day. Throughout much of the history of the USGS, the primary water data available was daily data collected manually at the monitoring location once each day. With improved availability of computer storage and automated transmission of data, the daily data published today are generally a statistical summary or metric of the continuous data collected each day, such as the daily mean, minimum, or maximum value. Daily data are automatically calculated from the continuous data of the same parameter code and are described by parameter code and a statistic code. These data have also been referred to as “daily values” or “DV”.
'
operationId: describeDailyCollection
parameters:
- $ref: '#/components/parameters/f'
- $ref: '#/components/parameters/lang'
responses:
'200':
$ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/Collection
'400':
$ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
'403':
$ref: '#/components/responses/Forbidden403'
'404':
$ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/NotFound
'429':
$ref: '#/components/responses/TooManyRequests429'
'500':
$ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
summary: Get Daily values metadata
tags:
- daily
/collections/daily/items:
get:
description: 'Daily data provide one data value to represent water conditions for the day. Throughout much of the history of the USGS, the primary water data available was daily data collected manually at the monitoring location once each day. With improved availability of computer storage and automated transmission of data, the daily data published today are generally a statistical summary or metric of the continuous data collected each day, such as the daily mean, minimum, or maximum value. Daily data are automatically calculated from the continuous data of the same parameter code and are described by parameter code and a statistic code. These data have also been referred to as “daily values” or “DV”.
'
operationId: getDailyFeatures
parameters:
- description: The optional f parameter indicates the output format which the server shall provide as part of the response document. The default format is GeoJSON.
explode: false
in: query
name: f
required: false
schema:
default: json
enum:
- json
- html
- jsonld
- csv
type: string
style: form
- $ref: '#/components/parameters/lang'
- $ref: '#/components/parameters/bbox'
- description: The optional limit parameter limits the number of items that are presented in the response document (maximum=50000, default=10).
explode: false
in: query
name: limit
required: false
schema:
default: 10
maximum: 50000
minimum: 1
type: integer
style: form
- $ref: '#/components/parameters/crs'
- $ref: '#/components/parameters/bbox-crs'
- description: The properties that should be included. The parameter value is a comma-separated list of property names.
explode: false
in: query
name: properties
required: false
schema:
items:
enum:
- time_series_id
- monitoring_location_id
- parameter_code
- statistic_id
- time
- value
- unit_of_measure
- approval_status
- qualifier
- last_modified
type: string
type: array
style: form
- $ref: '#/components/parameters/skipGeometry'
- $ref: '#/components/parameters/wda_sortby'
- $ref: '#/components/parameters/offset'
- $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/parameters/datetime
- description: "A unique identifier representing a single time series. This corresponds to the `id` field in the `time-series-metadata` endpoint.\n Split parameters are enabled for this field, so you can supply multiple values separated by commas."
explode: false
in: query
name: time_series_id
required: false
schema:
description: "A unique identifier representing a single time series. This corresponds to the `id` field in the `time-series-metadata` endpoint.\n Split parameters are enabled for this field, so you can supply multiple values separated by commas."
title: Time series ID
type: string
style: form
- description: "A unique identifier representing a single monitoring location. This corresponds to the `id` field in the `monitoring-locations` endpoint. Monitoring location IDs are created by combining the agency code of the agency responsible for the monitoring location (e.g. USGS) with the ID number of the monitoring location (e.g. 02238500), separated by a hyphen (e.g. USGS-02238500).\n Split parameters are enabled for this field, so you can supply multiple values separated by commas."
explode: false
in: query
name: monitoring_location_id
required: false
schema:
description: "A unique identifier representing a single monitoring location. This corresponds to the `id` field in the `monitoring-locations` endpoint. Monitoring location IDs are created by combining the agency code of the agency responsible for the monitoring location (e.g. USGS) with the ID number of the monitoring location (e.g. 02238500), separated by a hyphen (e.g. USGS-02238500).\n Split parameters are enabled for this field, so you can supply multiple values separated by commas."
title: Monitoring location ID
type: string
style: form
- description: "Parameter codes are 5-digit codes used to identify the constituent measured and the units of measure. A complete list of parameter codes and associated groupings can be found at [https://api.waterdata.usgs.gov/ogcapi/v0/collections/parameter-codes/items](https://api.waterdata.usgs.gov/ogcapi/v0/collections/parameter-codes/items).\n Split parameters are enabled for this field, so you can supply multiple values separated by commas."
explode: false
in: query
name: parameter_code
required: false
schema:
description: "Parameter codes are 5-digit codes used to identify the constituent measured and the units of measure. A complete list of parameter codes and associated groupings can be found at [https://api.waterdata.usgs.gov/ogcapi/v0/collections/parameter-codes/items](https://api.waterdata.usgs.gov/ogcapi/v0/collections/parameter-codes/items).\n Split parameters are enabled for this field, so you can supply multiple values separated by commas."
title: Parameter code
type: string
style: form
- description: "A code corresponding to the statistic an observation represents. Example codes include 00001 (max), 00002 (min), and 00003 (mean). A complete list of codes and their descriptions can be found at [https://api.waterdata.usgs.gov/ogcapi/v0/collections/statistic-codes/items](https://api.waterdata.usgs.gov/ogcapi/v0/collections/statistic-codes/items).\n Split parameters are enabled for this field, so you can supply multiple values separated by commas."
explode: false
in: query
name: statistic_id
required: false
schema:
description: "A code corresponding to the statistic an observation represents. Example codes include 00001 (max), 00002 (min), and 00003 (mean). A complete list of codes and their descriptions can be found at [https://api.waterdata.usgs.gov/ogcapi/v0/collections/statistic-codes/items](https://api.waterdata.usgs.gov/ogcapi/v0/collections/statistic-codes/items).\n Split parameters are enabled for this field, so you can supply multiple values separated by commas."
title: Statistic ID
type: string
style: form
- description: "The date an observation represents. You can query this field using date-times or intervals, adhering to RFC 3339, or using ISO 8601 duration objects. Intervals may be bounded or half-bounded (double-dots at start or end).\nExamples:\n\n - A date-time: \"2018-02-12T23:20:50Z\"\n - A bounded interval: \"2018-02-12T00:00:00Z/2018-03-18T12:31:12Z\"\n - Half-bounded intervals: \"2018-02-12T00:00:00Z/..\" or \"../2018-03-18T12:31:12Z\"\n - Duration objects: \"P1M\" for data from the past month or \"PT36H\" for the last 36 hours\n\nOnly features that have a `time` that intersects the value of datetime are selected. If a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties.\n"
explode: false
in: query
name: time
required: false
schema:
description: "The date an observation represents. You can query this field using date-times or intervals, adhering to RFC 3339, or using ISO 8601 duration objects. Intervals may be bounded or half-bounded (double-dots at start or end).\nExamples:\n\n - A date-time: \"2018-02-12T23:20:50Z\"\n - A bounded interval: \"2018-02-12T00:00:00Z/2018-03-18T12:31:12Z\"\n - Half-bounded intervals: \"2018-02-12T00:00:00Z/..\" or \"../2018-03-18T12:31:12Z\"\n - Duration objects: \"P1M\" for data from the past month or \"PT36H\" for the last 36 hours\n\nOnly features that have a `time` that intersects the value of datetime are selected. If a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties.\n"
title: Time
type: string
style: form
- description: 'The value of the observation. Values are transmitted as strings in the JSON response format in order to preserve precision.
'
explode: false
in: query
name: value
required: false
schema:
description: 'The value of the observation. Values are transmitted as strings in the JSON response format in order to preserve precision.
'
title: Value
type: string
style: form
- description: A human-readable description of the units of measurement associated with an observation.
explode: false
in: query
name: unit_of_measure
required: false
schema:
description: A human-readable description of the units of measurement associated with an observation.
title: Unit of measure
type: string
style: form
- description: 'Some of the data that you have obtained from this U.S. Geological Survey database may not have received Director''s approval. Any such data values are qualified as provisional and are subject to revision. Provisional data are released on the condition that neither the USGS nor the United States Government may be held liable for any damages resulting from its use. This field reflects the approval status of each record, and is either "Approved", meaining processing review has been completed and the data is approved for publication, or "Provisional" and subject to revision. For more information about provisional data, go to [https://waterdata.usgs.gov/provisional-data-statement/](https://waterdata.usgs.gov/provisional-data-statement/).
'
explode: false
in: query
name: approval_status
required: false
schema:
description: 'Some of the data that you have obtained from this U.S. Geological Survey database may not have received Director''s approval. Any such data values are qualified as provisional and are subject to revision. Provisional data are released on the condition that neither the USGS nor the United States Government may be held liable for any damages resulting from its use. This field reflects the approval status of each record, and is either "Approved", meaining processing review has been completed and the data is approved for publication, or "Provisional" and subject to revision. For more information about provisional data, go to [https://waterdata.usgs.gov/provisional-data-statement/](https://waterdata.usgs.gov/provisional-data-statement/).
'
enum:
- Provisional
- Approved
title: Approval Status
type: string
style: form
- description: 'This field indicates any qualifiers associated with an observation, for instance if a sensor may have been impacted by ice or if values were estimated.
'
explode: false
in: query
name: qualifier
required: false
schema:
description: 'This field indicates any qualifiers associated with an observation, for instance if a sensor may have been impacted by ice or if values were estimated.
'
title: Qualifier
type: string
style: form
- description: "The last time a record was refreshed in our database. This may happen due to regular operational processes and does not necessarily indicate anything about the measurement has changed.\nYou can query this field using date-times or intervals, adhering to RFC 3339, or using ISO 8601 duration objects. Intervals may be bounded or half-bounded (double-dots at start or end).\nExamples:\n\n - A date-time: \"2018-02-12T23:20:50Z\"\n - A bounded interval: \"2018-02-12T00:00:00Z/2018-03-18T12:31:12Z\"\n - Half-bounded intervals: \"2018-02-12T00:00:00Z/..\" or \"../2018-03-18T12:31:12Z\"\n - Duration objects: \"P1M\" for data from the past month or \"PT36H\" for the last 36 hours\n\nOnly features that have a `last_modified` that intersects the value of datetime are selected.\n"
explode: false
in: query
name: last_modified
required: false
schema:
description: "The last time a record was refreshed in our database. This may happen due to regular operational processes and does not necessarily indicate anything about the measurement has changed.\nYou can query this field using date-times or intervals, adhering to RFC 3339, or using ISO 8601 duration objects. Intervals may be bounded or half-bounded (double-dots at start or end).\nExamples:\n\n - A date-time: \"2018-02-12T23:20:50Z\"\n - A bounded interval: \"2018-02-12T00:00:00Z/2018-03-18T12:31:12Z\"\n - Half-bounded intervals: \"2018-02-12T00:00:00Z/..\" or \"../2018-03-18T12:31:12Z\"\n - Duration objects: \"P1M\" for data from the past month or \"PT36H\" for the last 36 hours\n\nOnly features that have a `last_modified` that intersects the value of datetime are selected.\n"
title: Last modified date
type: string
style: form
- description: The agency that is reporting the data.
explode: false
in: query
name: agency_code
required: false
schema:
description: The agency that is reporting the data.
title: Agency code
style: form
title: Agency code
- description: The name of the agency that is reporting the data.
explode: false
in: query
name: agency_name
required: false
schema:
description: The name of the agency that is reporting the data.
title: Agency name
style: form
title: Agency name
- explode: false
in: query
name: altitude
required: false
schema:
type: number
style: form
- explode: false
in: query
name: altitude_accuracy
required: false
schema:
type: number
style: form
- explode: false
in: query
name: altitude_method_code
required: false
schema:
type: string
style: form
- explode: false
in: query
name: altitude_method_name
required: false
schema:
type: string
style: form
- explode: false
in: query
name: aquifer_code
required: false
schema:
type: string
style: form
- explode: false
in: query
name: aquifer_type_code
required: false
schema:
type: string
style: form
- explode: false
in: query
name: basin_code
required: false
schema:
type: string
style: form
- explode: false
in: query
name: construction_date
required: false
schema:
type: string
style: form
- explode: false
in: query
name: contributing_drainage_area
required: false
schema:
type: number
style: form
- explode: false
in: query
name: country_code
required: false
schema:
type: string
style: form
- explode: false
in: query
name: country_name
required: false
schema:
type: string
style: form
- description: The code for the county or county equivalent in which the monitoring location is located.
explode: false
in: query
name: county_code
required: false
schema:
description: The code for the county or county equivalent in which the monitoring location is located.
title: County code
style: form
title: County code
- description: The name of the county or county equivalent in which the monitoring location is located.
explode: false
in: query
name: county_name
required: false
schema:
description: The name of the county or county equivalent in which the monitoring location is located.
title: County name
style: form
title: County name
- explode: false
in: query
name: depth_source_code
required: false
schema:
type: string
style: form
- description: The FIPS state code used as the district code by the managing Water Science Center.
explode: false
in: query
name: district_code
required: false
schema:
description: The FIPS state code used as the district code by the managing Water Science Center.
title: District code
style: form
title: District code
- explode: false
in: query
name: drainage_area
required: false
schema:
type: number
style: form
- explode: false
in: query
name: hole_constructed_depth
required: false
schema:
type: number
style: form
- explode: false
in: query
name: horizontal_position_method_code
required: false
schema:
type: string
style: form
- explode: false
in: query
name: horizontal_position_method_name
required: false
schema:
type: string
style: form
- explode: false
in: query
name: horizontal_positional_accuracy
required: false
schema:
type: string
style: form
- explode: false
in: query
name: horizontal_positional_accuracy_code
required: false
schema:
type: string
style: form
- description: "The hydrologic unit code (HUC) for the monitoring location. Supports prefix matching — querying with a shorter HUC (e.g. \"04\") matches all locations within that hydrologic region.\n Search will match partial HUCs."
explode: false
in: query
name: hydrologic_unit_code
required: false
schema:
description: "The hydrologic unit code (HUC) for the monitoring location. Supports prefix matching — querying with a shorter HUC (e.g. \"04\") matches all locations within that hydrologic region.\n Search will match partial HUCs."
title: Hydrologic unit code (HUC)
style: form
title: Hydrologic unit code (HUC)
- explode: false
in: query
name: minor_civil_division_code
required: false
schema:
type: string
style: form
- description: This is the official name of the monitoring location in the database.
explode: false
in: query
name: monitoring_location_name
required: false
schema:
description: This is the official name of the monitoring location in the database.
title: Monitoring location name
style: form
title: Monitoring location name
- description: Each monitoring location in the USGS data base has a unique 8- to 15-digit identification number.
explode: false
in: query
name: monitoring_location_number
required: false
schema:
description: Each monitoring location in the USGS data base has a unique 8- to 15-digit identification number.
title: Monitoring location number
style: form
title: Monitoring location number
- explode: false
in: query
name: national_aquifer_code
required: false
schema:
type: string
style: form
- explode: false
in: query
name: original_horizontal_datum
required: false
schema:
type: string
style: form
- explode: false
in: query
name: original_horizontal_datum_name
required: false
schema:
type: string
style: form
- description: A description of the hydrologic setting of the monitoring location.
explode: false
in: query
name: site_type
required: false
schema:
description: A description of the hydrologic setting of the monitoring location.
title: Monitoring location type
style: form
title: Monitoring location type
- description: A code describing the hydrologic setting of the monitoring location.
explode: false
in: query
name: site_type_code
required: false
schema:
description: A code describing the hydrologic setting of the monitoring location.
title: Monitoring location type code
style: form
title: Monitoring location type code
- description: A two-digit ANSI code to define the state in which the monitoring location is located.
explode: false
in: query
name: state_code
required: false
schema:
description: A two-digit ANSI code to define the state in which the monitoring location is located.
title: State code
style: form
title: State code
- description: The name of the state or state equivalent in which the monitoring location is located.
explode: false
in: query
name: state_name
required: false
schema:
description: The name of the state or state equivalent in which the monitoring location is located.
title: State name
style: form
title: State name
- explode: false
in: query
name: time_zone_abbreviation
required: false
schema:
type: string
style: form
- explode: false
in: query
name: uses_daylight_savings
required: false
schema:
type: string
style: form
- explode: false
in: query
name: vertical_datum
required: false
schema:
type: string
style: form
- explode: false
in: query
name: vertical_datum_name
required: false
schema:
type: string
style: form
- explode: false
in: query
name: well_constructed_depth
required: false
schema:
type: number
style: form
- $ref: '#/components/parameters/filter'
responses:
'200':
$ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/Features
'400':
$ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
'403':
$ref: '#/components/responses/Forbidden403'
'404':
$ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/NotFound
'429':
$ref: '#/components/responses/TooManyRequests429'
'500':
$ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
security:
- ApiKeyQuery: []
- ApiKeyHeader: []
summary: Get Daily values items
tags:
- daily
options:
description: 'Daily data provide one data value to represent water conditions for the day. Throughout much of the history of the USGS, the primary water data available was daily data collected manually at the monitoring location once each day. With improved availability of computer storage and automated transmission of data, the daily data published today are generally a statistical summary or metric of the continuous data collected each day, such as the daily mean, minimum, or maximum value. Daily data are automatically calculated from the continuous data of the same parameter code and are described by parameter code and a statistic code. These data have also been referred to as “daily values” or “DV”.
'
operationId: optionsDailyFeatures
responses:
'200':
description: options response
security:
- ApiKeyQuery: []
- ApiKeyHeader: []
summary: Options for Daily values items
tags:
- daily
post:
description: 'Daily data provide one data value to represent water conditions for the day. Throughout much of the history of the USGS, the primary water data available was daily data collected manually at the monitoring location once each day. With improved availability of computer storage and automated transmission of data, the daily data published today are generally a statistical summary or metric of the continuous data collected each day, such as the daily mean, minimum, or maximum value. Daily data are automatically calculated from the continuous data of the same parameter code and are described by parameter code and a statistic code. These data have also been referred to as “daily values” or “DV”.
'
operationId: getCQL2DailyFeatures
requestBody:
content:
application/json:
schema:
$ref: https://schemas.opengis.net/cql2/1.0/cql2.json
description: Get items with CQL2
required: true
responses:
'200':
$ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/Features
'400':
$ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
'403':
$ref: '#/components/responses/Forbidden403'
'429':
$ref: '#/components/responses/TooManyRequests429'
'500':
$ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
security:
- ApiKeyQuery: []
- ApiKeyHeader: []
summary: Get Daily values items with CQL2
tags:
- daily
/collections/daily/items/{featureId}:
get:
description: 'Daily data provide one data value to represent water conditions for the day. Throughout much of the history of the USGS, the primary water data available was daily data collected manually at the monitoring location once each day. With improved availability of computer storage and automated transmission of data, the daily data published today are generally a statistical summary or metric of the continuous data collected each day, such as the daily mean, minimum, or maximum value. Daily data are automatically calculated from the continuous data of the same parameter code and are described by parameter code and a statistic code. These data have also been referred to as “daily values” or “DV”.
'
operationId: getDailyFeature
parameters:
- $ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/parameters/featureId
- $ref: '#/components/parameters/crs'
- $ref: '#/components/parameters/f'
- $ref: '#/components/parameters/lang'
responses:
'200':
$ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/Feature
'400':
$ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/InvalidParameter
'403':
$ref: '#/components/responses/Forbidden403'
'404':
$ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/NotFound
'429':
$ref: '#/components/responses/TooManyRequests429'
'500':
$ref: https://schemas.opengis.net/ogcapi/features/part1/1.0/openapi/ogcapi-features-1.yaml#/components/responses/ServerError
security:
- ApiKeyQuery: []
- ApiKeyHeader: []
summary: Get Daily values item by id
tags:
- daily
options:
description: 'Daily data provide one data value to represent water conditions for the day. Throughout much of the history of the USGS, the primary water data available was daily data collected manually at the monitoring location once each day. With improved availability of computer stor
# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/doi/refs/heads/main/openapi/doi-daily-api-openapi.yml