---
title: "Road-access screen (nearest mapped public road)"
method: POST
path: "/api/locus-road-access"
tags: ["real-estate", "property", "due-diligence", "road-access", "site-access", "parcels", "rural-land", "public-records", "x402", "category:infrastructure"]
---

# Road-access screen (nearest mapped public road)

`POST /api/locus-road-access`

## Request

- Base URL: `https://api.locus.report`
- URL: `https://api.locus.report/api/locus-road-access`
- Auth: one of:
  - API key in header `PAYMENT-SIGNATURE`
  - API key in header `Authorization`

Nearest mapped public road to a geocoded US address or point for rural or set-back research. Adjacency is at the geocoded point, not the parcel boundary. It does not establish legal access, parcel frontage, or a landlocked finding. npx @velinussage/locus-agent-skill add.

## Request body

- union: US street address or latitude+longitude. The point is geocoded, then one OpenStreetMap Overpass query finds the nearest mapped public road; radius defaults to 250m (clamped 50-2000m).
  - object
    - `address` string, required: US street address; geocoded to a point. Either address or latitude+longitude is required.
    - `latitude` number: Optional decimal latitude; provide with longitude for point mode.
    - `longitude` number: Optional decimal longitude; provide with latitude for point mode.
    - `radiusMeters` number: Optional search radius in meters; default 250, clamped to 50-2000.
  - object
    - `address` string: US street address; geocoded to a point. Either address or latitude+longitude is required.
    - `latitude` number, required: Optional decimal latitude; provide with longitude for point mode.
    - `longitude` number, required: Optional decimal longitude; provide with latitude for point mode.
    - `radiusMeters` number: Optional search radius in meters; default 250, clamped to 50-2000.

## Response `200`

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

- union: A `kind`-discriminated union: `road_access` (nearest vehicular road by point-to-segment distance, an accessFlag of has_road_access/set_back/track_only/no_road_within_radius, track-or-path and limited-access-highway flags, a private-road flag, OSM provenance, and mandatory caveats; sourceLocationPrecision is point_not_boundary) for a completed measurement, or `road_access_diagnostic` (charged:false) when the address is unresolved or every Overpass mirror failed. Mapped-road adjacency screen only - never a legal access, easement, or landlocked determination.
  - object
    - `kind` 'road_access', required
    - `point` object, required
      - `latitude` number, required
      - `longitude` number, required
    - `radiusMeters` number, required
    - `sourceLocationPrecision` 'point_not_boundary', required
    - `nearestVehicularRoad` object, nullable, required
    - `secondNearestVehicularRoad` object, nullable, required
    - `accessFlag` 'has_road_access' | 'set_back' | 'track_only' | 'no_road_within_radius', required
    - `trackOrPathNearer` object, nullable, required
    - `limitedAccessHighwayNearby` object, nullable, required
    - `privateRoadSignal` boolean, required
    - `provenance` object, required
    - `caveats` string[], required
    - `charged` true, required
  - object
    - `kind` 'road_access_diagnostic', required
    - `reason` 'address_unresolved' | 'road_source_unavailable', required
    - `point` object
      - `latitude` number, required
      - `longitude` number, required
    - `caveats` string[], required
    - `charged` false, required

## 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), or use Authorization: Payment for MPP Tempo when advertised in x-payment-info.offers.

---

[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)
