Terrain and Land Science Profile API for Tamil Nadu
Yes. The LandLens terrain profile API takes a latitude and longitude in Tamil Nadu and compiles the land science layers at that point: elevation, slope, the direction the land faces, landform (geomorphology), geology, soil, the existing and proposed land use with the planning area, the watershed and annual rainfall. It reads several state GIS layers in turn, so it runs as a background job: the call answers queued with a job id, and job_status returns the profile in about a minute. It costs 1 credit, taken when the run starts and returned if it fails. Every value is an estimate from GIS layers, not a survey.
https://verified.realestate/api/v1/tools/geo_insights- Price
- 1 credit when it starts, refunded if it fails
- Source
- State GIS terrain and land science layers
- Coverage
- Tamil Nadu
- Answers in
- About a minute, as a background job
What it returns
Two steps. The call answers queued with poll naming job_status and the job id; job_status returns the profile once the job is done.
| Field | What it holds |
|---|---|
job_id, poll | On the first call: the job to poll and how. |
job_status: status | queued, running, done or failed. |
job_status: message | The profile in a few sentences: slope and land use first, with the advisory note. |
job_status: payload.blocks.geo.fields | The profile: elevation, slope, aspect, geomorphology, geology, landuse, soil, watershed and rainfall, each in words. A layer with no reading is absent. |
job_status: credits_charged | What the run cost; nothing when it failed. |
Inputs
The JSON body of the POST is the arguments. Send the point in decimal degrees, then poll job_status about every 20 seconds.
| Argument | Type | What to send |
|---|---|---|
latrequired |
number | Latitude in decimal degrees |
lngrequired |
number | Longitude in decimal degrees |
label |
string | A short name for the spot, such as a survey number or place, used in the delivered message. |
Code
Set LANDLENS_KEY to your key. In an AI app, connect https://verified.realestate/mcp once and ask in plain words instead. In Postman, download this API's collection, import it (File, Import) and set apiKey.
curl -X POST https://verified.realestate/api/v1/tools/geo_insights \
-H "Authorization: Bearer $LANDLENS_KEY" \
-H "Content-Type: application/json" \
-d '{}'
import os, requests
r = requests.post(
"https://verified.realestate/api/v1/tools/geo_insights",
headers={"Authorization": f"Bearer {os.environ['LANDLENS_KEY']}"},
json={},
timeout=30,
)
body = r.json()
print(body["status"], body["credits_charged"], body["data"])
const res = await fetch("https://verified.realestate/api/v1/tools/geo_insights", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LANDLENS_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({}),
});
const body = await res.json();
console.log(body.status, body.credits_charged, body.data);
Is the land at 12.80, 80.24 flat or sloping, and what is the soil and geology there? Is it suited to building or farming?
Your AI starts the terrain profile, tells you the price first, and reads the profile back when it is ready.
Responses
Every answer has the same envelope. What status can say for this call:
| status | What it means |
|---|---|
queued | The job was accepted. Poll job_status with the job id; the profile arrives in about a minute. If the account has too few credits when the run starts, job_status reports the job failed and nothing is charged. |
not_found | The point is outside Tamil Nadu. Nothing is charged. |
invalid_args | lat or lng was missing. Nothing ran. |
Where the data comes from
The land science layers on the Tamil Nadu GIS portal: the elevation, slope and aspect rasters, the geomorphology and geology maps, soil, the existing and proposed land use of the master plans with the planning area boundaries, watersheds and rainfall zones.
Points anywhere in Tamil Nadu. A point outside the state is refused. A layer with no reading at the point is left out of the profile.
Read from the state layers when the job runs.
Each layer is read at the point in turn. Raster values are put into words (degrees of slope with flat, gentle, moderate or steep; the direction the slope faces). Where the state elevation layer and the 90 m terrain model disagree widely, both are given and called rough.
Who uses it
Land buyers
See whether a plot is flat or sloping, low lying, on rock or on sand, before a site visit.
Farm land buyers
Read the soil, rainfall and land use of agricultural land being considered.
Developers and engineers
Get a first read of geology and slope for foundation planning, before a soil test.
Limits and good practice
- Every value is an estimate from GIS layers. It is not a soil test or a survey.
- It is not a zone verdict. For aquifer, flood or water body zones use zone_check, which says when a layer does not cover the place.
- The profile arrives by job_status, not in the first answer.
- A layer with no reading at the point is simply left out.
Pricing
Each profile costs 1 credit, taken when the run starts and returned if the profile does not come through. Credits come from the same LandLens wallet as the chat and the minis. How billing works.
For thousands of calls a month, a portfolio sweep or a platform built on these registers, we quote a customised bulk price, with invoicing to match.
Questions
Is there an API for slope, geology and soil at a location in Tamil Nadu?
Yes. Send the latitude and longitude; the terrain profile comes back through job_status in about a minute with elevation, slope, aspect, landform, geology, soil, land use, watershed and rainfall.
Why is it a background job?
It reads several state GIS layers one after another, which takes about a minute. The call returns at once with a job id so nothing waits on it.
Can I use it to check flood or aquifer zones?
No. Use zone_check for zones. This profile describes the land; it does not test it against restriction maps.
How much does it cost?
Each profile costs 1 credit. It is returned if the run fails.
Updated 22 Oct 2026 · OpenAPI description