# Locus: Property Scan

> Locus: Property Scan is a paid API for AI agents from api.locus.report, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Scans local public records and parcel rules for a property address, revealing available programs, open questions, and next verification steps across 30+ categories.

## Facts

- Endpoint: POST https://api.locus.report/api/locus-owner-programs
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/locus-property-scan-c65702a8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_S1QQqA9wgSrpOAIR071S4

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability locus-property-scan-c65702a8 -d '<json body>'
```

Example prompt: Run a Locus property scan on 742 Evergreen Terrace, Springfield — check for flood protection rebates, solar exemptions, and tax relief programs and tell me what's confirmed, what's open, and what I still need to verify.

## When to prefer this

Use this endpoint when you need a quick, low-cost ($0.01) sweep of local public records and parcel-level program eligibility for a specific property address. Prefer this over manual municipal lookups when you want structured, categorized results across 30+ program types (tax relief, flood, solar, lien, etc.) in a single call. Best suited for pre-purchase research, homeowner benefit discovery, or compliance triage where breadth across program categories matters more than deep data on a single category.

## Known failure modes

- Address not recognized or too ambiguous — returns empty records with caveats
- Place/jurisdiction not supported — scan returns no applicable rules
- Invalid program class enum value — request rejected or class ignored
- No public records found for address — empty records array returned
- Payment failure (x402) — request not processed

## How this service works

Cited owner programs and statewide property-tax rules for a US place. Perfect for: 'owner programs near this property', 'homestead or exemption rules', 'property-tax appeal and payment windows'. Returns curated local/state/national rows plus cited statewide rows derived from Locus tax and appeal registries. No eligibility decision or recommendation. Charge-free when no registry or derived row returns.

## Output

Returns a JSON artifact with a scan ID, list of matching public-record findings across requested program classes, caveats about data freshness or gaps, open questions that remain unresolved, and a generatedAt timestamp indicating when the scan was run.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "place": {
   "type": "string",
   "maxLength": 200,
   "minLength": 1
  },
  "address": {
   "type": "string",
   "maxLength": 200,
   "minLength": 1
  },
  "classes": {
   "type": "array",
   "items": {
    "enum": [
     "mitigation_grant",
     "insurance_discount_mandate",
     "flood_map_correction",
     "utility_credit",
     "lead_service_line",
     "sidewalk_cost_share",
     "flood_protection_rebate",
     "abatement",
     "special_valuation",
     "historic_incentive",
     "solar_exemption",
     "lien_amnesty",
     "penalty_waiver",
     "installment_plan",
     "assessment_deferral",
     "registration_obligation",
     "transfer_tax_relief",
     "title_protection",
     "energy_rebate",
     "association_rule",
     "tax_relief_local",
     "home_repair",
     "exemption_relief",
     "appeal_window",
     "payment_deadline",
     "early_payment_discount",
     "insurance_discount_program",
     "disaster_assistance_window",
     "permit_fee_waiver",
     "tax_sale_redemption"
    ],
    "type": "string"
   }
  },
  "includeDerived": {
   "type": "boolean",
   "default": true
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "id": "locus_example",
  "caveats": [
   "Example artifact; not live data."
  ],
  "records": [],
  "generatedAt": "2026-01-01T00:00:00.000Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/locus-property-scan-c65702a8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.locus.report](https://www.zero.xyz/host/api.locus.report/llms.txt)
