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, at a fraction of what you’re paying now.

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": "state_dataset"
}

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 a lot boundary is available, 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 category

Each response surfaces a neutral source category (federal_dataset, state_dataset, county_treasurer, licensed_provider) on every row — no proprietary 'risk score' middleman.

Ready to switch off the legacy provider?

Tell us your volume and use case. Sandbox key within 24 hours.