Property, land and site screening logo

Property Hazard & Site Risk Report

$0.10 USDC per call · Business, finance and compliance · POST /api/v1/property-risk · Id property-risk

Before an agent recommends, underwrites or screens a US property, reads free public federal hazard data for a street address or lat/lon: Census geocode, FEMA National Flood Hazard Layer flood zone, SFHA status and base flood elevation, USGS ASCE 7-22 seismic design values, FEMA National Risk Index tract ratings (wildfire, hurricane, tornado and more), OpenFEMA county disaster declarations for 10 years, and EPA Superfund NPL, brownfield and Toxics Release Inventory sites nearby. A fixed rule table turns them into GO, CAUTION or NO_GO with every factor's raw value, points, source URL and fetch time; an optional intended use (residential, commercial, industrial, development) reweights it. Abstains with INSUFFICIENT_DATA when a layer fails and the rest looks clear, and reports which layers failed. No LLM. NOT covered, and never inferred: zoning, setbacks, permitted use, building permits, assessor and parcel records (no national API), parcel-level elevation, soil or contamination assessment. Screening only; not a flood determination, appraisal or advice.

What you get

A real-estate, lending or siting agent gets a signed, source-linked hazard screen with explicit gaps, instead of a model guessing at flood zones or stitching seven government APIs together.

Call it

Send the JSON body below to https://agents.writerslogic.com/api/v1/property-risk. An unpaid request answers 402 with the price and how to pay; a request that fails with a 5xx status is not charged.

curl -i -X POST https://agents.writerslogic.com/api/v1/property-risk \
  -H 'content-type: application/json' \
  -d '{"address":"1111 Lincoln Rd, Miami Beach, FL 33139","intended_use":"residential"}'

Input

FieldTypeRequiredDescription
addressstring; length 5..200noUS street address with city and state or ZIP, e.g. 1111 Lincoln Rd, Miami Beach, FL 33139. Give this or lat with lon.
latnumber; -90..90noLatitude in WGS84 degrees; give with lon instead of address.
lonnumber; -180..180noLongitude in WGS84 degrees; give with lat.
intended_usestring; one of "residential", "commercial", "industrial", "development"noOptional. Reweights the score: residential counts environmental proximity 1.5x, industrial 0.5x, development counts flood and seismic 1.5x.

Example request body

{
  "address": "1111 Lincoln Rd, Miami Beach, FL 33139",
  "intended_use": "residential"
}

Result

The response is { "data": ..., "_provenance": ... }. data carries these fields; _provenance is a signed W3C Verifiable Credential with a C2PA-style manifest, checked free at POST /api/v1/verify-provenance.

FieldTypeRequiredDescription
verdictstring; one of "GO", "CAUTION", "NO_GO", "INSUFFICIENT_DATA"yesRule-based site-risk screen. NO_GO: a hard stop (FEMA coastal V zone) or weighted score at or above no_go_at. CAUTION: score at or above caution_at. GO: below caution_at with every layer answered. INSUFFICIENT_DATA: a layer failed and the available data did not already reach CAUTION.
scorenumberyesSum of weighted factor points; lower is safer.
thresholdsobjectyes
reasonsarray<string>yes
hard_stopsarray<string>yes
summarystringyes
next_stepstringyes
intended_useone ofno
weightsobjectnoCategory multipliers applied to factor points.
locationobjectyes
factorsarray<object>yesEvery contributing factor with raw value, points, weight, basis, source URL and fetch time.
layersarray<object>yes
failed_layersarray<string>yes
partialbooleanyes
notesarray<string>no
detailsobjectyesParsed per-layer results: flood (zone, SFHA, base flood elevation), seismic, national_risk_index, disaster_declarations, superfund_npl, brownfields, toxics_release_inventory. Null where the layer failed.
not_checkedarray<object>yesWhat this report does not cover, stated plainly.
llmstring; one of "not_used"yes
disclaimerstringyes

Pay and connect

Available through: x402 (USDC on Base), MCP, RapidAPI, Apify.

Machine-readable