LandLens Home
Land Lens

Welcome Back

Sign in to continue to dashboard

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

Encumbrance, patta and FMB in one approved run

Document Records API: every record from one deed

Yes. The LandLens document records API takes a link to a Tamil Nadu sale deed, patta, FMB sketch or geotagged site photo (or a map point, or the revenue codes with survey numbers) and fetches every record for that land in one approved run: one encumbrance certificate search over the full available period for every survey the document names, and the patta (or town survey extract) and FMB sketch of each survey, up to six. The first call is a free quote; the approved run costs from 3 credits (one survey, from codes) and more with a document to read or more surveys, and each part is charged only when it delivers.

POSThttps://verified.realestate/api/v1/tools/document_records
Price
3 credits on approval
Source
Registration and revenue registers, read live
Coverage
Every revenue village in Tamil Nadu
Answers in
Quote at once; the run usually takes two to three minutes

Example

Request
curl -X POST https://verified.realestate/api/v1/tools/document_records \
  -H "Authorization: Bearer $LANDLENS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"district_code":"03","taluk_code":"14","village_code":"196","register":"rural","surveys":["65/4B"]}'
Responsereal answer
{
  "ok": true,
  "status": "proposal",
  "data": {
    "proposal": true,
    "action": "document_records",
    "label": "Fetch every record for this land",
    "params": {
      "district_code": "03",
      "taluk_code": "14",
      "village_code": "196",
      "register": "rural",
      "surveys": ["65/4B"]
    },
    "cost": 3,
    "source": "Registration department encumbrance search, revenue patta and FMB registers",
    "note": "Up to 3 credits: 1 for one encumbrance search over every survey, and 2 per survey for its patta and FMB (up to 6 surveys). Each part is charged only when it delivers. Certified copies are ordered separately, 10 credits each."
  },
  "credits_charged": 0,
  "next": {
    "tool": "approve_action",
    "arguments": {
      "action": "document_records",
      "params": { "district_code": "03", "taluk_code": "14", "village_code": "196", "register": "rural", "surveys": ["65/4B"] }
    }
  }
}

A real quote from the API, with the balance and request id left out. Approving it starts the run; job_status returns the records.

What it returns

The first call returns a quote, with status proposal. Send its next block to approve_action within 30 minutes and the run starts in the background: you get a job_id, and job_status returns the result below in data.payload once it is delivered.

FieldWhat it holds
documentWhat was read from the document, when one was given: doc_type, doc_number, doc_year, registration_date, sro_name, district, taluk, village, owners, extent, surveys and any anomalies noticed. Null for a pin or codes.
landThe land the run settled on: district, taluk and village codes and names, register (rural or urban), ward and block for town survey land, and the survey list.
records[]One entry per survey: survey, land_record (the patta answer, as fetch_land_record returns it), land_record_ok, fmb (the sketch answer, as fmb_sketch returns it) and fmb_ok.
ecThe one encumbrance search over every survey, in the same shape ec_transactions returns: the registered entries, their count, the written summary and the report link.
credits_usedWhat the run actually cost. Parts that delivered nothing are returned to the wallet.
notesPlain lines on anything left out, for example surveys beyond the sixth, or a balance that did not cover every part.
messageWhy nothing came back, when no record was delivered.

Ways to call it

Pick the way in by what you hold. Each returns the same kind of quote.

A document

A public link to the deed, patta, FMB sketch or a geotagged site photo. The document is read first, and reading it is part of the quote.

{"file_url": "https://example.com/sale-deed.pdf"}

A map point

A lat and lng on the land. The survey under the point is used.

{"lat": 12.901,"lng": 80.2279}

Codes and surveys

The revenue district, taluk and village codes with the survey numbers. The cheapest quote, since nothing is read.

{"district_code": "03","taluk_code": "14","village_code": "196","surveys": ["65/4B"]}

Inputs

The JSON body of the POST is the arguments. Send one of the three: file_url, lat and lng, or the three codes with surveys. With none of them the call answers not_found and charges nothing.

ArgumentTypeWhat to send
file_url string Public http(s) link to the document: PDF or image (jpg, png, tiff, webp, heic), up to 25 MB.
lat number Latitude of a point on the land, when there is no document.
lng number Longitude of a point on the land, when there is no document.
district_code string Revenue district code, with taluk_code and village_code, when the land is already known.
taluk_code string Revenue taluk code
village_code string Revenue village or town code
surveys array Survey numbers with their sub-division, e.g. ["112/3A", "113"]. Read from the document when one is given.
register string: rural, urban Rural village or town survey, when known.
ward_code string Town survey ward, for an urban parcel.
block_code string Town survey block, for an urban parcel.

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/document_records \
  -H "Authorization: Bearer $LANDLENS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"district_code":"03","taluk_code":"14","village_code":"196","register":"rural","surveys":["65/4B"]}'

Responses

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

statusWhat it means
proposalThe quote. Nothing is charged. Approve it by sending next.arguments to approve_action within 30 minutes, unchanged.
queuedWhat approve_action answers (HTTP 202), with a job_id. Ask job_status every 30 to 60 seconds; its data.status reads running until the run ends in done or failed.
doneIn job_status data.status: data.payload holds the document, land, records and ec, and credits_charged says what the run cost.
failedIn job_status data.status: the run could not be completed, with the reason in error. Credits held for parts that did not deliver are returned.
not_foundNothing to run on: no file_url, no lat and lng, and no codes with surveys. Nothing is charged.
insufficient_creditsHTTP 402 at approval, with the credits needed, your balance and where to top up.

Where the data comes from

Register

Three registers in one run: the encumbrance index of the Tamil Nadu Registration Department, the revenue department's patta register (chitta and A-register, or the town survey extract for city land), and the state cadastral boundary layer (FMB sketches).

Coverage

Every revenue village and town survey ward in Tamil Nadu. A run fetches patta and FMB for up to 6 surveys and carries up to 20 surveys in its one encumbrance search. A longer schedule is named in notes rather than fetched.

How current

Live. The encumbrance search and the patta are read from the department registers at the moment the run is approved.

How we read it

When a document link is given it is read first for its village, survey numbers, document number and registering office. The land is then fixed to revenue codes (from the document, the map point or the codes you sent), the patta and FMB of each survey are fetched, and one encumbrance search runs over every survey together.

Who uses it

Advocates writing title opinions

Start from the deed the client sent and have the encumbrance, patta and sketch for every survey in it before the first reading.

Lenders

Check that the deed on a loan file, the patta holder and the registered history all describe the same land, in one call per file.

Property platforms

Let a seller upload a deed and show the buyer the records behind it.

Limits and good practice

  • Tamil Nadu only.
  • Patta and FMB are fetched for the first 6 surveys; the encumbrance search carries up to 20. Anything beyond is named in notes.
  • A document link must be public (http or https), a PDF or an image, up to 25 MB. A scan that cannot be read fails with nothing charged.
  • A village name in the document that fits more than one place stops the run with candidates. Run it again with the codes or a pin.
  • Certified copies of the entries are a separate order (certified_copy); this run gives the details needed to place it.

Pricing

3 credits on approval

The quote is free. The approved run costs from 3 credits for one survey sent as codes; the quote adds reading the document, one encumbrance search, and the patta and FMB of each further survey. Each part is charged only when it delivers, so the quote is a ceiling, not the bill. 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 that takes a sale deed and returns the EC and patta?

Yes, this one. Send a public link to the deed as file_url; the run reads it for the village and survey numbers, then fetches the encumbrance search and the patta and FMB of each survey.

Do I need a document?

No. A map point (lat, lng) or the revenue codes with survey numbers work too, and cost less because nothing is read.

What does it cost?

The quote is free and says the most the run can cost. Each part is charged only when it returns a record, so a survey whose sketch is not on the map costs nothing for the sketch.

How long does it take?

The quote is instant. The approved run usually completes in two to three minutes, most of it the encumbrance search. Poll job_status for the result.

Can it order certified copies too?

Not in the same run. Each encumbrance entry comes with the details a certified copy is ordered against; place the order with certified_copy.

Updated 22 Oct 2026 · OpenAPI description