LandLens Home
Land Lens

Welcome Back

Sign in to continue to dashboard

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

State cadastral map · free

Survey Number from Location API for Tamil Nadu

Yes. The LandLens parcel lookup takes a latitude and longitude anywhere in Tamil Nadu and returns the land parcel under it: survey number and sub-division, village, taluk and district with their revenue codes, whether it is village land or town survey land, the ULPIN, the extent and the parcel boundary as GeoJSON. For town survey land it also returns the ward and block. It is the first call before almost every other land record call, and it costs nothing.

POSThttps://verified.realestate/api/v1/tools/resolve_parcel
Price
Free
Source
State cadastral boundary map
Coverage
All of Tamil Nadu, village and town land
Answers in
Usually under a second

Example

Request
curl -X POST https://verified.realestate/api/v1/tools/resolve_parcel \
  -H "Authorization: Bearer $LANDLENS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"lat":12.842117,"lng":80.030955}'
Responsereal answer
{
  "ok": true,
  "status": "ok",
  "data": {
    "found": true,
    "lat": 12.842117,
    "lng": 80.030955,
    "survey_number": "65",
    "sub_division": "4B",
    "rural_urban": "rural",
    "ulpin": "74QA3LDD0UTRH0",
    "district_code": "03",
    "taluk_code": "14",
    "village_code": "196",
    "firka_ward_number": null,
    "urban_block_number": null,
    "district_name": "Kancheepuram",
    "taluk_name": "Kundrathur",
    "village_name": "Kavanoor",
    "extent": "0.05",
    "extent_unit": "hectares",
    "extent_hectares": 0.05,
    "extent_acres": 0.124,
    "extent_source": "recorded",
    "land_data": {
      "district_code": "03",
      "district_name": "Kancheepuram",
      "taluk_code": "14",
      "taluk_name": "Kundrathur",
      "village_code": "196",
      "village_name": "Kavanoor",
      "survey_number": "65",
      "sub_division": "4B",
      "rural_urban": "rural",
      "firka_ward_number": null,
      "urban_block_number": null,
      "ulpin": "74QA3LDD0UTRH0",
      "geojson_geom": "{\"type\":\"Polygon\",\"coordinates\":[[[80.030925673,12.842313841],[80.031065013,12.842301679],…]]}",
      "centroid": "12.842117,80.030955",
      "patta_no": "2883",
      "land_type": "Wet",
      "extent_ares": "5",
      "extent_hectares": "0.05"
    }
  },
  "credits_charged": 0
}

A real answer from the API (22 Oct 2026). The boundary coordinates are shortened.

What it returns

One call, one parcel. found is false (status not_found) when no parcel is mapped at the point, for example water, a road, or a point outside Tamil Nadu.

FieldWhat it holds
survey_number, sub_divisionThe survey number and its sub-division, e.g. 65 and 4B. sub_division is empty when the survey is not divided.
district_code, taluk_code, village_codeThe revenue codes every other land record call takes. For town survey land village_code is the town code.
district_name, taluk_name, village_nameWhere the parcel is, in the register's spelling.
rural_urbanrural for village survey land (patta, chitta, A-register), urban for town survey land.
firka_ward_number, urban_block_numberFor town survey land: the ward and block. A town survey number is unique only within its block, so pass these on as ward_code and block_code.
ulpinThe 14-character Unique Land Parcel Identification Number, where the state map carries one.
extent_hectares, extent_acres, extent_unitThe parcel's extent in hectares and acres.
extent_source, extent_noterecorded when the extent is read from a land record; measured when it was traced off the map because no record states one. A measured extent comes with extent_note.
land_dataThe full parcel record: the boundary as GeoJSON (geojson_geom), a point inside it (centroid), and for village land the patta number, land type (Wet, Dry, Poramboke) and the register's extent in ares and hectares where we hold them.
is_parcel, match_level, matched_area_acresSet when the only boundary at the point is a village-sized area rather than a plot. Do not treat that survey number as the property's identity.
identity_ambiguous, identity_warningSet when the map sheet at the point is filed under a different village serial from the one on the row, so the village name and codes may belong to a neighbouring village.

Inputs

The JSON body of the POST is the arguments. A real point inside the plot. For a place name, use resolve_revenue_codes or places_search first and call this on the point they return.

ArgumentTypeWhat to send
latrequired number Latitude in decimal degrees, from a map pin, a shared location or an earlier call. Never an estimate for a place name.
lngrequired number Longitude in decimal degrees.

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/resolve_parcel \
  -H "Authorization: Bearer $LANDLENS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"lat":12.842117,"lng":80.030955}'

Responses

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

statusWhat it means
okA parcel was found at the point. Check extent_source, and is_parcel when it is present.
not_foundNo parcel is mapped at the point (water, a road, ground the state map does not cover), or the point is outside Tamil Nadu. message or note says which.
invalid_argslat or lng is missing.
free_limit_reachedThe account has used its free calls for the hour or the day. retry_after says how many seconds to wait; paid calls keep working.

Where the data comes from

Register

The Tamil Nadu cadastral boundary layer (the FMB parcel map published by the state GIS), joined to the revenue A-register for village land and the town survey land register for urban land.

Coverage

Every district of Tamil Nadu, village survey land and town survey land. A point outside Tamil Nadu is answered as not found at once. Where a town has not yet been mapped parcel by parcel, the point can fall on a larger parent area, and the answer says so.

How current

Read from our copy of the state parcel map, refreshed from the state GIS, with the state service as a fallback when our copy has no parcel at the point. Boundaries change only when the survey department redraws them.

How we read it

The point is placed in the parcel polygon that contains it. The extent is the one a land record states where we hold it (extent_source recorded); where no record states one, it is measured from the mapped boundary (extent_source measured) and the answer says so.

Who uses it

Property platforms

Show the survey number and village of a listing from its map pin, and link straight to its land record.

Lenders

Confirm that the survey number in the loan file is the parcel at the site the valuer visited.

Developers

Get the revenue codes once, then chain them into the land record, FMB sketch, guideline value and EC calls.

Advocates

Check that the survey number in a deed matches the ground the client points to on the map.

Limits and good practice

  • The answer is only as good as the point. A pin near a boundary can land on the neighbouring parcel; place it in the middle of the plot.
  • A measured extent is a map tracing, not the registered extent. The two routinely differ by 10 to 15 percent.
  • This identifies the parcel. The owner and the register entry are the separate land record call.
  • For town survey land always carry firka_ward_number and urban_block_number forward. Without the block, a town survey number can point to a different plot.

Pricing

Free

The parcel lookup costs nothing. Free calls have their own allowance per hour and per day, counted across every key and connected app on the account. Credits come from the same LandLens wallet as the chat and the minis. How billing works.

Calling at volume?

Free calls have an hourly and daily allowance. For more than that, or a platform built on these registers, we set up limits and a plan to match.

WhatsApp 99961 29996

Questions

Is there an API to find a survey number from latitude and longitude in Tamil Nadu?

Yes, this one. Send lat and lng and you get the survey number, sub-division, village, taluk, district, revenue codes, ULPIN, extent and boundary of the parcel under the point, as JSON over HTTPS or as an MCP tool.

Does it give the owner's name?

No. It identifies the parcel. The patta holder comes from fetch_land_record, which takes the codes this call returns.

Does it work for city land?

Yes. Town survey parcels come back with rural_urban urban and the ward and block, which the town survey register needs.

Why is the extent marked measured?

No land record we hold states an extent for that parcel, so it was measured from the mapped boundary. Quote it as an approximate mapped area, not the registered extent.

What does it cost?

It costs nothing, within the account's free call allowance.

Updated 22 Oct 2026 · OpenAPI description