Introduction
Nigerian public data as a versioned REST API for developers worldwide
Mission
OpenNG collects, validates, and publishes Nigerian public data—fuel, holidays, geography, and more—as stable JSON behind a single API surface. The goal is to replace brittle PDF scraping with something you can call from any stack and trust in production.
Who uses OpenNG
Product builders
Dashboards and internal tools
Teams wire OpenNG into BI tools, internal portals, and ops dashboards where fresh numbers beat static spreadsheets.
Research and journalism
Analysts and reporters use filters and exports to compare periods, states, and categories without maintaining one-off scrapers.
Platform operators
If you run civic infrastructure, OpenNG is meant to sit beside your own services: cache aggressively, respect rate limits, and fall back to documented error codes when something drifts.
How data reaches you
Ingest
Imports land in staging with batch identifiers. Scrapers and manual pipelines write rows there first—never straight to the public tables the API reads.
Validate
Stored procedures score each batch: required fields, referential integrity against ref tables, and domain rules (for example valid holiday calendars).
Serve
Validated rows migrate to public schema tables. The API reads only from public and ref, so what you see in /v1 matches what passed validation.
What to read first
Start with Getting started for base URL and first requests, then Authentication, Response format, and API conventions before you open dataset pages.
Getting started
Base URL, keys, authentication, terminology, FAQ, and next links in one place.
Rate limits
Anonymous limits vs authenticated limits; headers on every response.
Response format
Success envelope, list `meta`, and structured errors.
Authentication
Sessions, API keys, and anonymous access.
Dataset snapshot
Live and planned resources follow the same ResourceFactory contract: list, meta, detail, and export where policy allows.
Holidays
National and regional entries with year, category, and schedule metadata.
Fuel prices
PMS, AGO, and kerosene—monthly cadence when launched.
Food prices
Commodity trends aligned with official statistics releases.
States
All states and FCT for joins on `state_id`.
LGAs
LGAs per state; required `state` filter on the list route.
Health & discovery
`GET /health` and `GET /meta` for probes and discovery.
Authenticated access
Optional bearer token for higher throughput than anonymous IP limits.
Conventions
Filters, pagination, and error codes shared by every resource.
Contribute
How to propose fixes and new datasets.
Keep reading
The On this page column lists headings on this page. For keys and auth detail, use Getting started and Authentication.