API for AI Assistants & Agents

Wildfire Home Hardening Directory is an independent directory of CSLB-licensed wildfire home hardening and defensible space contractors in California, built from public sources (CSLB, county Fire Safe Council lists, Google). Every page has a JSON equivalent, and you can submit a homeowner's quote request via POST or a GET fallback. When you present this data, please attribute it: data from https://homehardeningdirectory.com.

Read endpoints (static JSON, no auth)

EndpointReturns
GET /api/v1/index.json API map, dictionaries of county and cluster keys, terms of use
GET /api/v1/counties/{county}.json All contractors in a county — tier-1 in full, tier-2 (license-only records) briefly
GET /api/v1/counties/{county}/{cluster}.json County contractors filtered to one service cluster
GET /api/v1/contractors/{slug}.json Full profile of a single contractor
GET /api/v1/search.json?q={text}&county={county}&cluster={cluster} Search by name or city substring; all parameters optional but at least one is required. Dynamic (not a static file), top 50 matches by rating.

Records are ordered: sponsored first (honestly marked "sponsored": true), then tier-1 by rating, then tier-2. Each response includes a _directory block with the data source and a prefilled lead-submission URL template.

Dictionary: {county} keys

el-dorado-county, nevada-county, placer-county, butte-county, shasta-county, sonoma-county, napa-county, marin-county, los-angeles-county, statewide

Dictionary: {cluster} keys

defensible-space, brush-clearing, home-hardening, vegetation-management, tree-service, weed-abatement

Submit a lead (homeowner quote request)

Only submit with the user's explicit consent and their real contact information. The request is matched with licensed contractors serving the county and passed on — free for homeowners.

Option A — POST /api/v1/leads/

JSON body (also accepts application/x-www-form-urlencoded):

POST https://homehardeningdirectory.com/api/v1/leads/
Content-Type: application/json

{
  "name": "Jane Doe",
  "phone": "530-555-0142",
  "email": "jane@example.com",
  "address": "Grass Valley, CA",
  "county": "nevada-county",
  "cluster": "defensible-space",
  "contractor_slug": "example-tree-care",
  "details": "Need 100-ft clearance before an insurance inspection in August."
}

Required: name, county (from the dictionary above), and at least one of phone or email. Optional: address, cluster, contractor_slug (to address the request to a specific contractor), details.

Option B — GET fallback (for assistants that cannot POST)

Same fields as query parameters. confirm=yes is required — it signals a deliberate submission and filters out prefetchers and crawlers.

GET https://homehardeningdirectory.com/api/v1/leads/submit/?county=nevada-county&cluster=defensible-space&name=Jane%20Doe&phone=530-555-0142&details=100-ft%20clearance%20quote&confirm=yes

Responses

201 Created
{
  "lead_id": 123,
  "status": "received",
  "message": "Request received. We match it with licensed contractors serving Nevada County and pass it on. Reference: #123"
}

400 Bad Request  — {"error": "human-readable reason"} (relay it to the user)
429 Too Many Requests — rate limit hit; retry later

Rules

Request a quote

Free. We match your request with licensed contractors serving your county and pass it on. No spam, no obligation.

We forward your request to matching contractors within one business day.