LandLens Home
Land Lens

Welcome Back

Sign in to continue to dashboard

By continuing, you agree to our Terms, Privacy Policy & Refund Policy

Cadastral map with the revenue registers · paid on result

Neighbouring Plots and Owners API for Tamil Nadu

Yes. The LandLens neighbouring plots API takes a point inside a Tamil Nadu plot (and its survey number, when known) and returns every parcel that shares a boundary with it, each with its recorded owner in Tamil and English, patta number, land type, extent and boundary, and a flag for road or street, government land and watercourse. A road_access summary says whether any boundary-sharing parcel is a road or public land, which is the recorded evidence of access. It costs 2 credits per call, and nothing when no neighbours are found.

POSThttps://verified.realestate/api/v1/tools/neighbours
Price
2 credits per answer
Source
Cadastral map with the revenue registers
Coverage
Village and town land statewide
Answers in
Usually 1 to 2 seconds

Example

Request
curl -X POST https://verified.realestate/api/v1/tools/neighbours \
  -H "Authorization: Bearer $LANDLENS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"lat":12.842117,"lng":80.030955,"survey_number":"65","sub_division":"4B","village_code":"196"}'
Responsereal answer
{
  "ok": true,
  "status": "ok",
  "data": {
    "found": true,
    "mode": "adjacent",
    "source_parcel": {
      "survey": "65/4B",
      "district_code": "3",
      "taluk_code": "14",
      "village_code": "196"
    },
    "source_geojson": "{\"type\":\"Polygon\",\"coordinates\":[[[80.0309257,12.8423138],[80.031065,12.8423017],…]]}",
    "nearby_geojson": null,
    "count": 6,
    "neighbours": [
      {
        "survey_number": "65",
        "sub_division": "4A",
        "survey": "65/4A",
        "district_code": "3",
        "taluk_code": "14",
        "village_code": "196",
        "distance_meters": 0,
        "shares_boundary": true,
        "boundary_geojson": "{\"type\":\"Polygon\",\"coordinates\":[[[80.0309257,12.8423138],[80.030851,12.8419662],…]]}",
        "is_govt": false,
        "is_road": false,
        "extent_sqm": 350,
        "ownership_source": "The rural land register",
        "land_type_ta": "நஞ்சை",
        "land_type_en": "Wet",
        "patta_no": "2880",
        "is_watercourse": false
      }
    ],
    "road_access": {
      "touches_road_or_street_parcel": false,
      "road_parcels": [],
      "touches_government_land": false,
      "government_parcels": [],
      "watercourse_parcels": [],
      "unclassified_government_parcels": [],
      "unregistered_parcels": [],
      "note": "No adjacent parcel is classified as a road/street in the registers. That SUGGESTS no direct recorded road frontage, but private pathways, easements and unregistered access are not in these registers - recommend a field survey / FMB check before concluding the land is landlocked."
    },
    "note": "These are ONLY the parcels sharing a boundary with the source parcel, each with its recorded owner inline (single response, no further owner lookups needed). Owners come from the offline registers, confirm against the live patta/TSLR for legal use. For road-access questions answer directly from road_access."
  },
  "credits_charged": 2
}

A real answer from the API (22 Oct 2026). Six neighbours came back; one is shown, with its owners left out and its boundary shortened. The plot's own outline is shortened too.

What it returns

One call, one plot and its neighbours. found is false (status not_found, nothing charged) when no parcel or no neighbour is found.

FieldWhat it holds
neighbours[]Each boundary-sharing parcel: survey, survey_number, sub_division, the revenue codes, boundary_geojson and shares_boundary.
neighbours[].owners[]The recorded holders, each with name_en and name_ta.
neighbours[].patta_no, land_type_en, land_type_ta, extent_sqmThe patta number, the land type (Wet, Dry, Poramboke) and the extent in square metres.
neighbours[].is_road, is_govt, is_watercourse, classificationWhether the parcel is a road or street, government land or a watercourse, and the register's description where it gives one.
neighbours[].ownership_sourceWhich register the owner was read from, in plain words.
neighbours[].other_villageSet when the neighbour lies across a village line, with that village's name.
road_accesstouches_road_or_street_parcel, road_parcels, touches_government_land, government_parcels, watercourse_parcels, unclassified_government_parcels, unregistered_parcels, and a note in plain words.
source_parcel, source_geojsonThe plot the neighbours were found for, and its outline.
modeadjacent when the plot was found; radius_fallback when the point was in no parcel and the list is by distance only.

Inputs

The JSON body of the POST is the arguments. lat and lng are required. Send the survey number and village code from resolve_parcel too.

ArgumentTypeWhat to send
latrequired number Latitude in decimal degrees
lngrequired number Longitude in decimal degrees
survey_number string When the plot is already resolved, its survey number (without the sub-division). It anchors the plot exactly; without it a point near a boundary can anchor to the neighbour.
sub_division string The plot's sub-division, e.g. 4B.
village_code string Village code of the resolved plot, when known
radius number The window, in metres, searched for candidates (10 to 500, default 150). Adjacency itself is by shared boundary.
firka_ward_number string Town survey ward of the resolved plot (urban only), when known
ulpin string ULPIN of the resolved plot, when known. It names one parcel exactly, so pass it whenever the resolved plot carries one.
urban_block_number string Town survey block of the resolved plot (urban only). A town survey number repeats in every block, so pass it with the survey number when known.

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/neighbours \
  -H "Authorization: Bearer $LANDLENS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"lat":12.842117,"lng":80.030955,"survey_number":"65","sub_division":"4B","village_code":"196"}'

Responses

Every answer has the same envelope. What status can say for this call:

statusWhat it means
okNeighbours were found. Charged 2 credits.
not_foundNo parcel at the point, no neighbour inside the window (retry with a larger radius), the point is outside Tamil Nadu, or the lookup failed. Nothing is charged.
invalid_argslat or lng is missing.
insufficient_creditsThe account does not hold enough credits for the call.

Where the data comes from

Register

The Tamil Nadu cadastral boundary layer for the parcel outlines, with each neighbour's owner and classification from the revenue A-register (village land) and the town survey land register (town land).

Coverage

Village survey land and town survey land across Tamil Nadu, wherever the state map carries the parcel outlines.

How current

Read from our copies of the state parcel map and the registers. Owners are as the register last recorded them; confirm against a live patta or TSLR for legal use.

How we read it

The plot is fixed by its survey number when you send one, otherwise by the parcel containing the point. Neighbours are the parcels whose outline touches the plot's, not merely those nearby. A road, watercourse or government flag is read from the register's own classification and remarks; a government parcel the register does not describe is reported as unclassified rather than guessed.

Who uses it

Advocates

Check the boundaries in a sale deed's schedule (north, south, east, west) against the recorded neighbours.

Buyers

See whether a plot touches a road or is landlocked behind private land, before paying an advance.

Developers

Find the owners of adjoining parcels when assembling land for a project.

Limits and good practice

  • Owners are from the registers as last recorded, not proof of title. Confirm with a live patta or TSLR before legal use.
  • A road flag is the register's classification. Private pathways, easements and unregistered access are not in the registers; no road flag means no RECORDED road, not no access.
  • Some boundary-sharing parcels have no entry in either register; they are listed in unregistered_parcels rather than counted as private or government.
  • When the point is in no parcel, mode is radius_fallback and the list is by distance, not adjacency.

Pricing

2 credits per answer

Each call costs 2 credits when neighbours are found; nothing when none are. Credits come from the same LandLens wallet as the chat and the minis. How billing works.

Calling at volume?

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.

WhatsApp 99961 29996

Questions

Is there an API to find who owns the land next to mine in Tamil Nadu?

Yes, this one. Send a point in your plot and you get every parcel sharing its boundary, with the owner the register records.

Can it tell me if my land has road access?

It tells you whether any boundary-sharing parcel is recorded as a road, street or public land, in road_access. That is recorded evidence of access; private paths are not in the registers.

Why should I send the survey number as well as the point?

A point near a boundary can fall in the neighbour's parcel. The survey number fixes the plot exactly.

What does it cost?

Each call costs 2 credits when neighbours are found, and nothing otherwise.

Updated 22 Oct 2026 · OpenAPI description