Find My Village · the LGD India API

Every village in India, by the government's own code.

State, district, tehsil, block, village, Gram Panchayat, ward — the Ministry of Panchayati Raj's directory, served over HTTPS with what it takes to say which Chhana: the block, the panchayat, the census code, and the notes LGD's own reports raise.

1,000 calls a month free · no card · data exported from LGD on 2026-09-12

Live · the form your users will fillfrom /v1, real data
State
District
Tehsil / taluka
Village
Gram Panchayat
Ward
Choose a village to see its record.
2
Maharashtra · Uttarakhand
49
districts
62,254
villages
36,929
local bodies, Zilla Parishad to Nagar Panchayat
1,68,449
wards
Why it exists

The directory is public. Usable is the hard part.

LGD ships each state as twelve spreadsheets whose tables only half agree. Village names repeat — 17,718 times in Maharashtra alone. Blocks and tehsils share code numbers. A village can belong to two Gram Panchayats, or none. We load it as published, link what LGD leaves unlinked, keep every finding as a note, and serve it with three rules a form can rely on.

1

An empty list means “None of the listed”

A list is empty exactly when LGD has nothing at that level — a village with no Gram Panchayat, a body with no wards. Your form shows the one fallback and moves on.

{"data":[],"meta":{"count":0}}
2

A repeated name comes back as every row, with a hint

Two villages called Chhana in Almora tehsil: both returned, each with what separates them. Show “label — hint”; the user picks.

[
 {
  "code": 53003,
  "label": "Chhana",
  "hint": "Dhauladevi Block · GP Aarchali · Census 053003 · LGD 53003"
 },
 {
  "code": 53075,
  "label": "Chhana",
  "hint": "Hawalbag Block · GP Chhana · Census 053075 · LGD 53075"
 }
]
3

notes says what LGD reports about a row

In words, on every record — “No Gram Panchayat In LGD”, “Duplicate Entry In LGD”, “Gram Panchayat Is Under Another District's Zilla Parishad”. Nothing hidden, nothing corrected.

{
 "code": 562051,
 "name": "Kari",
 "notes": [
  "Gram Panchayat Is Under A Different Block",
  "Gram Panchayat Is Under Another District's Zilla Parishad"
 ]
}
The API

30 endpoints. Get-all and get-by-id for every resource.

Keyed by LGD's codes, which are the same in every government system — so a village code from your own records resolves at /v1/villages/{code} without saying which state. Every response carries the LGD export date it was built from.

curl "https://findmyvillage.devshiv.in/v1/villages/53075" -H "X-API-Key: $LGD_API_KEY"

{
  "data": {
    "code": 53075,
    "name": "Chhana",
    "block": {
      "code": 357,
      "name": "Hawalbag"
    },
    "notes": [
      "Another Village Of This Name In This Sub-District"
    ],
    "state": {
      "code": 5,
      "name": "Uttarakhand"
    },
    "issues": [
      "village_name_clash"
    ],
    "status": "Inhabitant",
    "district": {
      "code": 45,
      "name": "Almora",
      "name_local": null
    },
    "name_local": null,
    "lgd_version": 1,
  …
Pricing

Cost of production, plus a fixed margin. That's the whole formula.

What it costs to run the service each month — servers, database, the hours spent refreshing states from LGD — plus 20%, divided over the calls served. The price per call falls as usage grows, and we re-run the numbers as it does. INR, GST extra.

How each plan is priced →

Freeno card
₹0 / month
1,000 calls · 30/min
Starter
₹649 / month
25,000 calls · 60/min
Growth
₹6,399 / month
2,50,000 calls · 300/min
Scale
₹25,589 / month
10,00,000 calls · 1000/min

Start with the free plan.

A key in a minute, 1,000 calls a month, every endpoint and every state.

Get a free keyReference