The definitive, type-safe dataset and utility library for Nepal's administrative divisions. Built with TypeScript for modern Node.js environments.
Install the package using your preferred package manager:
# npm
npm install nepali-address
# pnpm
pnpm add nepali-address
# yarn
yarn add nepali-address
# bun
bun add nepali-address
Retrieve all provinces or find a specific one by its ID or ISO code.
import { getProvinces, getProvinceByISOCode } from 'nepali-address';
// Get all provinces
const provinces = getProvinces();
// Get Lumbini Province by ISO code
const lumbini = getProvinceByISOCode('NP-P5');
console.log(lumbini.name_ne); // เคฒเฅเคฎเฅเคฌเคฟเคจเฅ
Filter districts by their parent province or lookup by Postcode/ID.
import { getDistrictsByProvince, getDistrictByPostcode } from 'nepal-address';
// Get all districts in Bagmati (Province ID: 3)
const bagmatiDistricts = getDistrictsByProvince(3);
// Find a district by Postcode
const kathmandu = getDistrictByPostcode("44600");
console.log(kathmandu.name); // Kathmandu
Retrieve all local levels or find a specific one by its ID, district_id, type or more.
import { getLocalLevels, getLocalLevelById, getLocalLevelsByType } from 'nepali-address';
const districts = getLocalLevels();
// โ [{ id: 10101, name: 'Phaktanglung', ... }, ...]
const district = getLocalLevelById(10101);
// โ { id: 10101, name: 'Phaktanglung', ... }
const missing = getLocalLevelById(1999);
// โ undefined
const district = getLocalLevelsByType('rular-municipality');
// โ [{ id: 10101, name: 'Phaktanglung', ... }, ...]