# Locus: Property Scan

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

Scans local records, parcel rules, and risk signals for a given property address to surface factors affecting its use, cost, plans, or future value.

## Facts

- Endpoint: POST https://api.locus.report/api/locus-plan-research
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/locus-property-scan-52c734f6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_MLJt845WIyNvgs6NttX_p

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-52c734f6 -d '<json body>'
```

Example prompt: Run a Locus property scan on 742 Evergreen Terrace, Springfield — I'm considering buying it and want to know about any zoning rules, local records, or risk signals that could affect its use or value, give me up to 10 suggestions.

## When to prefer this

Use this endpoint when a user wants a broad property intelligence scan covering zoning, parcel rules, and risk signals for a specific address. Prefer it over general web search when structured, record-level property data is needed. Best for real estate due diligence, investment research, or pre-purchase property checks.

## Known failure modes

- Address not found or not geocodable — empty records array returned
- Goal or intent too vague — fewer or less relevant records surfaced
- maxSuggestions exceeds 15 — validation error
- Place field does not match address jurisdiction — mismatched or sparse results
- Payment not completed via x402 — 402 Payment Required response

## How this service works

LLM-assisted research planner for one goal. Selects and ranks only from the closed Locus catalog; Locus server joins rail, price, scope, and availability. Returns a deterministic fallback and charged:false on no key, model failure, or too few validated selections. npx @velinussage/locus-agent-skill add.

## Output

Returns a JSON object containing a scan ID, a list of records (local records, parcel rules, risk signals), a generatedAt timestamp, and any caveats about the data. Records may include zoning classifications, risk flags, permit history, and other factors relevant to the property's use, cost, or future value.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "goal": {
   "type": "string",
   "maxLength": 500,
   "minLength": 10
  },
  "place": {
   "type": "string",
   "maxLength": 200,
   "minLength": 1
  },
  "intent": {
   "type": "string",
   "maxLength": 120,
   "minLength": 1
  },
  "address": {
   "type": "string",
   "maxLength": 200,
   "minLength": 1
  },
  "maxSuggestions": {
   "type": "integer",
   "default": 10,
   "maximum": 15,
   "minimum": 1
  }
 }
}
```

## 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-52c734f6/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)
