Skip to content

NDAP — National Data and Analytics Platform

NITI Aayog's curated platform — 600+ indicators for every district, cleaned and ready to analyse.


Provider
NITI Aayog, Government of India
Access Level
🟢 Browse free; 🟡 Login to download
Formats Available
CSV, API (JSON)
Coverage
National → District (~748 districts)
Sources
70+ government datasets aggregated

What Makes NDAP Special?

NDAP is not a raw data source — it is a curated, cleaned, and harmonised collection of district-level indicators from across the government. Think of it as a pre-cleaned analytical database.

Key advantages: - All data is at district level — consistent across datasets - Data is cleaned — no formatting inconsistencies - Covers 600+ indicators from Census, HMIS, UDISE, NFHS, MGNREGA, and more - Supports trend analysis (multiple years per indicator) - Has an API for programmatic access


What Categories Are Available?

Category Example Indicators
Health IMR, MMR, institutional delivery, stunting
Education Literacy, dropout, PTR, enrollment
Agriculture Irrigation coverage, crop yield
Economy Per capita income, bank branches
Infrastructure Road density, electricity, water
Gender Female literacy, sex ratio, FLFPR
SDG Indicators 100+ SDG-mapped district indicators
Aspirational Districts Special tracking for 112 backward districts

How to Access

Browse Without Login 🟢

  1. Go to ndap.niti.gov.in
  2. Browse the "Data Catalogue" — no login needed
  3. View charts and trends for any district + indicator combination
  4. Compare districts side by side

Download with Login 🟡

  1. Register (email + mobile)
  2. After login: click "Download" on any dataset
  3. Download as CSV — rows = districts, columns = indicator + year

API Access 🔵

import requests
import pandas as pd

# NDAP API (requires login token)
# Get token from your NDAP profile page after login

API_TOKEN = "your-token-here"
BASE_URL = "https://ndap.niti.gov.in/api/v1"

# Example: Get IMR data for all districts
headers = {"Authorization": f"Bearer {API_TOKEN}"}
params = {
    "indicator_id": "NFHS5_IMR",   # Infant Mortality Rate from NFHS-5
    "year": 2021,
    "level": "district"
}

response = requests.get(f"{BASE_URL}/data", headers=headers, params=params)
data = response.json()

df = pd.DataFrame(data['results'])
print(df.head())
# df has: district_name, state_name, value, year

# Save to CSV
df.to_csv("ndap_imr_districts.csv", index=False)

✏️ Practice Exercise

Exercise 4.5 — Find the Bottom 10 Districts on Health

Goal: Use NDAP to identify India's worst-performing districts on SDG-3 (Health & Wellbeing).

  1. Go to ndap.niti.gov.in
  2. Click "SDG Dashboard""SDG 3: Good Health and Well-being"
  3. View district composite score for SDG-3
  4. Sort ascending to find the bottom 10 districts

Questions: - [ ] Which states do the bottom 10 districts belong to? - [ ] Are they geographically clustered (e.g., all in one region)? - [ ] Compare your own district to the national average on SDG-3 score - [ ] What specific indicator drags down the score in the worst districts?

NDAP is also great for the Aspirational Districts Programme — check if your district is one of the 112 aspirational districts and see how it has improved.


Next Dataset: DBT — Direct Benefit Transfer →