---
title: "Query normalized EPA ECHO ICIS-NPDES outfall rows"
method: GET
path: "/api/v1/data/environmental/epa-echo/npdes-outfalls"
tags: ["Permit and zoning data"]
---

# Query normalized EPA ECHO ICIS-NPDES outfall rows

`GET /api/v1/data/environmental/epa-echo/npdes-outfalls`

## Request

- Base URL: `https://worldcastr.com`
- URL: `https://worldcastr.com/api/v1/data/environmental/epa-echo/npdes-outfalls`
- Auth: none declared

Returns R2-backed EPA ECHO ICIS-NPDES outfall, facility, permit-status, permit-component, waterbody, coordinate, and current-compliance context rows. This endpoint is public context, not an autonomous settlement oracle until refresh, checksum, revision-window, limits, effluent violations, detailed enforcement-action, and resolver policies are published.

## Query parameters

- `state` string
- `permit_id` string
- `status` string
- `component` string
- `current_violation` boolean
- `cwa_status` string
- `with_coordinates` boolean
- `limit` integer
- `summary` boolean

## Response `200`

EPA ECHO ICIS-NPDES outfalls response.

- EpaEchoNpdesOutfallResponse
  - `schema_id` string, required
  - `asset_id` string, required
  - `source_id` string, required
  - `data_snapshot_id` string, required
  - `record_count` integer, required
  - `filters` object, required
  - `manifest` EpaEchoNpdesOutfallManifestSummary, required
    - `schema_id` string, required
    - `generated_at` string, date-time, required
    - `run_id` string, required
    - `source_id` string, required
    - `source_official_url` string, uri, required
    - `source_page_url` string, uri, required
    - `source_snapshot_id` string, required
    - `source_uri` string, required
    - `normalized_prefix_uri` string, required
    - `source_compressed_bytes` integer, required
    - `record_count` integer, required
    - `partition_count` integer, required
    - `partition_bytes` integer, required
    - `chunk_size` integer, required
    - `state_counts` object, required
    - `permit_status_code_counts` object, required
    - `permit_status_desc_counts` object, required
    - `permit_type_desc_counts` object, required
    - `component_counts` object, required
    - `current_violation_counts` object, required
    - `cwa_status_counts` object, required
    - `major_minor_counts` object, required
    - `query_policy` object, required
    - `settlement_policy` object, required
  - `partitions` EpaEchoNpdesOutfallPartition[], required
    - `state_code` string, required
    - `permit_status_code` string, required
    - `key` string, required
    - `public_path` string, required
    - `public_url` string, uri
    - `record_count` integer, required
    - `bytes` integer, required
    - `uncompressed_bytes` integer
    - `content_encoding` string
  - `records` EpaEchoNpdesOutfallRecord[], required
    - `schema_id` string, required
    - `record_id` string, required
    - `source_id` string, required
    - `source_record_id` string, required
    - `source_snapshot_id` string, required
    - `source_uri` string, required
    - `source_official_url` string, uri, required
    - `source_page_url` string, uri, required
    - `normalization_version` string, required
    - `facility` object, required
      - `name` string, nullable
      - `location_address` string, nullable
      - `city` string, nullable
      - `state_code` string, nullable
      - `zip` string, nullable
      - `county_name` string, nullable
      - `facility_type_code` string, nullable
      - `facility_type_desc` string, nullable
      - `federal_agency_name` string, nullable
      - `indian_spatial_flag` boolean, nullable
      - `derived_tribes` string[]
    - `permit` object, required
      - `external_permit_number` string, nullable
      - `permit_name` string, nullable
      - `permit_type_code` string, nullable
      - `permit_type_desc` string, nullable
      - `permit_status_code` string, nullable
      - `permit_status_desc` string, nullable
      - `permit_components` string[]
      - `effective_date` string, nullable
      - `expiration_date` string, nullable
      - `termination_date` string, nullable
      - `major_minor_flag` string, nullable
      - `total_design_flow_mgd` number, nullable
    - `compliance` object, required
      - `current_snc_status` string, nullable
      - `current_violation` boolean, nullable
      - `cwa_current_status` string, nullable
      - `date_last_inspection` string, nullable
      - `date_last_formal_enforcement_action` string, nullable
      - `dmr_pounds` number, nullable
      - `limit_pollutant` string, nullable
    - `industry` object, required
      - `sic_codes` string[]
      - `sic_descriptions` string[]
      - `naics_codes` string[]
    - `outfall` object, required
      - `permit_feature_number` string, nullable
      - `state_water_body_name` string, nullable
      - `subtype_desc` string, nullable
      - `latlong_type` string, nullable
    - `location` object, required
      - `latitude` number, nullable
      - `longitude` number, nullable
    - `quality_flags` string[], required
    - `published_at` string, date-time, required
  - `access` DataAccessSummary, required
    - `visibility` 'public' | 'metadata_only' | 'restricted' | 'unavailable', required
    - `support_level` string, required
    - `sensitivity` string, required
    - `training_eligibility` 'benchmark_only' | 'consumer_feed' | 'training_candidate' | 'holdback', required
    - `license_status` string, required
  - `_links` object, required

## Other responses

- `400`: Invalid query parameters.

---

[API](https://skmtc.dev/worldcastr/apis/worldcastr-api.md) · [All operations](https://skmtc.dev/worldcastr/apis/worldcastr-api/llms.txt) · [OpenAPI document](https://skmtc.dev/worldcastr/apis/worldcastr-api/revisions/2cf1606dc8e1?raw)
