All data sources

AL Department of Environmental Management

No authal-adem

Alabama Department of Environmental Management permits + UST + brownfields + Justice40 + complaints via gis.adem.alabama.gov. 5 curated layers from ADEM's 110+ MapServer catalog. - searchPermits ⭐ 83.7K AEPACS records across 42 categories (NPDES, MS4, air, UIC, scrap tire, CAFO, ...) - searchUSTSites ⭐ 10.3K UST facilities (FIPS or name) - searchBrownfields ⭐ 776 ADEM brownfield events - searchComplaints ⭐ 13K public complaints (AIR/COASTAL/LAND/WATER) - searchJustice40Tracts (655) §0: AEPACS uses ESRI_OID + duplicate object_id. UST has FIPS-only county. Brownfields County has DeKalb/De Kalb. CRS 26916; outSR=4326.

Provenance

PublisherAL Department of Environmental Management

Freshness & coverage

FreshnessFreshness not declared
GeographicNot declared
TemporalNot declared
AuthenticationNo credentials required

Methods (6)

  • searchPermits

    read

    ADEM AEPACS permits (~83.7K). Filter status/permitCategory/permitType/facilityName/permittee/city.

    Input schema
    {
      "type": "object",
      "properties": {
        "permitNumber": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "permitCategory": {
          "type": "string",
          "examples": [
            "Stage 1 Air Permit"
          ]
        },
        "permitType": {
          "type": "string"
        },
        "facilityName": {
          "type": "string"
        },
        "permittee": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "bbox": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "near": {
          "type": "object",
          "properties": {
            "lat": {
              "type": "number"
            },
            "lon": {
              "type": "number"
            },
            "radiusMiles": {
              "type": "number"
            }
          },
          "required": [
            "lat",
            "lon",
            "radiusMiles"
          ],
          "additionalProperties": false
        },
        "limit": {
          "type": "number"
        },
        "format": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "records"
              ]
            },
            {
              "type": "string",
              "enum": [
                "geojson"
              ]
            }
          ]
        }
      },
      "additionalProperties": false
    }

    42 permit categories (NPDES, MS4, stormwater, air, UIC, CAFO, scrap tire, ...).

  • searchUSTSites

    read

    Alabama ADEM underground storage tank (UST) sites (~10.3K). Filter county, siteName, city.

    Input schema
    {
      "type": "object",
      "properties": {
        "county": {
          "type": "string",
          "examples": [
            "Mobile"
          ]
        },
        "siteName": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "accountNumber": {
          "type": "string"
        },
        "bbox": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "near": {
          "type": "object",
          "properties": {
            "lat": {
              "type": "number"
            },
            "lon": {
              "type": "number"
            },
            "radiusMiles": {
              "type": "number"
            }
          },
          "required": [
            "lat",
            "lon",
            "radiusMiles"
          ],
          "additionalProperties": false
        },
        "limit": {
          "type": "number"
        },
        "format": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "records"
              ]
            },
            {
              "type": "string",
              "enum": [
                "geojson"
              ]
            }
          ]
        }
      },
      "additionalProperties": false
    }

    Only FIPS column upstream — handler accepts county names and resolves via map.

  • searchBrownfields

    read

    ADEM Brownfield Events (~776). Filter county (handles DeKalb/De Kalb), siteName, city, owner.

    Input schema
    {
      "type": "object",
      "properties": {
        "county": {
          "type": "string",
          "examples": [
            "Mobile"
          ]
        },
        "siteName": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "bbox": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "near": {
          "type": "object",
          "properties": {
            "lat": {
              "type": "number"
            },
            "lon": {
              "type": "number"
            },
            "radiusMiles": {
              "type": "number"
            }
          },
          "required": [
            "lat",
            "lon",
            "radiusMiles"
          ],
          "additionalProperties": false
        },
        "limit": {
          "type": "number"
        },
        "format": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "records"
              ]
            },
            {
              "type": "string",
              "enum": [
                "geojson"
              ]
            }
          ]
        }
      },
      "additionalProperties": false
    }

    County column has casing/whitespace bugs — handler trims+uppercases.

  • searchComplaints

    read

    ADEM Public Complaints (~13K). Filter media (AIR/COASTAL/LAND/WATER), status (OPEN/CLOSED).

    Input schema
    {
      "type": "object",
      "properties": {
        "media": {
          "type": "string",
          "examples": [
            "WATER"
          ]
        },
        "status": {
          "type": "string",
          "examples": [
            "OPEN"
          ]
        },
        "complainant": {
          "type": "string"
        },
        "number": {
          "type": "string"
        },
        "bbox": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "near": {
          "type": "object",
          "properties": {
            "lat": {
              "type": "number"
            },
            "lon": {
              "type": "number"
            },
            "radiusMiles": {
              "type": "number"
            }
          },
          "required": [
            "lat",
            "lon",
            "radiusMiles"
          ],
          "additionalProperties": false
        },
        "limit": {
          "type": "number"
        },
        "format": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "records"
              ]
            },
            {
              "type": "string",
              "enum": [
                "geojson"
              ]
            }
          ]
        }
      },
      "additionalProperties": false
    }

    Media has exactly 4 UPPERCASE values; Status has exactly 2.

  • searchJustice40Tracts

    read

    AL Justice40 Disadvantaged Tracts (~655 polygons). Filter geoid, sf.

    Input schema
    {
      "type": "object",
      "properties": {
        "geoid": {
          "type": "string"
        },
        "sf": {
          "type": "string"
        },
        "bbox": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "near": {
          "type": "object",
          "properties": {
            "lat": {
              "type": "number"
            },
            "lon": {
              "type": "number"
            },
            "radiusMiles": {
              "type": "number"
            }
          },
          "required": [
            "lat",
            "lon",
            "radiusMiles"
          ],
          "additionalProperties": false
        },
        "limit": {
          "type": "number"
        },
        "format": {
          "type": "string",
          "examples": [
            "geojson"
          ],
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "records"
              ]
            },
            {
              "type": "string",
              "enum": [
                "geojson"
              ]
            }
          ]
        }
      },
      "additionalProperties": false
    }

    248 CEJST methodology fields available in `properties` for advanced use.

  • getServiceInfo

    read

    Schema, record counts, max-page caps, enum values, county FIPS map, §0 probe notes.

    Input schema
    {
      "type": "object",
      "properties": {
        "service": {
          "type": "string",
          "examples": [
            "permits"
          ]
        }
      },
      "additionalProperties": false
    }