# Locus: Property Surrounding Area Report

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

Generates a surrounding-area public-records report for a property, surfacing answered and open parcel/local-record questions as a downloadable PDF and HTML artifact.

## Facts

- Endpoint: POST https://api.locus.report/api/locus-surrounding-area-report
- Price: $0.15/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-surrounding-area-report-52d3c60b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_pKxcHCS5Fa2rDUnew-MS2

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-surrounding-area-report-52d3c60b -d '<json body>'
```

Example prompt: Run a Locus surrounding area scan on my property packet sap_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6 and give me the PDF and HTML report links showing which public-record questions are answered and what still needs verification.

## When to prefer this

Use this endpoint when you have already obtained a Locus property scan packet (packetId starting with sap_) and need the full surrounding-area public-records report rendered as PDF and HTML artifacts. This is the step after obtaining a packet — it actually runs the scan and produces the deliverable. Prefer it over generic property data APIs when you need a structured, downloadable report covering local records coverage gaps and parcel rules in one artifact, priced at $0.15 per call via x402 micropayment.

## Known failure modes

- Invalid or malformed packetId (not matching ^sap_[a-f0-9]{48}$) returns an error
- Expired or invalid packetAccessProof causes authorization failure
- Payment not completed (x402 flow not finished) results in 402 Payment Required
- Report generation timeout if underlying public-record sources are slow
- Report already generated for the same packet (non-idempotent — re-calling may produce a new charge and a new report)

## How this service works

Run a free scan of local records and parcel rules. See which public-record questions are answered, what remains open, and what to verify next.

## Output

Returns a JSON object containing a reportId, links to a PDF and HTML version of the surrounding area report (each with a SHA-256 integrity hash), a reportAccessProof capability token, a canonicalHash, the render time in milliseconds, and a report expiry timestamp. The report itself details which public-record questions about the property and its surroundings are answered, which remain open, and what should be verified next.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "packetId": {
   "type": "string",
   "pattern": "^sap_[a-f0-9]{48}$"
  },
  "packetAccessProof": {
   "type": "string",
   "maxLength": 8192,
   "minLength": 32
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "kind": "surrounding_area_report",
  "charged": true,
  "packetId": "sap_000000000000000000000000000000000000000000000000",
  "reportId": "sar_111111111111111111111111111111111111111111111111",
  "artifacts": {
   "pdf": {
    "url": "https://api.locus.report/api/surrounding-area-reports/sar_111111111111111111111111111111111111111111111111/pdf",
    "sha256": "4444444444444444444444444444444444444444444444444444444444444444"
   },
   "html": {
    "url": "https://api.locus.report/api/surrounding-area-reports/sar_111111111111111111111111111111111111111111111111/html",
    "sha256": "3333333333333333333333333333333333333333333333333333333333333333"
   }
  },
  "idempotent": false,
  "renderedAt": "2026-08-01T12:00:00.000Z",
  "accessibility": {
   "note": "HTML is semantic; verify PDF tagging with the delivery environment.",
   "htmlSemantic": true,
   "pdfTaggedStatus": "unverified"
  },
  "canonicalHash": "2222222222222222222222222222222222222222222222222222222222222222",
  "renderTimingMs": 42000,
  "reportExpiresAt": "2026-10-30T12:00:00.000Z",
  "reportAccessProof": "sar1.<report-capability>"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/locus-property-surrounding-area-report-52d3c60b/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)
