US Department of Defense Catalog API

Data catalog and discovery

Operations 6

GET /timeseries/catalog Get Time Series Catalog #
GET /locations/catalog Get Location Catalog #
GET /parameters Get Parameters #
GET /units Get Units #
GET /states Get States #
GET /counties Get Counties #

Work with this as data

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/us-department-of-defense-catalog-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 Specification

us-department-of-defense-catalog-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: USACE Corps Water Management System Data Catalog API
  description: The Corps Water Management System Data API (CDA) is a REST service providing programmatic access to USACE water management data. It supports retrieval of time series measurements, monitoring locations, rating curves, reservoir pool levels, lock data, and operational information across Army Corps of Engineers projects. Public data is accessible without authentication; write operations require an API key.
  version: latest
  contact:
    url: https://cwms-data.usace.army.mil/cwms-data/
  license:
    name: US Government Work
    url: https://www.usa.gov/government-works
servers:
- url: https://cwms-data.usace.army.mil/cwms-data/api/latest
  description: National CWMS Data API Production Server
- url: https://water.usace.army.mil/cwms-data/api/latest
  description: USACE Water Data Production Server
tags:
- name: Catalog
  description: Data catalog and discovery
paths:
  /timeseries/catalog:
    get:
      operationId: getTimeSeriesCatalog
      summary: Get Time Series Catalog
      description: Returns a catalog of available time series identifiers.
      tags:
      - Catalog
      parameters:
      - name: office
        in: query
        description: Filter by USACE district office ID
        required: false
        schema:
          type: string
      - name: timeseries-id-regex
        in: query
        description: Regular expression pattern to filter time series IDs
        required: false
        schema:
          type: string
      - name: cursor
        in: query
        description: Pagination cursor from previous response
        required: false
        schema:
          type: string
      - name: page-size
        in: query
        description: Number of entries per page
        required: false
        schema:
          type: integer
          default: 100
      responses:
        '200':
          description: Time series catalog entries
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeSeriesCatalogResponse'
  /locations/catalog:
    get:
      operationId: getLocationCatalog
      summary: Get Location Catalog
      description: Returns a searchable catalog of all available CWMS locations.
      tags:
      - Catalog
      parameters:
      - name: office
        in: query
        description: Filter by USACE district office ID
        required: false
        schema:
          type: string
      - name: cursor
        in: query
        description: Pagination cursor
        required: false
        schema:
          type: string
      - name: page-size
        in: query
        description: Number of entries per page
        required: false
        schema:
          type: integer
          default: 100
      responses:
        '200':
          description: Location catalog entries
          content:
            application/json:
              schema:
                type: object
  /parameters:
    get:
      operationId: getParameters
      summary: Get Parameters
      description: Returns the list of CWMS parameters available for time series and location level queries (e.g., Stage, Flow, Elev, Temp-Water).
      tags:
      - Catalog
      responses:
        '200':
          description: List of available CWMS parameters
          content:
            application/json:
              schema:
                type: object
  /units:
    get:
      operationId: getUnits
      summary: Get Units
      description: Returns the list of measurement units available in the CWMS system.
      tags:
      - Catalog
      responses:
        '200':
          description: List of available units
          content:
            application/json:
              schema:
                type: object
  /states:
    get:
      operationId: getStates
      summary: Get States
      description: Returns the list of US states recognized in the CWMS system.
      tags:
      - Catalog
      responses:
        '200':
          description: List of states
          content:
            application/json:
              schema:
                type: object
  /counties:
    get:
      operationId: getCounties
      summary: Get Counties
      description: Returns the list of US counties with CWMS location data.
      tags:
      - Catalog
      responses:
        '200':
          description: List of counties
          content:
            application/json:
              schema:
                type: object
components:
  schemas:
    TimeSeriesCatalogResponse:
      type: object
      properties:
        page:
          type: string
        next-page:
          type: string
        total:
          type: integer
        entries:
          type: array
          items:
            type: object
            properties:
              office:
                type: string
              name:
                type: string
              units:
                type: string
              interval:
                type: string
              interval-offset:
                type: integer