Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/u-s-geological-survey-latest-field-measurements-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
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: 'The United States Geological Survey (USGS) collects water data at monitoring locations across the United States using both automated sensors and manual data collection. These APIs provide access to that data, alongside metadata about data collections and monitoring locations, in standardized machine-readable formats.
'
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 Latest Field Measurements API
version: 0.71.7
x-keywords:
- geospatial
- data
- api
- hydrology
- USGS
servers:
- description: 'The United States Geological Survey (USGS) collects water data at monitoring locations across the United States using both automated sensors and manual data collection. These APIs provide access to that data, alongside metadata about data collections and monitoring locations, in standardized machine-readable formats.
'
url: https://api.waterdata.usgs.gov/ogcapi/v0
tags:
- description: 'Field measurements are physically measured values collected during a visit to the monitoring location. Field measurements consist of measurements of gage height and discharge, and readings of groundwater levels, and are primarily used as calibration readings for the automated sensors collecting continuous data. They are collected at a low frequency, and delivery of the data in WDFN may be delayed due to data processing time.
'
name: latest-field-measurements
paths:
/collections/latest-field-measurements:
get:
description: 'Field measurements are physically measured values collected during a visit to the monitoring location. Field measurements consist of measurements of gage height and discharge, and readings of groundwater levels, and are primarily used as calibration readings for the automated sensors collecting continuous data. They are collected at a low frequency, and delivery of the data in WDFN may be delayed due to data processing time.
'
operationId: describeLatest-field-measurementsCollection
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 Latest field measurements metadata
tags:
- latest-field-measurements
/collections/latest-field-measurements/items:
get:
description: 'Field measurements are physically measured values collected during a visit to the monitoring location. Field measurements consist of measurements of gage height and discharge, and readings of groundwater levels, and are primarily used as calibration readings for the automated sensors collecting continuous data. They are collected at a low frequency, and delivery of the data in WDFN may be delayed due to data processing time.
'
operationId: getLatest-field-measurementsFeatures
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:
- field_measurements_series_id
- field_visit_id
- parameter_code
- monitoring_location_id
- observing_procedure_code
- observing_procedure
- value
- unit_of_measure
- time
- qualifier
- vertical_datum
- approval_status
- measuring_agency
- last_modified
- control_condition
- measurement_rated
- year
- month
- day
- time_of_day
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 collection series. This corresponds to the `id` field in the `field-measurements-metadata` endpoint. Collection series are defined as the set of field measurements at a given monitoring location for a single parameter code using a single reading type.
'
explode: false
in: query
name: field_measurements_series_id
required: false
schema:
description: 'A unique identifier representing a single collection series. This corresponds to the `id` field in the `field-measurements-metadata` endpoint. Collection series are defined as the set of field measurements at a given monitoring location for a single parameter code using a single reading type.
'
title: Field measurements series ID
type: string
style: form
- description: 'A universally unique identifier (UUID) for the field visit. Multiple measurements may be made during a single field visit.
'
explode: false
in: query
name: field_visit_id
required: false
schema:
description: 'A universally unique identifier (UUID) for the field visit. Multiple measurements may be made during a single field visit.
'
format: uuid
title: Field visit 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 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: A short code corresponding to the observing procedure for the field measurement.
explode: false
in: query
name: observing_procedure_code
required: false
schema:
description: A short code corresponding to the observing procedure for the field measurement.
title: Observing procedure code
type: string
style: form
- description: Water measurement or water-quality observing procedure descriptions.
explode: false
in: query
name: observing_procedure
required: false
schema:
description: Water measurement or water-quality observing procedure descriptions.
title: Observing procedure
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: "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: '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 datum used to determine altitude and vertical position at the monitoring location. A list of codes is available at [https://api.waterdata.usgs.gov/ogcapi/v0/collections/altitude-datums/items](https://api.waterdata.usgs.gov/ogcapi/v0/collections/altitude-datums/items).
'
explode: false
in: query
name: vertical_datum
required: false
schema:
description: 'The datum used to determine altitude and vertical position at the monitoring location. A list of codes is available at [https://api.waterdata.usgs.gov/ogcapi/v0/collections/altitude-datums/items](https://api.waterdata.usgs.gov/ogcapi/v0/collections/altitude-datums/items).
'
title: Vertical datum
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: The agency performing the measurement.
explode: false
in: query
name: measuring_agency
required: false
schema:
description: The agency performing the measurement.
title: Measuring agency
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 state of the control feature at the time of observation.
'
explode: false
in: query
name: control_condition
required: false
schema:
description: 'The state of the control feature at the time of observation.
'
title: Control condition
type: string
style: form
- description: 'A qualitative estimate of the quality of a measurement.
'
explode: false
in: query
name: measurement_rated
required: false
schema:
description: 'A qualitative estimate of the quality of a measurement.
'
title: Measurement rating
type: string
style: form
- description: 'The calendar year the field measurement was taken.
'
explode: false
in: query
name: year
required: false
schema:
description: 'The calendar year the field measurement was taken.
'
title: Year
type: integer
style: form
- description: 'The calendar month the field measurement was taken. If null, the month is unknown.
'
explode: false
in: query
name: month
required: false
schema:
description: 'The calendar month the field measurement was taken. If null, the month is unknown.
'
title: Month
type: integer
style: form
- description: 'The day of the month the field measurement was taken. If null, the day is unknown.
'
explode: false
in: query
name: day
required: false
schema:
description: 'The day of the month the field measurement was taken. If null, the day is unknown.
'
title: Day
type: integer
style: form
- description: 'The time of day the field measurement was taken. If null, the time of day is unknown.
'
explode: false
in: query
name: time_of_day
required: false
schema:
description: 'The time of day the field measurement was taken. If null, the time of day is unknown.
'
format: time
title: Time of Day
type: string
style: form
- description: 'The agency that is reporting the data. Agency codes are fixed values assigned by the National Water Information System (NWIS). A list of agency codes is available at [https://api.waterdata.usgs.gov/ogcapi/v0/collections/agency-codes/items](https://api.waterdata.usgs.gov/ogcapi/v0/collections/agency-codes/items).
'
explode: false
in: query
name: agency_code
required: false
schema:
description: 'The agency that is reporting the data. Agency codes are fixed values assigned by the National Water Information System (NWIS). A list of agency codes is available at [https://api.waterdata.usgs.gov/ogcapi/v0/collections/agency-codes/items](https://api.waterdata.usgs.gov/ogcapi/v0/collections/agency-codes/items).
'
title: Agency code
type: string
style: form
- 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
type: string
style: form
- description: 'Altitude of the monitoring location referenced to the specified Vertical Datum.
'
explode: false
in: query
name: altitude
required: false
schema:
description: 'Altitude of the monitoring location referenced to the specified Vertical Datum.
'
title: Altitude
type: number
style: form
- description: 'Accuracy of the altitude, in feet. An accuracy of +/- 0.1 foot would be entered as “.1”. Many altitudes are interpolated from the contours on topographic maps; accuracies determined in this way are generally entered as one-half of the contour interval.
'
explode: false
in: query
name: altitude_accuracy
required: false
schema:
description: 'Accuracy of the altitude, in feet. An accuracy of +/- 0.1 foot would be entered as “.1”. Many altitudes are interpolated from the contours on topographic maps; accuracies determined in this way are generally entered as one-half of the contour interval.
'
title: Altitude accuracy
type: number
style: form
- description: 'Codes representing the method used to measure altitude.
'
explode: false
in: query
name: altitude_method_code
required: false
schema:
description: 'Codes representing the method used to measure altitude.
'
title: Altitude method code
type: string
style: form
- description: 'The name of the method used to measure altitude.
'
explode: false
in: query
name: altitude_method_name
required: false
schema:
description: 'The name of the method used to measure altitude.
'
title: Altitude method name
type: string
style: form
- description: 'Local aquifers in the USGS water resources data base are identified by a geohydrologic unit code (a three-digit number related to the age of the formation, followed by a 4 or 5 character abbreviation for the geologic unit or aquifer name).
'
explode: false
in: query
name: aquifer_code
required: false
schema:
description: 'Local aquifers in the USGS water resources data base are identified by a geohydrologic unit code (a three-digit number related to the age of the formation, followed by a 4 or 5 character abbreviation for the geologic unit or aquifer name).
'
title: Aquifer code
type: string
style: form
- description: 'Describes the confinement status of an aquifer at the monitoring location. A confined aquifer is an aquifer below the land surface that is saturated with water. A water table--or unconfined--aquifer is an aquifer whose upper water surface (water table) is at atmospheric pressure, and thus is able to rise and fall.
'
explode: false
in: query
name: aquifer_type_code
required: false
schema:
description: 'Describes the confinement status of an aquifer at the monitoring location. A confined aquifer is an aquifer below the land surface that is saturated with water. A water table--or unconfined--aquifer is an aquifer whose upper water surface (water table) is at atmospheric pressure, and thus is able to rise and fall.
'
title: Aquifer type code
type: string
style: form
- description: 'The Basin Code or "drainage basin code" is a two-digit code that further subdivides the 8-digit hydrologic-unit code. The drainage basin code is defined by the USGS State Office where the monitoring location is located.
'
explode: false
in: query
name: basin_code
required: false
schema:
description: 'The Basin Code or "drainage basin code" is a two-digit code that further subdivides the 8-digit hydrologic-unit code. The drainage basin code is defined by the USGS State Office where the monitoring location is located.
'
title: Basin code
type: string
style: form
- description: 'Date the well was completed.
'
explode: false
in: query
name: construction_date
required: false
schema:
description: 'Date the well was completed.
'
title: Construction date
type: string
style: form
- description: 'The contributing drainage area of a lake, stream, wetland, or estuary monitoring location, in square miles. This item should be present only if the contributing area is different from the total drainage area. This situation can occur when part of the drainage area consists of very porous soil or depressions that either allow all runoff to enter the groundwater or traps the water in ponds so that rainfall does not contribute to runoff. A transbasin diversion can also affect the total drainage area.
'
explode: false
in: query
name: contributing_drainage_area
required: false
schema:
description: 'The contributing drainage area of a lake, stream, wetland, or estuary monitoring location, in square miles. This item should be present only if the contributing area is different from the total drainage area. This situation can occur when part of the drainage area consists of very porous soil or depressions that either allow all runoff to enter the groundwater or traps the water in ponds so that rainfall does not contribute to runoff. A transbasin diversion can also affect the total drainage area.
'
title: Contributing drainage area
type: number
style: form
- description: 'The code for the country in which the monitoring location is located.
'
explode: false
in: query
name: country_code
required: false
schema:
description: 'The code for the country in which the monitoring location is located.
'
title: Country code
type: string
style: form
- description: 'The name of the country in which the monitoring location is located.
'
explode: false
in: query
name: country_name
required: false
schema:
description: 'The name of the country in which the monitoring location is located.
'
title: Country name
type: string
style: form
- description: 'The code for the county or county equivalent (parish, borough, etc.) in which the monitoring location is located. A list of codes is available at [https://api.waterdata.usgs.gov/ogcapi/v0/collections/counties/items](https://api.waterdata.usgs.gov/ogcapi/v0/collections/counties/items).
'
explode: false
in: query
name: county_code
required: false
schema:
description: 'The code for the county or county equivalent (parish, borough, etc.) in which the monitoring location is located. A list of codes is available at [https://api.waterdata.usgs.gov/ogcapi/v0/collections/counties/items](https://api.waterdata.usgs.gov/ogcapi/v0/collections/counties/items).
'
title: County code
type: string
style: form
- description: 'The name of the county or county equivalent (parish, borough, etc.) in which the monitoring location is located. [A list of codes is available at [https://api.waterdata.usgs.gov/ogcapi/v0/collections/counties/items](https://api.waterdata.usgs.gov/ogcapi/v0/collections/counties/items).
'
explode: false
in: query
name: county_name
required: false
schema:
description: 'The name of the county or county equivalent (parish, borough, etc.) in which the monitoring location is located. [A list of codes is available at [https://api.waterdata.usgs.gov/ogcapi/v0/collections/counties/items](https://api.waterdata.usgs.gov/ogcapi/v0/collections/counties/items).
'
title: County name
type: string
style: form
- description: 'A code indicating the source of water-level data.
'
explode: false
in: query
name: depth_source_code
required: false
schema:
description: 'A code indicating the source of water-level data.
'
title: Depth source code
type: string
style: form
- description: 'The Water Science Centers (WSCs) across the United States use the FIPS state code as the district code. In some case, monitoring locations and samples may be managed by a water science center that is adjacent to the state in which the monitoring location actually resides. For example a monitoring location may have a district code of 30 which translates to Montana, but the state code could be 56 for Wyoming because that is where the monitoring location actually is located.
'
explode: false
in: query
name: district_code
required: false
schema:
description: 'The Water Science Centers (WSCs) across the United States use the FIPS state code as the district code. In some case, monitoring locations and samples may be managed by a water science center that is adjacent to the state in which the monitoring location actually resides. For example a monitoring location may have a district code of 30 which translates to Montana, but the state code could be 56 for Wyoming because that is where the monitoring location actually is located.
'
title: District code
type: string
style: form
- description: 'The area enclosed by a topographic divide from which direct surface runoff from precipitation normally drains by gravity into the stream above that point.
'
explode: false
in: query
name: drainage_area
required: false
schema:
description: 'The area enclosed by a topographic divide from which direct surface runoff from precipitation normally drains by gravity into the stream above that point.
'
# --- truncated at 32 KB (81 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/u-s-geological-survey/refs/heads/main/openapi/u-s-geological-survey-latest-field-measurements-api-openapi.yml