CalFire Fire Hazard Severity Zone (FHSZ) Screener — CA Parcels
Pricing
from $4.40 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
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: trueon 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_disclosureandnhd_vhfhsz_disclosureanswer 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_prc4291andwui_chapter_7a_building_standardsflag the construction/maintenance consequences.
What it does
- 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.
- Point-in-polygon query per coordinate against both adopted maps and all four legacy
layers, with
outSR=4326and a geometry check that verifies WGS84 by declared spatial reference, coordinate magnitude and each feature's own extent. - 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. - Classifies:
verdict,in_hazard_severity_zone,hazard_class_current,responsibility_area_current, and the two statutory disclosure flags - with a writtendisclosure_basisaudit 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). nullmeans not checked;falsemeans checked and negative. A source that did not answer can never produce a confident negative - the row readsverdict: indeterminateand 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
assetsis 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.
| Field | Type | Description |
|---|---|---|
asset_label | string / null | Caller-supplied label for the screened site. |
asset_lat | number / null | WGS84 latitude of the screened site. |
asset_lon | number / null | WGS84 longitude of the screened site. |
in_fhsz | boolean / null | TRUE 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_class | string / null | Hazard class of the primary matched zone: Moderate, High, or Very High. Null if no hit or the class attribute could not be resolved. |
responsibility_area | string / null | Fire responsibility jurisdiction of the primary matched zone: SRA (State Responsibility Area), LRA (Local Responsibility Area), or Federal. |
zone_status | string / 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_required | boolean / null | TRUE 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_matched | string / null | Semicolon-separated list of every FHSZ layer whose polygon contains this exact coordinate (can be more than one where zones overlap). |
nearby_zone_within_radius | boolean / null | TRUE 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_class | string / null | Hazard class of the nearest zone found within the search radius when the exact coordinate itself is clear. |
nearby_distance_miles | number / null | Approximate distance in miles (nearest-polygon-vertex proxy) to the nearest mapped zone when the exact coordinate itself is clear. |
layer_source | string / null | MapServer query URL for the layer of the primary hit (or the base service URL when no hit). |
clear_flag | boolean / null | TRUE if the site is outside every mapped FHSZ layer and outside the nearby search radius (or outside California coverage entirely). Null on error rows. |
note | string / null | Plain-English summary of the result for this asset, including the disclosure-law citation when applicable. |
error | string / null | Per-asset error message (invalid coordinate or query failure); null when OK. |
disclaimer | string / null | Informational-screen / not-a-substitute-for-an-NHD-report note. |
source_url | string / null | CAL FIRE FHSZ MapServer used. |
checked_at | string / null | ISO 8601 timestamp of the run. |
determination_source | string / null | Which 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_vintage | string / null | Vintage of the currently adopted CAL FIRE maps this actor screens against. |
in_hazard_severity_zone | boolean / null | TRUE 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_current | string / null | Hazard 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_current | number / null | CAL FIRE numeric FHSZ code behind hazard_class_current: 1 Moderate, 2 High, 3 Very High, -3 NonWildland. |
responsibility_area_current | string / null | SRA or LRA, from whichever currently adopted map produced the primary hit. |
sra_fhsz_class | string / null | Hazard 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_class | string / null | Hazard 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_area | boolean / null | TRUE 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_area | boolean / null | TRUE 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_area | boolean / null | TRUE 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_dated | string / null | Date of the adopted SRA FHSZ map that answered this row. |
sra_map_adopted | string / null | Date the SRA FHSZ map was formally adopted by the State Fire Marshal. |
sra_map_effective | string / null | Date the SRA FHSZ map took legal effect. |
lra_map_dated | string / null | Date of the adopted LRA FHSZ map that answered this row. |
nhd_sra_disclosure | boolean / null | TRUE 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_disclosure | boolean / null | TRUE 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_prc4291 | boolean / null | TRUE 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_standards | boolean / null | TRUE 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_basis | string / null | Audit trail for the disclosure determination: what each adopted map returned at this coordinate, and the rule applied. |
in_fhsz_legacy | boolean / null | What 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_legacy | string / null | Hazard class from the superseded 2007/2011 layers. |
responsibility_area_legacy | string / null | Responsibility area from the superseded 2007/2011 layers. |
zone_status_legacy | string / null | adopted or pending, from the superseded 2007/2011 layers. |
disclosure_required_legacy | boolean / null | The 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_legacy | string / null | Superseded MapServer layers whose polygon contains this coordinate. |
legacy_map_vintage | string / null | Vintage of the superseded CAL FIRE layers used for the cross-check. |
legacy_disagrees_with_current | boolean / null | TRUE 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_detail | string / null | How the superseded and adopted maps differ at this coordinate. |
pending_zoning_hit | boolean / null | TRUE when the coordinate falls in the superseded service SRA/LRA Awaiting Zoning layer. Informational only. NULL when that layer did not answer. |
pending_zoning_class | string / null | Hazard class recorded on the pending/awaiting-zoning polygon where one is published (82% of that layer carries a blank class). |
sra23_status | string / null | ok 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_status | string / null | ok when the adopted LRA map answered for this coordinate, unavailable when it did not. |
legacy_sra_status | string / null | ok / unavailable for the superseded SRA-2007 layer. |
legacy_lra_status | string / null | ok / unavailable for the superseded LRA-2011 layer. |
legacy_pending_status | string / null | ok / unavailable for the superseded SRA/LRA Awaiting Zoning layer. |
legacy_federal_status | string / null | ok / unavailable for the Federal Responsibility Areas layer. |
sources_ok_count | number / null | How many of the six contributing sources answered for this coordinate. |
sources_total_count | number / null | Total contributing sources (2 adopted maps + 4 superseded legacy layers). |
sources_failed | string / null | Comma-separated list of sources that did not answer for this coordinate; null when all six answered. |
partial_result | boolean / null | TRUE 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_checked | boolean / null | TRUE 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_source | string / null | Which layer produced the nearest mapped zone: sra23, lra25, or a legacy_* layer. |
nearby_responsibility_area | string / null | Responsibility area of the nearest mapped zone within the radius. |
nearby_zone_status | string / null | adopted or pending, for the nearest mapped zone within the radius. |
near_boundary_band | string / null | Banded 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_truncated | boolean / null | TRUE 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_guard | string / null | ok 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_check | string / null | ok when returned geometry was verified as WGS84 by declared spatial reference, coordinate magnitude and per-feature extent; a failure reason otherwise. |
out_of_california_coverage | boolean / null | TRUE when the coordinate is outside the CAL FIRE FHSZ program area, so no zone determination applies. |
verdict | string / null | Headline 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_basis | string / null | Why the verdict is what it is, naming the map and rule applied or the sources that failed. |
drift_checks_passed | number / null | How 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_ids | string / null | role=layerId map resolved at runtime from the superseded MapServer layer list. |
current_zone_object_id | number / null | OBJECTID 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.
Related actors
- 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.