---
title: "Async record batch: free lanes across 2-25 addresses in any US jurisdiction"
method: POST
path: "/api/locus-record-batch"
tags: ["real-estate", "property", "batch", "portfolio", "async", "parcels", "flood", "zoning", "public-records", "address", "citations", "x402", "category:reports"]
---

# Async record batch: free lanes across 2-25 addresses in any US jurisdiction

`POST /api/locus-record-batch`

## Request

- Base URL: `https://api.locus.report`
- URL: `https://api.locus.report/api/locus-record-batch`
- Auth: API key in header `PAYMENT-SIGNATURE`

One async job runs up to six free record lanes across 2 to 25 US addresses, keyed by address. Lanes include parcel, flood, zoning, governing districts, or any free lane by name. For portfolio checks: poll statusUrl for results; unresolved addresses are listed and not charged. npx @velinussage/locus-agent-skill add.

## Request body

- object: 2 to 25 US street addresses in any jurisdiction plus up to 6 free Locus record lanes. Returns a pollable job id; each item carries per-lane results with the lane's own citations.
  - `addresses` string[], required: 2 to 25 US street addresses (any jurisdiction). Each is geocoded; unresolved ones are reported, never charged for.
  - `lanes` string[]: Free Locus record lanes to run per address (1 to 6). Default: locus_parcel_lookup, locus_flood_zone, locus_zoning, locus_governing_districts.

## Response `200`

Successful paid artifact, or a free pre-charge diagnostic when the request is outside current coverage.

- object: An accepted async job (jobId, statusUrl, queued count, unresolved addresses) or a charge-free diagnostic when no address resolved or no valid lane was requested.
  - `ok` boolean, required
  - `kind` 'record_batch', required
  - `jobId` string
  - `status` string
  - `statusUrl` string
  - `lanes` string[]
  - `total` number
  - `queued` number
  - `charged` boolean
  - `error` string

## Other responses

- `400`: Invalid request body.
- `402`: Payment Required. For x402 v2, repeat the identical request with a valid PAYMENT-SIGNATURE header (legacy X-PAYMENT is accepted for compatibility). MPP is disabled for this lifecycle-bound tool.

---

[API](https://skmtc.dev/locus/apis/locus-api.md) · [All operations](https://skmtc.dev/locus/apis/locus-api/llms.txt) · [OpenAPI document](https://skmtc.dev/locus/apis/locus-api/revisions/ba7786b74adb?raw)
