California hazard + tax data, in one API call.
FEMA flood, CAL FIRE FHSZ, CGS earthquake, tsunami, dam inundation, CalGEM wells, plus decoded Mello-Roos, 1915, and PACE. Every California parcel. Sub-300ms cold.
Sandbox key in 24 hours · No credit card for evaluation
curl -X POST https://nhddata.com/api/v1/parcel \
-H "X-API-Key: tl_live_xxxxxxxxxxxx" \
-d '{ "apn": "4286-022-011", "county_fips": "06037" }'Built on the same authoritative datasets as every other CA NHD provider
- FEMA NFHLFlood
- CAL FIRE FRAPFire
- CGSEarthquake
- DWR DSODDam
- CalGEMOil & gas
- CDIACBond debt
58/58
California counties
8
statewide hazard layers
5,500+
agency fund codes
~200ms
p50 cold response
Why teams switch
One endpoint. Everything you need to underwrite a California parcel.
Three legacy integrations collapsed into a single deterministic JSON. Cache hits don't consume credits. Polygon-mode hazard determinations by default.
Parcel polygon, not just centroid
Disclosure-grade hazard determinations.
California Civil Code §1103.2 requires disclosure when the parcel is located in a hazard zone — meaning the lot polygon, not the rooftop. NHDdata runs ST_Intersects against the parcel boundary and returns pct_overlap (0–1) for every layer that supports it. A legacy centroid-only lookup silently under-discloses on larger lots.
// every layer, every parcel
{
"layer": "calfire_fhsz",
"inside_centroid": true,
"parcel_intersects": true,
"pct_overlap": 1.0,
"severity": "very_high",
"source": "CAL FIRE FRAP"
}One envelope. Zero plumbing.
Drop-in replacement for legacy NHD + Tax integrations.
If you currently glue together a JCP NHD PDF, a CTD Tax Summary JSON, and a CDIAC bond-payoff lookup, our /v1/parcel envelope collapses all three into a single deterministic JSON. Cache hits are free. No SOAP, no SFTP, no per-county CSV exports.
curl -X POST https://nhddata.com/api/v1/parcel \
-H "X-API-Key: tl_live_xxxxxxxxxxxx" \
-d '{ "apn": "4286-022-011", "county_fips": "06037" }'Decoded direct charges
Mello-Roos, 1915 Act, PACE — labelled and dated.
Every direct charge on every California tax bill, classified by kind (CFD / 1915 / PACE / other) and enriched with CDIAC bond-payoff year and CFD master id. A 5,500-row agency-code dictionary backs the classifier — built and tuned per county from the actual published auditor data.
{
"name": "SANTA MARGARITA WTR DIST CFD 2013-1",
"agency_code": "0734",
"amount": 1814.35,
"kind": "cfd",
"bond_payoff_year": 2042,
"cfd_id": "2013-0234"
}Coverage
58 of 58 California counties.
Every California parcel responds. ~85% of transactions resolve at full SLA today, with the remaining long-tail counties on a published roadmap.
Pricing
Prepaid credits. No invoices, no Net 30.
$10 per /v1/parcel (NHD + Tax bundled). $5 per singleton call. Cache hits free. Balances never expire. Legacy providers list at $25–$35 per California report — a 60–70% undercut.
Annual commits and NET 0 invoicing available at Scale tier · Pricing details →
Disclosure semantics
Polygon mode by default. Centroid as documented fallback.
Every response surfaces inside_centroid, parcel_intersects, and pct_overlap — plus a top-level resolved_geom telling you which mode ran. When a parcel boundary isn't available upstream, we fall back to centroid and flag the degradation explicitly. No silent under-disclosure.
Polygon
ST_Intersects on the parcel polygon
When ATTOM returns a lot boundary, we run point-in-polygon against the boundary itself. pct_overlap is populated. parcel_intersects is the disclosure-defensible flag.
Centroid fallback
resolved_geom: 'centroid'
When no boundary is available, we degrade to rooftop centroid point-in-polygon. Adequate for parcels under ~0.5 acre; the response flags the fallback in plain text.
Audit trail
Every hazard cites its source
FEMA NFHL, CAL FIRE FRAP, CGS, DWR DSOD, CalGEM WellSTAR. The source string is part of every response object — no proprietary 'risk score' middleman.
Ready to switch off the legacy provider?
Tell us your volume and use case. Sandbox key within 24 hours.