ingres.iith.ac.in APIingres.iith.ac.in ↗
Access India's national groundwater assessment data via 7 endpoints. Retrieve recharge, extraction, and resource availability at state, district, and block level.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/193cf43e-4028-48b5-ad4b-45df7e18386f/get_assessment_years' \ -H 'X-API-Key: $PARSE_API_KEY'
Get available assessment years for groundwater data. Returns a static list of known assessment periods.
No input parameters required.
{
"type": "object",
"fields": {
"data": "array of assessment year strings in format YYYY-YYYY",
"status": "string indicating success"
},
"sample": {
"data": [
"2012-2013",
"2016-2017",
"2019-2020",
"2021-2022",
"2022-2023",
"2023-2024",
"2024-2025"
],
"status": "success"
}
}About the ingres.iith.ac.in API
The INGRES API exposes India's National Groundwater Resource Estimation data across 7 endpoints, covering national summaries down to block-level breakdowns. Using get_state_data you can retrieve district-level recharge and extraction figures for any state by name or UUID; get_district_data goes further, returning block-level water data within a chosen district. Assessment years, report listings, and a location search endpoint round out the coverage.
What the API Covers
The API surfaces data from India's INGRES portal, which publishes periodic groundwater assessments across multiple geographic tiers. Every response relates to a specific assessment year — expressed as a YYYY-YYYY string such as 2022-2023 or 2024-2025 — and you can call get_assessment_years (no inputs required) to retrieve the full list of available periods before making other requests.
Navigating Geographic Levels
get_country_summary returns aggregated national statistics: totals for extractable resources, current extraction, recharge, and natural discharges computed across all states for the chosen year. get_state_list returns an array of state objects each carrying groundwater metrics and a locationUUID you can pass to downstream calls. get_state_data accepts either state_uuid or state_name and returns district-level breakdowns; get_district_data drills one level further to blocks, requiring both a state identifier and a district identifier (again accepting either names or UUIDs). Block-level objects include water level information alongside the standard recharge and extraction fields.
Supporting Endpoints
get_report_list returns a structured object mapping year strings to arrays of report objects, each with filename, file path, and timestamp — useful for linking users directly to the underlying PDF reports that accompany each assessment cycle. search_location accepts a free-text query string and performs a case-insensitive substring match against state names, returning matching objects with their UUIDs. This is the quickest way to resolve a partial state name to its UUID without iterating the full state list.
Identifier Lookup Behavior
Endpoints that accept both _name and _uuid parameters perform automatic UUID resolution when only a name is supplied. This means you can call get_district_data with just state_name and district_name without separately fetching UUIDs first, though passing UUIDs directly avoids the internal lookup step and is preferable in high-volume workflows.
- Tracking annual changes in groundwater extraction for a specific state across multiple assessment years using
get_state_data - Building a national groundwater depletion map by aggregating block-level data from
get_district_dataacross all districts - Comparing district-level recharge versus extraction ratios to identify over-exploited zones
- Retrieving downloadable PDF assessment reports via
get_report_listfor a given assessment year - Resolving partial or misspelled state names to valid UUIDs using
search_locationbefore querying detailed data - Computing national totals for a given assessment year using
get_country_summaryto feed dashboard KPIs - Monitoring block-level water level information alongside extraction figures for groundwater sustainability research
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does INGRES have an official public developer API?+
What does `get_district_data` return that `get_state_data` does not?+
get_state_data returns an array of district objects for the chosen state. get_district_data goes one level deeper, returning an array of block objects within a single district, and each block object includes water level information in addition to the recharge and extraction fields present at the district level.Does the API expose taluk- or village-level groundwater data below the block level?+
get_district_data. You can fork this API on Parse and revise it to add a sub-block endpoint if the INGRES portal publishes that data in the future.Are assessment years updated automatically, and how far back does coverage go?+
get_assessment_years, which reflects the assessment periods published on the INGRES portal. Historical depth depends on what the portal has indexed; call that endpoint first to confirm which YYYY-YYYY strings are valid before querying other endpoints.