The impact fee API

Every fee America charges to build.

Development impact fees, system development charges and impact taxes — collected from each jurisdiction's own published schedule, at the grain it prints: fee × land use × service area × unit × effective date. Nothing estimated, nothing blended.

9,458fee lines
58jurisdictions
16states
100%source-linked
GET/v1/fees/schedules
$ curl -H "Authorization: Bearer $KEY" \
  "https://levy.thrain.ai/v1/fees/schedules?state=FL
   &land_use_class=single_family&fee_category=schools
   &as_of=2026-08-24"

{
  "jurisdiction_name": "Lee County",
  "fee_name": "School Impact Fee",
  "land_use_label": "Single Family Residence (Detached)",
  "unit": "per_dwelling_unit",
  "amount": 2879,
  "amount_raw": "$2,879",
  "notes": "collected at 52.5% of adopted base fee",
  "effective_start": "2018-06-04",
  "source_url": "leegov.com/dcd/fees/impactfeeschedule"
}
A real response. The amount is the printed figure, the note is the county's own collection rule, and the source link is on the row.

Documents in, data out. Nothing invented in between.

The incumbent survey last ran in 2019 as a PDF. Everyone else publishes estimates. This is the schedule itself, kept current.

Verbatim

The printed amount, verified

Every amount ships beside amount_raw — the exact token from the page — and an extractor gate drops any figure that doesn't appear verbatim in the source text. Zeros are real published zeros. Formula-only lines say so instead of guessing.

Provenance

Source on every line

Each row carries source_url and source_page — the .gov document and page it was read from. Ceilings are tagged max_assessable, county fees collected by a city carry their levying_entity.

Time-aware

Ask for any date

Schedules phase in, restate and expire. as_of=2026-08-24 returns exactly the lines in force that day — stated windows applied, later restatements winning — the same rule the free explorer uses.

Four endpoints. One key.

Read-only REST, JSON out, quota in the headers. Filter by state, GEOID, category, land-use class, unit, amount kind, service area, amount and date bounds.

GET /v1/fees/schedulesfee lines, filterable
GET /v1/fees/schedules/{key}one line
GET /v1/fees/jurisdictionsper-jurisdiction rollup
GET /v1/fees/statsdataset totals

Full parameter reference in the docs.

Or just look it up.

The explorer is free: pick a city or county, get its whole published schedule as of any date, run a quick quote for one permit, download the CSV. Every line links its source page.

Open the explorer
FeeLand useAmountSource
School Impact FeeSingle Family (Detached)$2,879leegov.com · p.1
Multimodal TransportationSF 1,301–1,700 sq ft$6,168mymanatee.org · p.1
Roadway Impact Fee maxWarehousing$1,159midlandtexas.gov · p.1
Parks SDCSingle family$10,479happyvalleyor.gov · p.1
Fire Impact FeeResidential, per unit$549.16herriman.gov · p.6

Coverage that compounds.

A nationwide discovery pipeline scouted every sizeable permitting jurisdiction in the country under its robots rules; schedules are added continuously, largest permit volumes first. Missing one you need? It moves to the front of the queue.

Pricing

The data is browsable free, forever. The API sells convenience: filters, stability, quota and support.

Explorer

$0
free, no account
  • Every jurisdiction, every line, current
  • As-of date, quick quote, source links
  • Per-jurisdiction CSV download
Open the explorer

API — private beta

Talk to us
keys issued by hand while in beta
  • All four endpoints, every filter, as_of
  • 10,000 requests/day, quota in headers
  • Current data + source URLs on every tier
  • Bulk exports on request
Request a key

Get access

Leave an email and a line about what you're building — land teams, home builders, lenders, analysts. Keys go out by hand while the API is in beta, usually same-day.

Amounts are each jurisdiction's published figures; confirm with the jurisdiction before relying on one for a permit. We never publish estimates.