Open data

VoiceOfVillage API

Read-only JSON for every village, sub-district, district and state of India, with Census 2011 figures, pincodes and constituency results. Every response lists its sources. No personal data is ever served.

Access and limits

  • Without a key: 60 requests per hour per IP address.
  • With a free key: 5,000 requests per day. Create a key (sign-in needed), then send Authorization: Bearer vov_….
  • Every response carries RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset headers; over the limit you get HTTP 429 with Retry-After.
  • Machine-readable description: /api/v1/openapi.json (OpenAPI 3.1).

Endpoints

GET /api/v1/villages/{lgd}

One village by LGD code, with Census 2011 figures and constituencies

curl -H "Authorization: Bearer $VOV_KEY" https://www.voiceofvillage.com/api/v1/villages/572308
GET /api/v1/villages

Search villages by pincode or name (prefix + fuzzy), up to 100

curl -H "Authorization: Bearer $VOV_KEY" https://www.voiceofvillage.com/api/v1/villages?q=Kothapalle&limit=5
GET /api/v1/states

All states and union territories

curl -H "Authorization: Bearer $VOV_KEY" https://www.voiceofvillage.com/api/v1/states
GET /api/v1/states/{slug}/districts

Districts of a state

curl -H "Authorization: Bearer $VOV_KEY" https://www.voiceofvillage.com/api/v1/states/telangana/districts
GET /api/v1/districts/{id}/mandals

Sub-districts (mandal / tehsil / taluka / block) of a district

curl -H "Authorization: Bearer $VOV_KEY" https://www.voiceofvillage.com/api/v1/districts/1/mandals
GET /api/v1/mandals/{id}/villages

Villages of a sub-district, 100 per page

curl -H "Authorization: Bearer $VOV_KEY" https://www.voiceofvillage.com/api/v1/mandals/1/villages?page=1
GET /api/v1/constituencies/lok-sabha/{slug}

A Lok Sabha constituency: segments and results since 2009, with sources

curl -H "Authorization: Bearer $VOV_KEY" https://www.voiceofvillage.com/api/v1/constituencies/lok-sabha/karimnagar
GET /api/v1/constituencies/vidhan-sabha/{state}/{slug}

An assembly constituency: results history with sources

curl -H "Authorization: Bearer $VOV_KEY" https://www.voiceofvillage.com/api/v1/constituencies/vidhan-sabha/telangana/choppadandi

MCP server for AI assistants

A Model Context Protocol server (Streamable HTTP, stateless, read-only) at https://www.voiceofvillage.com/api/mcp. Tools: get_village, search_places, get_mandi_prices, get_weather, find_nearest, get_jobs, get_representatives, distance. Every result carries citations ({source, as_of, url}); a tool says available: false when we don't hold the data rather than guess.

tools/call shares the API limits above (send your key as a Bearer token for the higher limit); initialize and tools/list are free.

curl -s https://www.voiceofvillage.com/api/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream'   -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_village","arguments":{"lgd_code":572286}}}'

Licences, per field

The API mixes data under different open licences, so no single licence covers a response. Every response carries field_licenses (field path → licence id; [] means each item, and the most specific path wins) and licenses (id → name and link). Election result rows also carry their own license.

  • Village names, codes and hierarchy: Local Government Directory, and Census 2011 figures: Census of India — Government Open Data License – India (GODL-India).
  • Pincodes: India Post's All India Pincode Directory via data.gov.in (GODL-India), matched to villages by VoiceOfVillage.
  • Election results: Election Commission of India (via OpenCity and archived ECI result pages) and TCPD Lok Dhaba — each response names the source of every contest; follow each source's terms.
  • Village coordinates, and anything derived from them (including which constituency a village falls in): © OpenStreetMap contributors, ODbL 1.0. ODbL is share-alike: a database you build from these fields must stay under ODbL.
  • VoiceOfVillage's own links, page URLs and ids: CC BY 4.0. Credit "VoiceOfVillage (voiceofvillage.com)" with a link, and keep the source citations from each response.