Stormwater Compliance API
The AUE Land Compliance Checker API provides free, structured access to stormwater regulatory data for 31 counties across South Carolina, Georgia, North Carolina, Florida, and Michigan, plus state-level rules for every other county the checker covers. Developers and researchers can query available states, county coverage, and health status without authentication.
Getting Started
All public endpoints are available at the base URL below. No API key or authentication is required for read-only endpoints.
Base URL
https://aue-land-compliance-checker.onrender.com Try it out with a quick curl command:
curl https://aue-land-compliance-checker.onrender.com/api/states Endpoints
/api/states Returns a list of all states with regulatory data in the system.
Parameters
None.
Example Request
curl https://aue-land-compliance-checker.onrender.com/api/states Example Response
{
"states": [
"FL",
"GA",
"MI",
"NC",
"SC"
]
} /api/states/{state}/counties
Returns the counties with county-specific regulatory data for a given state. For every county the checker covers, including those that use state rules only, see /api/coverage.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| state | string | Two-letter state abbreviation: SC, GA, FL, NC, or MI |
Example Request
curl https://aue-land-compliance-checker.onrender.com/api/states/SC/counties Example Response
{
"state": "SC",
"counties": [
"Beaufort",
"Berkeley",
"Charleston",
"Colleton",
"Dorchester",
"Georgetown",
"Greenville",
"Horry",
"Jasper",
"Lexington",
"Richland"
]
} /api/coverage
Returns every county the Compliance Checker accepts, grouped by state. Public, no authentication. Each county carries a level: county means county-specific rules are on file, and state means the report is built from state rules only. States are sorted by name. Within a state, county-level entries come first, then state-level entries, each group sorted by name.
Parameters
None.
Example Request
curl https://aue-land-compliance-checker.onrender.com/api/coverage Example Response (abbreviated)
{
"states": [
{
"code": "MI",
"name": "Michigan",
"last_updated": "2026-10-11",
"counties": [
{
"name": "Grand Traverse",
"level": "county"
},
{
"name": "Alcona",
"level": "state"
}
]
}
]
} /health
Returns the API's health status and whether the services it depends on are configured. Useful for monitoring uptime or verifying connectivity before making other requests. For the list of supported states, use /api/states.
Parameters
None.
Example Request
curl https://aue-land-compliance-checker.onrender.com/health Example Response
{
"status": "ok",
"service": "aue-land-api",
"anthropic_key_set": true,
"turnstile_key_set": true,
"resend_key_set": true
} /api/check Generates a full stormwater compliance report for a specific county. This endpoint requires a valid Cloudflare Turnstile CAPTCHA token, so it cannot be called programmatically without browser-based verification.
Note: For programmatic access to regulatory data, use the county regulatory pages or the MCP server described below. The /api/check endpoint is designed for interactive use through the Compliance Checker on this website.
Every response includes "coverage_level": "county" | "state", which tells you whether the report used county-specific rules or state rules only. A county that is not listed in /api/coverage returns a 400 error.
Rate Limit
25 reports per day, shared across all visitors. The count resets at midnight UTC.
Rate Limits
The public GET endpoints (/api/states, /api/states/{state}/counties, /api/coverage, /health) have no strict rate limits, but please be respectful. The compliance report endpoint has a hard limit:
| Endpoint | Limit | Auth Required |
|---|---|---|
| GET /api/states | None | No |
| GET /api/states/{state}/counties | None | No |
| GET /api/coverage | None | No |
| GET /health | None | No |
| POST /api/check | 25/day, shared | CAPTCHA token |
Data Coverage
The API has county-specific data for 31 counties across five states. Every other county the checker covers (234 more) gets a report built from state rules only, and the report says so. Every county record carries its MS4 status and municipalities. Most also carry the stormwater ordinance, stormwater utility, inspection requirements, and penalties, and some list the responsible departments. A record holds only what the county has published.
| State | Code | Counties | Count |
|---|---|---|---|
| Florida | FL | Duval, Marion, Nassau, Orange, St. Johns, Volusia | 6 |
| Georgia | GA | Bryan, Camden, Chatham, Glynn, Liberty, McIntosh, Richmond | 7 |
| Michigan | MI | Grand Traverse, Ingham, Kent | 3 |
| North Carolina | NC | Brunswick, Mecklenburg, New Hanover, Pender | 4 |
| South Carolina | SC | Beaufort, Berkeley, Charleston, Colleton, Dorchester, Georgetown, Greenville, Horry, Jasper, Lexington, Richland | 11 |
For detailed regulatory data by county, visit the county regulations pages.
MCP Server
For AI assistant integration, AUE Land provides a Model Context Protocol (MCP) server. The MCP server gives AI tools like Claude, ChatGPT, and other LLM-based assistants direct access to the stormwater regulatory database, enabling them to answer questions about permits, BMP requirements, and local ordinances with up-to-date data.
If you're building an AI-powered tool that needs stormwater compliance data, the MCP server is the recommended integration path. Contact us at info@aueland.com for access details.
Data Freshness
Regulatory data is updated through an automated monthly monitoring pipeline that runs on the 1st of each month. The pipeline checks for permit reissuances, fee changes, ordinance amendments, URL validity, and agency updates across every county on file. Changes are applied automatically and deployed without manual intervention.
This means the data you receive from the API reflects the most current regulatory landscape, typically no more than 30 days behind any published change. For a log of recent updates, see the regulatory changelog.
Attribution
This API is free to use. If you incorporate the data into a publication, application, or research project, we ask that you credit AUE Land as the data source. A simple attribution like the following is appreciated:
Stormwater regulatory data provided by AUE Land (aueland.com) Questions or feedback? Reach out at info@aueland.com.
Need a compliance report for your property?
Run a free stormwater compliance check for any county the checker covers. Get permit requirements, local ordinances, and BMP specifications in minutes.
fact_check Site Health Audit
No obligation to hire AUE Land for any service work.