Skip to main content Skip to navigation

National Project Information and Opportunities

Open Data

API documentation

Machine-readable access to the same registers the website serves, with the same filters and the same provenance on every record.

Status

ZEPRA currently publishes machine-readable data through filtered dataset endpoints rather than a versioned REST API. A versioned API with a published contract and stability guarantees will follow; until it exists, ZEPRA does not advertise one, because an endpoint that changes without notice is worse than none.

Dataset endpoints

Each returns the full published register in the requested format.

DatasetAddress
Project register GET /open-data/download/projects?format=csv|json
Procurement register GET /open-data/download/procurement?format=csv|json
Contract awards GET /open-data/download/awards?format=csv|json

Filtered endpoints

The register pages accept the same filters as their export endpoints, so any filtered view of the website can be taken as data by swapping the path.

PurposeAddress
Filtered projectsGET /projects/export.csv?province=lusaka&stage=in_progress
Filtered procurementGET /procurement/export.json?open=1
Filtered awardsGET /awards/export.csv?awarded_from=2026-01-01
Map areas (GeoJSON)GET /map/areas.json?level=province|district
Map points (GeoJSON)GET /map/points.json

Parameters

ParameterEffect
formatcsv or json. Defaults to CSV.
include_demonstration1 to include demonstration rows. Omitted by default.
qKeyword across title, identifier and indexed text.
province, districtLocation slug, as used in the website address.
agency, sector, fundingReference-data slug.
stage, procurement, attentionControlled vocabulary values; repeat or comma-separate for several.
value_min, value_maxApproved value bounds in the record's currency.

Response envelope

JSON responses name the dataset, the publisher, the generation time and the platform licence before the records:

{
  "dataset": "zepra-projects",
  "publisher": "Zambia Electronic Projects Registry and Analytics",
  "generated_at": "2026-10-25T22:21:04+00:00",
  "platform_licence": "Creative Commons Attribution 4.0 International (CC BY 4.0)",
  "notice": "Source records remain subject to the terms of the institution that published them...",
  "records": [ ... ]
}

Provenance on every record

Each row carries source_organisation, source_system, source_licence, verification_status, is_demonstration and last_source_update. A row that leaves ZEPRA can still be traced to the institution that published it.

Fair use

  • Identify your client honestly in the User-Agent header.
  • Prefer one bulk download over many small requests.
  • Requests are rate limited. A client that ignores limits may be blocked.
  • Attribute ZEPRA and the originating institution when republishing.
  • Do not present demonstration rows as government records.

Standards

Procurement fields follow OCDS 1.1 and project-level fields follow OC4IDS 0.9. Where a source published an OCID, ZEPRA retains it unchanged. Projects additionally carry a permanent ZEPRA identifier that is issued once and never reused.

Getting in touch

For bulk access, a data-sharing arrangement or notice of a forthcoming change, write to projects@zepra.co.zm or telephone 0211 777 400.