Get the permit requirements for a site
get_requirementsThe requirements for a site: inspection frequency, stabilisation deadlines, Notice of Intent and Notice of Termination deadlines, corrective-action windows, record retention and buffer rules, each citing the permit section it came from. Same engine and same parser as determine_permit, projected down. The coverage verdict, the eligibility screens and the notices come with it, because a requirement list detached from whether coverage is triggered at all is a half-answer. An empty requirements array with a notice means we have not read that jurisdiction's permit, NOT that nothing is required. Free, no API key needed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| acres | No | Alias for disturbedAcres. | |
| state | Yes | Two-letter state, territory or DC code, e.g. "CA". | |
| endDate | No | ISO yyyy-mm-dd. Recorded on the determination. | |
| activity | Yes | Required. Construction and industrial sites are governed by different permits and neither is assumed. "industrial" returns coverage "verify": EPA's Multi-Sector General Permit expired on 28 February 2026 and new operators cannot currently obtain coverage. | |
| startDate | No | ISO yyyy-mm-dd. Recorded on the determination. | |
| sectorCode | No | MSGP industrial sector code. Industrial sites only. | |
| aridClimate | No | Arid, semi-arid or drought-stricken area, which may allow a reduced inspection frequency during the seasonally dry period. | |
| onTribalLand | No | EPA retains NPDES authority in Indian country even inside a state that runs its own programme. | |
| disturbedAcres | No | TOTAL acres the project will disturb over its life. This is what the 1-acre coverage threshold is measured against. `acres` is accepted as an alias. | |
| federalFacility | No | EPA's permit covers federal facilities in some delegated states. | |
| partOfLargerPlan | No | Whether the project is part of a larger common plan of development or sale. Defaults to false. Send it explicitly: a half-acre lot inside a 40-acre subdivision IS covered, and this is the most commonly missed trigger in the permit. | |
| dischargesToTier2Water | No | Discharges to a Tier 2, 2.5 or 3 water. Same tri-state handling as dischargesToImpairedWater. | |
| dischargesToImpairedWater | No | Discharges to a sediment or nutrient impaired water. OMIT IT if you do not know: it is never assumed false, and the determination reports the answer as unknown instead. It changes both the inspection frequency and the stabilisation deadline. | |
| maxDisturbedAcresAtOneTime | No | Greatest acreage disturbed AT ANY ONE TIME. A different quantity from disturbedAcres, and the one the stabilisation deadline actually turns on (2022 CGP Table 2): a project over five acres in total still gets the longer 14-day deadline if it phases the work so no more than five acres are open at once. OMIT IT if you do not know, and the determination assumes an unphased site and says so, rather than asserting phasing it was not told about. |