Skip to content

Nigerian data you can trust

States, LGAs and wards, senatorial districts and constituencies, banks with account-number checks, phone numbers and plates. Every record traced to an official source. The same answers in Python, JavaScript, Go and a free REST API.

Data version 2026-10-16 · every row linked to its official source

Terminal window
npm install naija-data
import { states, lgas, isValidNuban, parsePhone } from "naija-data";
lgas("Lagos").map((l) => l.name); // ["Agege", "Ajeromi/Ifelodun", ...]
isValidNuban("0000014579", "011"); // true
parsePhone("0803 123 4567")?.e164; // "+2348031234567"

Every record has a source

INEC, the Constitution, the CBN, the NCC and the Official Gazette, each recorded with URL, date and licence. Values from a single source are flagged. See the sources.

Errors in official lists, caught

Cross-checking found a duplicated INEC ward, typos in official names, duplicated constituency codes and banks sharing a code. Each is documented. Coverage and gaps.

Same answers everywhere

Python, JavaScript, Go and the API come from one dataset, and over 13,000 shared tests check that they agree, down to the search scores.

Free and open

Code under MIT, data under CC BY 4.0: use it in commercial apps, just give credit. No API key, no sign-up.

Created and maintained by Akanji Oluwaseun Gabriel (@asgatcreation). Found a mistake? Report it; corrections ship as patch releases.