v1 · Live in production

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.

json · /v1/parcel
// 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.

shell
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.

json · direct_charges[]
{
  "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.

Los AngelesOrangeSan DiegoRiversideSan BernardinoSonomaContra CostaFresnoSacramentoSanta ClaraSan FranciscoAlamedaVenturaStanislausTulareYoloNapaSan JoaquinButteColusaDel NorteEl DoradoGlennHumboldtImperialLakeMaderaMercedModocMonoMontereyNevadaPlacerPlumasSan BenitoShastaSiskiyouTehamaTrinityTuolumneYubaMariposaAlpineSanta BarbaraSan Luis ObispoMarinSan MateoKernKingsLassenSierraInyoSolanoSanta CruzMendocinoCalaverasAmadorSutter
Full SLA · productionProduction · expanding fieldsOn roadmap
See full coverage matrix →

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.

Pilot

$10,000

1,000 credits

List rate

Compare plans

Starter

$45,000

5,000 credits

10% off list

Compare plans
Most popular

Growth

$85,000

10,000 credits

15% off list

Compare plans

Scale

$200,000

25,000 credits

20% off list

Compare plans

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.