---
title: "Terrain and land-science profile"
method: POST
path: "/api/v1/tools/geo_insights"
---

# Terrain and land-science profile

`POST /api/v1/tools/geo_insights`

## Request

- Base URL: `https://verified.realestate`
- URL: `https://verified.realestate/api/v1/tools/geo_insights`
- Auth: HTTP bearer

Get the terrain and land-science profile at a latitude/longitude: height above sea level, slope, aspect, geomorphology, geology, land use, soil type, watershed and rainfall, with a plain-language read on buildability / agri suitability. Use for "is this flat or sloping", "what soil / geology", "foundation or farming suitability". NOT a zone or coverage verdict: whether the plot sits in an aquifer, flood or water-body ZONE is the zone check (which is coverage-aware and returns "Not covered" outside a layer's footprint), and the nearest waterway is the separate waterways list. Do NOT use geo_insights to answer "aquifer zone / flood risk / nearest water". The profile compiles from GIS layers in the BACKGROUND and posts into the chat as its own message in about a minute; tell the user that after calling. Present results as estimated/advisory, not survey-grade. Queues a background job; 1 credits are taken when the job starts and returned automatically if it fails. The job is polled until it is delivered.

## Request body

- object
  - `lat` number, required: Latitude in decimal degrees
  - `lng` number, required: Longitude in decimal degrees
  - `label` string: Short human label for the spot (survey number or place name), used in the delivery message

## Response `200`

The envelope: ok, status, data, credits_charged, balance_after, request_id

## Other responses

- `401`: No valid credential
- `402`: Not enough credits
- `429`: Rate limit

---

[API](https://skmtc.dev/verified/apis/landlens-tool-api.md) · [All operations](https://skmtc.dev/verified/apis/landlens-tool-api/llms.txt) · [OpenAPI document](https://skmtc.dev/verified/apis/landlens-tool-api/revisions/7923c1c24431?raw)
