CalFire Fire Hazard Severity Zone (FHSZ) Screener — CA Parcels avatar

CalFire Fire Hazard Severity Zone (FHSZ) Screener — CA Parcels

Pricing

from $4.40 / 1,000 results

Go to Apify Store
CalFire Fire Hazard Severity Zone (FHSZ) Screener — CA Parcels

CalFire Fire Hazard Severity Zone (FHSZ) Screener — CA Parcels

California Fire Hazard Severity Zone lookup against CalFire's currently adopted maps (SRA effective 2024-04-01, LRA dated 2025-03-24). Point-in-polygon per coordinate: hazard class, SRA/LRA/federal area, NHD disclosure flags, and a flag where the superseded 2007/2011 maps disagree.

Pricing

from $4.40 / 1,000 results

Rating

0.0

(0)

Developer

Kyle Maloney

Kyle Maloney

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

CalFire Fire Hazard Severity Zone (FHSZ) Screener - CA Parcels

Batch point-in-polygon screening of California coordinates against CAL FIRE's currently adopted Fire Hazard Severity Zone maps - the SRA map dated 2023-09-29 (adopted 2024-01-31, effective 2024-04-01) and the LRA map dated 2025-03-24 - plus a cross-check against the superseded 2007/2011 layers so you can see exactly where the old maps and the operative maps disagree.

Answers, per property: is this parcel in a fire hazard severity zone, which class (Moderate / High / Very High), which jurisdiction (SRA / LRA / federal), and which California Natural Hazard Disclosure boxes are triggered.

What changed in v1.1 (please read if you used v1.0)

v1.0 screened only services.gis.ca.gov/.../Fire_Severity_Zones/MapServer. That service is the superseded vintage - its own layer names say "State Responsibility Areas (2007)" and "Local Responsibility Areas (2011)", and the 2011 layer describes itself as a draft. Measured live on 2026-08-01, against centroids of adopted Very High polygons that were re-verified by point-in-polygon before use:

  • 52 of 133 adopted LRA "Very High" points (39.1%) were reported by the old service as clear on all four layers - so v1.0 emitted a billable row reading in_fhsz: false, disclosure_required: false, clear_flag: true on parcels the adopted map classifies Very High. Truckee CA (39.3280, -120.1833) is a reproducible instance.
  • 36 of 142 adopted SRA "Very High" points (25.4%) came back at a lower class. Riverside / Woodcrest (33.8600, -117.3900): old map "Moderate", adopted map "Very High".

v1.1 makes the adopted maps authoritative for the headline determination. No field was removed or renamed; every v1.0 answer is preserved verbatim in a parallel *_legacy namespace, and legacy_disagrees_with_current plus legacy_disagreement_detail tell you on every row whether the two map sets differ. Price is unchanged.

Who it's for

  • CA real-estate agents & brokers - every California residential transfer needs a Natural Hazard Disclosure statement; nhd_sra_disclosure and nhd_vhfhsz_disclosure answer the two fire boxes per parcel or per portfolio.
  • NHD report firms & title companies - pre-screen or cross-check before ordering.
  • Insurance underwriters - screen a California book for FHSZ exposure at renewal.
  • Home inspectors, appraisers, land developers & lenders - defensible_space_prc4291 and wui_chapter_7a_building_standards flag the construction/maintenance consequences.

What it does

  1. Runs live drift assertions before a single billable row exists: the superseded MapServer's four layers must still resolve by name (never by silently falling back to a hardcoded index); each adopted layer must still carry its expected name, polygon geometry and a feature count inside a band (SRA 18,423 / LRA 9,752 as of 2026-08-01); the class vocabulary must be fully decodable and still contain "Very High"; Oakland Hills must still return SRA Very High and Paradise LRA Very High; downtown Sacramento must stay clear on the SRA map while the LRA map still answers it. Any fatal failure ends the run with zero rows and zero billing.
  2. Point-in-polygon query per coordinate against both adopted maps and all four legacy layers, with outSR=4326 and a geometry check that verifies WGS84 by declared spatial reference, coordinate magnitude and each feature's own extent.
  3. If the coordinate is clear of every hazard polygon, an optional radius search for the nearest mapped zone, paged explicitly and reconciled against the service's own exact record count (returnCountOnly) so truncation cannot pass silently.
  4. Classifies: verdict, in_hazard_severity_zone, hazard_class_current, responsibility_area_current, and the two statutory disclosure flags - with a written disclosure_basis audit trail naming what each map returned and the rule applied.

Failure behaviour (what "no result" means)

  • Every source records its own outcome on every row (sra23_status, lra25_status, legacy_*_status, sources_ok_count, sources_failed, partial_result).
  • null means not checked; false means checked and negative. A source that did not answer can never produce a confident negative - the row reads verdict: indeterminate and the note says so explicitly.
  • A positive finding is trusted from any source that answered; a negative requires every contributing source to have answered.
  • If every asset fails, the run fails and bills nothing rather than selling one error row per asset. The gate runs before pushData, not after.
  • Missing assets is rejected by the input schema (HTTP 400, before the run starts).

Example input

{
"assets": [
{ "lat": 37.8555, "lon": -122.2100, "label": "Oakland Hills CA - SRA Very High" },
{ "lat": 39.7596, "lon": -121.6219, "label": "Paradise CA - LRA Very High" },
{ "lat": 39.3280, "lon": -120.1833, "label": "Truckee CA - Very High only on the 2025 adopted map" },
{ "lat": 38.5820, "lon": -121.4940, "label": "Downtown Sacramento CA - clear control" }
],
"checkNearby": true,
"nearbyRadiusMiles": 0.5
}

Output fields (one row per screened asset - all 74 fields)

Every field below is nullable. A null means not checked; false means checked and negative.

FieldTypeDescription
asset_labelstring / nullCaller-supplied label for the screened site.
asset_latnumber / nullWGS84 latitude of the screened site.
asset_lonnumber / nullWGS84 longitude of the screened site.
in_fhszboolean / nullTRUE if the coordinate falls inside one or more mapped CAL FIRE Fire Hazard Severity Zone polygons (SRA, LRA, pending, or federal). Null on error rows.
hazard_classstring / nullHazard class of the primary matched zone: Moderate, High, or Very High. Null if no hit or the class attribute could not be resolved.
responsibility_areastring / nullFire responsibility jurisdiction of the primary matched zone: SRA (State Responsibility Area), LRA (Local Responsibility Area), or Federal.
zone_statusstring / null'adopted' for a formally adopted SRA/LRA/federal FHSZ zone, or 'pending' for a CAL FIRE-recommended zone not yet locally adopted. Null if no hit.
disclosure_requiredboolean / nullTRUE when the site falls within an adopted SRA zone of any hazard class, or an adopted LRA Very High zone — the California Natural Hazard Disclosure trigger under Civ. Code Section 1103.7 / Gov. Code Section 51178. FALSE for pending/federal-only hits or a clear site. Null on error rows.
layers_matchedstring / nullSemicolon-separated list of every FHSZ layer whose polygon contains this exact coordinate (can be more than one where zones overlap).
nearby_zone_within_radiusboolean / nullTRUE if the exact coordinate is clear but a mapped FHSZ falls within the search radius (near-boundary flag). Always false when in_fhsz is true.
nearby_hazard_classstring / nullHazard class of the nearest zone found within the search radius when the exact coordinate itself is clear.
nearby_distance_milesnumber / nullApproximate distance in miles (nearest-polygon-vertex proxy) to the nearest mapped zone when the exact coordinate itself is clear.
layer_sourcestring / nullMapServer query URL for the layer of the primary hit (or the base service URL when no hit).
clear_flagboolean / nullTRUE if the site is outside every mapped FHSZ layer and outside the nearby search radius (or outside California coverage entirely). Null on error rows.
notestring / nullPlain-English summary of the result for this asset, including the disclosure-law citation when applicable.
errorstring / nullPer-asset error message (invalid coordinate or query failure); null when OK.
disclaimerstring / nullInformational-screen / not-a-substitute-for-an-NHD-report note.
source_urlstring / nullCAL FIRE FHSZ MapServer used.
checked_atstring / nullISO 8601 timestamp of the run.
determination_sourcestring / nullWhich map set produced the headline determination: "adopted-2023-2025" (both currently adopted CAL FIRE maps answered), "adopted-partial" (only one answered) or "legacy-only" (neither adopted map answered).
current_map_vintagestring / nullVintage of the currently adopted CAL FIRE maps this actor screens against.
in_hazard_severity_zoneboolean / nullTRUE when the coordinate falls inside a Moderate, High or Very High polygon on a CURRENTLY ADOPTED CAL FIRE map. Excludes LRA NonWildland polygons (mapped, but explicitly not hazard zones) and federal responsibility-area polygons (no hazard class). NULL when an adopted map did not answer.
hazard_class_currentstring / nullHazard class from the currently adopted maps: Moderate, High, Very High, or NonWildland. NULL when no adopted polygon covers the coordinate or the source did not answer.
hazard_class_code_currentnumber / nullCAL FIRE numeric FHSZ code behind hazard_class_current: 1 Moderate, 2 High, 3 Very High, -3 NonWildland.
responsibility_area_currentstring / nullSRA or LRA, from whichever currently adopted map produced the primary hit.
sra_fhsz_classstring / nullHazard class from the adopted State Responsibility Area map (dated 2023-09-29, effective 2024-04-01). NULL if the coordinate is not in SRA.
lra_fhsz_classstring / nullHazard class from the adopted Local Responsibility Area map (dated 2025-03-24), which publishes Moderate, High, Very High AND NonWildland. NULL if the coordinate is not in LRA.
in_state_responsibility_areaboolean / nullTRUE when the coordinate is inside the adopted SRA FHSZ map. Being in SRA at all is the Civ. Code 1103.2(a)(3) disclosure trigger. NULL when the SRA source did not answer.
in_local_responsibility_areaboolean / nullTRUE when the coordinate is inside any polygon of the adopted LRA FHSZ map, including a NonWildland polygon. NULL when the LRA source did not answer.
in_federal_responsibility_areaboolean / nullTRUE when the coordinate is inside a Federal Responsibility Area jurisdiction polygon (federal land). FRA polygons carry no hazard class and are not a California disclosure trigger. NULL when that layer did not answer.
sra_map_datedstring / nullDate of the adopted SRA FHSZ map that answered this row.
sra_map_adoptedstring / nullDate the SRA FHSZ map was formally adopted by the State Fire Marshal.
sra_map_effectivestring / nullDate the SRA FHSZ map took legal effect.
lra_map_datedstring / nullDate of the adopted LRA FHSZ map that answered this row.
nhd_sra_disclosureboolean / nullTRUE when the Natural Hazard Disclosure statement "State Fire Responsibility Area" box (Civ. Code 1103.2(a)(3)) is triggered. Informational; confirm with a licensed NHD provider. NULL when not checked.
nhd_vhfhsz_disclosureboolean / nullTRUE when the "Very High Fire Hazard Severity Zone" box (Civ. Code 1103.2(a)(2) / Gov. Code 51178) is triggered - a Very High class in SRA or LRA. Informational. NULL when not checked.
defensible_space_prc4291boolean / nullTRUE when PRC 4291 100-foot defensible-space obligations likely apply (SRA of any class, or a Very High zone). Informational, not a legal determination. NULL when not checked.
wui_chapter_7a_building_standardsboolean / nullTRUE when CBC Chapter 7A / CRC R337 wildland-urban-interface construction standards likely apply to new construction (SRA of any class, or a Very High zone). Informational. NULL when not checked.
disclosure_basisstring / nullAudit trail for the disclosure determination: what each adopted map returned at this coordinate, and the rule applied.
in_fhsz_legacyboolean / nullWhat v1.0 of this actor answered for in_fhsz, computed only from the superseded CAL FIRE SRA-2007 / LRA-2011 MapServer layers. Preserved for continuity and back-comparison. NULL when those layers did not answer.
hazard_class_legacystring / nullHazard class from the superseded 2007/2011 layers.
responsibility_area_legacystring / nullResponsibility area from the superseded 2007/2011 layers.
zone_status_legacystring / nulladopted or pending, from the superseded 2007/2011 layers.
disclosure_required_legacyboolean / nullThe v1.0 disclosure determination, computed only from the superseded 2007/2011 layers, so a caller can see exactly what changed. NULL when those layers did not answer.
layers_matched_legacystring / nullSuperseded MapServer layers whose polygon contains this coordinate.
legacy_map_vintagestring / nullVintage of the superseded CAL FIRE layers used for the cross-check.
legacy_disagrees_with_currentboolean / nullTRUE when the superseded 2007/2011 layers would have produced a different disclosure flag or hazard class than the currently adopted maps. NULL when either map set did not answer.
legacy_disagreement_detailstring / nullHow the superseded and adopted maps differ at this coordinate.
pending_zoning_hitboolean / nullTRUE when the coordinate falls in the superseded service SRA/LRA Awaiting Zoning layer. Informational only. NULL when that layer did not answer.
pending_zoning_classstring / nullHazard class recorded on the pending/awaiting-zoning polygon where one is published (82% of that layer carries a blank class).
sra23_statusstring / nullok when the adopted SRA map answered for this coordinate, unavailable when it did not. Any derived negative is NULL rather than false while this is unavailable.
lra25_statusstring / nullok when the adopted LRA map answered for this coordinate, unavailable when it did not.
legacy_sra_statusstring / nullok / unavailable for the superseded SRA-2007 layer.
legacy_lra_statusstring / nullok / unavailable for the superseded LRA-2011 layer.
legacy_pending_statusstring / nullok / unavailable for the superseded SRA/LRA Awaiting Zoning layer.
legacy_federal_statusstring / nullok / unavailable for the Federal Responsibility Areas layer.
sources_ok_countnumber / nullHow many of the six contributing sources answered for this coordinate.
sources_total_countnumber / nullTotal contributing sources (2 adopted maps + 4 superseded legacy layers).
sources_failedstring / nullComma-separated list of sources that did not answer for this coordinate; null when all six answered.
partial_resultboolean / nullTRUE when at least one contributing source did not answer, so some fields on this row are NULL (not checked) rather than a verified negative.
nearby_checkedboolean / nullTRUE when the near-boundary radius search actually ran. FALSE when it was skipped because the coordinate is already inside a zone, or checkNearby was off. When false, nearby_zone_within_radius is NULL, never false.
nearby_sourcestring / nullWhich layer produced the nearest mapped zone: sra23, lra25, or a legacy_* layer.
nearby_responsibility_areastring / nullResponsibility area of the nearest mapped zone within the radius.
nearby_zone_statusstring / nulladopted or pending, for the nearest mapped zone within the radius.
near_boundary_bandstring / nullBanded distance to the nearest mapped zone: inside_zone, within_0.1_mi, within_0.25_mi, within_0.5_mi, within_1_mi, within_5_mi, beyond_5_mi. NULL when the radius search did not run.
nearby_truncatedboolean / nullTRUE when a radius query hit the service transfer limit, so the nearest-zone answer may be computed over an incomplete set. NULL when no radius query ran.
truncation_guardstring / nullok when every paged query returned the service own exact record count, truncated when a transfer limit was hit, not_applicable when no paged query ran.
geometry_sr_checkstring / nullok when returned geometry was verified as WGS84 by declared spatial reference, coordinate magnitude and per-feature extent; a failure reason otherwise.
out_of_california_coverageboolean / nullTRUE when the coordinate is outside the CAL FIRE FHSZ program area, so no zone determination applies.
verdictstring / nullHeadline verdict: disclosure_required, mapped_no_disclosure, near_boundary, clear, clear_current_maps, indeterminate, out_of_coverage, or error. Never reads clear while a contributing source is unavailable.
verdict_basisstring / nullWhy the verdict is what it is, naming the map and rule applied or the sources that failed.
drift_checks_passednumber / nullHow many live upstream drift assertions passed before any row was emitted. A fatal drift failure ends the run with zero rows and zero billing.
fhsz_service_layer_idsstring / nullrole=layerId map resolved at runtime from the superseded MapServer layer list.
current_zone_object_idnumber / nullOBJECTID of the adopted CAL FIRE polygon that produced the primary hit, so the exact zone can be re-opened in the CAL FIRE FHSZ viewer or re-queried from the source FeatureServer.

Use as an MCP tool

This actor is Pay-Per-Event (Result-only) and discoverable via mcp.apify.com - an AI agent (Claude, Cursor, etc.) can call it directly as a chainable tool: pass an array of {lat, lon, label} assets and get back a structured disclosure determination per site. Because unavailable sources are reported as null rather than false, an agent can tell "verified clear" apart from "could not check" without reading the log.

FAQ

Is my house in a fire hazard severity zone? Pass its coordinates; verdict, in_hazard_severity_zone and hazard_class_current answer directly, against the maps that are legally in effect today.

Which map does this use? The adopted SRA map dated 2023-09-29 (effective 2024-04-01) and the adopted LRA map dated 2025-03-24. sra_map_dated / sra_map_effective / lra_map_dated are stamped on every row. The superseded 2007/2011 layers are still queried, but only to populate the *_legacy cross-check fields.

My old FHSZ lookup said something different. Check legacy_disagrees_with_current and legacy_disagreement_detail. Roughly 39% of adopted LRA Very High locations read as completely clear on the 2011 draft layer, and CAL FIRE both up- and down-classified parcels in the 2023/2025 revisions.

Natural hazard disclosure - do I have to disclose this on a home sale? nhd_sra_disclosure covers the "State Fire Responsibility Area" box (Civ. Code 1103.2(a)(3), triggered by SRA status of any class) and nhd_vhfhsz_disclosure covers the "Very High Fire Hazard Severity Zone" box (Civ. Code 1103.2(a)(2) / Gov. Code 51178, triggered by a Very High class in SRA or LRA). These are informational screening flags - always confirm with a licensed NHD provider before closing.

What is "NonWildland"? The adopted 2025 LRA map publishes 1,954 NonWildland polygons (20.0% of the layer) covering most urban California - downtown Sacramento sits in one. They are mapped, but they are explicitly not hazard zones, so they never set in_hazard_severity_zone or any disclosure flag. lra_fhsz_class still reports them so you can see the coordinate was genuinely covered rather than missed.

What's the difference between SRA, LRA and FRA? SRA = State Responsibility Area (CAL FIRE jurisdiction; being in it at all triggers the SRA disclosure box). LRA = Local Responsibility Area (the 2025 map publishes Moderate, High and Very High; only Very High triggers the Gov. Code 51178 box). FRA = Federal Responsibility Area, a land-ownership boundary that carries no hazard class and triggers nothing - reported as in_federal_responsibility_area only.

Can a clear result be wrong? A clear verdict is only emitted when all six sources answered. If any did not, you get indeterminate and sources_failed, never a false clear. A clear still does not rule out local WUI ordinances, defensible-space law or an insurer's own wildfire model.

  • wildfire-asset-exposure-screener - active perimeters, Wildfire Hazard Potential class and historical burn footprint for the same coordinates.
  • fema-nri-county-risk-profile - FEMA National Risk Index wildfire and multi-peril scores at county and census-tract resolution.
  • usgs-landslide-proximity-screener - post-fire debris-flow context for burn-scar sites.
  • site-due-diligence-bundle - 20-layer federated screen (this FHSZ check included) with a composite site score and go / caution / no-go verdict.

Source & disclaimer

Data: CAL FIRE / Office of the State Fire Marshal FHSZ FeatureServers (services1.arcgis.com/jUJYIo9tSA7EHvfZ) and the CA Government Operations Agency FHSZ MapServer (services.gis.ca.gov). Keyless public services, no API key required. This is an informational screening tool, not a substitute for the official CAL FIRE FHSZ viewer or a licensed Natural Hazard Disclosure report. Zone boundaries are periodically revised - confirm current adopted status with the local fire authority or an NHD provider before any real-estate, insurance or construction decision.

Pricing: $8 per 1,000 result rows (Pay-Per-Event, Result-event only), with graduated paid-plan discounts. One row per asset, including clear sites. Categories: Real estate, Developer tools, Agents.