# Locus Property Scan

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

Scans local records, parcel rules, and risk signals for a US property address and returns a branded property flyer with findings.

## Facts

- Endpoint: POST https://api.locus.report/api/locus-property-flyer
- Price: $0.99/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-d0d3fc16
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_2-j5C8cJaXEEC--lEE-0v

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

Example prompt: Can you run a Locus property scan on 142 Ocean Drive, Miami, FL 33139? Use the coastal style, headline 'PROPERTY HIGHLIGHTS', and include features like 'Waterfront location', 'Zoning: RS-1', and 'Flood zone AE' with their evidence. Set the CTA to 'REVIEW THE PROPERTY REPORT'.

## When to prefer this

Choose this endpoint when you need a quick, low-cost ($0.49) property intelligence scan that combines local public records, parcel/zoning rules, and risk signals into a structured, brandable flyer artifact. It is ideal for real estate agents, buyers doing pre-purchase due diligence, investors screening parcels, or anyone needing a fast property context report for a specific US address. Prefer this over generic property lookup APIs when you need styled output with brand customization and a structured set of property features with evidence.

## Known failure modes

- Invalid address format — address must match strict regex pattern including street number, street name, city, and two-letter state abbreviation
- Missing required brand color fields — all three hex color fields (primaryColor, accentColor, highlightColor) must be provided
- Fewer than 3 or more than 10 features provided — features array must contain between 3 and 10 items
- Invalid style or headline enum value — must use one of the predefined options
- No local records found for obscure or rural parcels — response may return empty records array
- Payment failure — x402 micropayment of $0.49 USDC must succeed before scan is processed
- Property image URL unreachable or fails validation — image must be a valid URI under 2048 characters

## How this service works

Just-listed, open-house, or coming-soon flyer for one address from just the address: a 4:5 Instagram-ready PNG with the agent's own colors, logo, contact strip, and headshot. With no licensed subject photo, Locus builds an aerial hero with the official parcel outline when available; the model supplies only the decorative skin. Never valuation, ranking, screening, or safe/unsafe claims. npx @velinussage/locus-agent-skill add.

## Output

Returns a JSON object with a unique report ID, the generatedAt timestamp, an array of property records found, and any caveats about data quality or limitations. The response represents a structured property flyer artifact reflecting local records, zoning/parcel rules, and risk signals for the submitted address.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "cta": {
   "enum": [
    "OPEN THE FULL PROPERTY REPORT",
    "REVIEW THE PROPERTY REPORT",
    "SCAN FOR THE FULL PROPERTY REPORT"
   ],
   "type": "string",
   "default": "OPEN THE FULL PROPERTY REPORT"
  },
  "brand": {
   "type": "object",
   "default": {
    "accentColor": "#D8B25C",
    "primaryColor": "#081F35",
    "highlightColor": "#79D7D0"
   },
   "properties": {
    "logo": {
     "type": "object",
     "required": [
      "role",
      "url",
      "sourceName",
      "rightsConfirmed",
      "rightsBasis",
      "rightsHolder",
      "permittedUse",
      "attestedAt",
      "privacyReviewed"
     ]
    },
    "contact": {
     "type": "object",
     "required": [
      "name",
      "phone"
     ],
     "additionalProperties": false
    },
    "headshot": {
     "type": "object",
     "required": [
      "role",
      "url",
      "sourceName",
      "rightsConfirmed",
      "rightsBasis",
      "rightsHolder",
      "permittedUse",
      "attestedAt",
      "privacyReviewed"
     ]
    },
    "accentColor": {
     "type": "string",
     "default": "#D8B25C",
     "pattern": "^#[0-9A-Fa-f]{6}$"
    },
    "primaryColor": {
     "type": "string",
     "default": "#081F35",
     "pattern": "^#[0-9A-Fa-f]{6}$"
    },
    "highlightColor": {
     "type": "string",
     "default": "#79D7D0",
     "pattern": "^#[0-9A-Fa-f]{6}$"
    }
   }
  },
  "style": {
   "enum": [
    "local_editorial",
    "coastal",
    "land",
    "luxury",
    "modern"
   ],
   "type": "string",
   "default": "local_editorial"
  },
  "address": {
   "type": "string",
   "pattern": "^(?:(?:\\d{1,8}[A-Za-z]?(?:[-/]\\d{1,8}[A-Za-z]?)?)\\s+[A-Za-z0-9][A-Za-z0-9 .,'#&()/-]*|(?:lot|parcel|tract|unit)\\s+[A-Za-z0-9-]+(?:\\s+[A-Za-z0-9][A-Za-z0-9 .,'#&()/-]*)?),\\s*[A-Za-z][A-Za-z .'-]{1,79},\\s*[A-Z]{2}(?:\\s+\\d{5}(?:-\\d{4})?)?$",
   "maxLength": 240,
   "minLength": 5
  },
  "features": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "text",
     "evidence"
    ]
   },
   "default": [],
   "maxItems": 10
  },
  "headline": {
   "enum": [
    "PROPERTY OVERVIEW",
    "PROPERTY HIGHLIGHTS",
    "PROPERTY CONTEXT",
    "WATERFRONT PROPERTY OVERVIEW",
    "LAND OVERVIEW"
   ],
   "type": "string",
   "default": "PROPERTY OVERVIEW"
  },
  "creativeBrief": {
   "type": "string",
   "pattern": "^[^\\x00-\\x1F\\x7F]*$",
   "maxLength": 500,
   "minLength": 1
  },
  "propertyImage": {
   "type": "object",
   "r
… (truncated)
```

## 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-d0d3fc16/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)
