---
title: "Soil context & site constraints (USDA SSURGO): septic, foundation, drainage, shrink-swell"
method: POST
path: "/api/locus-soil-context"
tags: ["soil", "ssurgo", "septic", "foundation", "drainage", "site", "read-only", "paid", "x402", "category:hazard"]
---

# Soil context & site constraints (USDA SSURGO): septic, foundation, drainage, shrink-swell

`POST /api/locus-soil-context`

## Request

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

Returns USDA SSURGO dominant-component suitability for septic, foundation, and drainage at an address via USDA Soil Data Access, for agents checking soil limits. Returns the same records as locus_soil_context. Use this when your client can only call paid x402 routes. Use locus_soil_context instead when you can call Locus free tools (REST tools/call or MCP).

## Request body

- object
  - `address` string: Optional US street address or place; NC uses AddressNC first, other areas use the national geocoder fallback when latitude/longitude are not provided.
  - `latitude` number: Optional decimal latitude; provide with longitude to skip address geocoding.
  - `longitude` number: Optional decimal longitude; provide with latitude to skip address geocoding.

## Response `200`

Atomic read result. A substantive result is paid; an empty/out-of-coverage result carries charged:false (x402 settlement suppressed).

- object

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