Express + static web UI for exploring ICIJ Offshore Leaks data alongside local CSV extracts.
- ICIJ API Search: query the public ICIJ reconciliation API.
- Local CSV Explorer: search officers and linked offshore data from local CSVs.
- Tabular/Pivot Views: compare jurisdictions and countries with pivot tables and CSV downloads.
- Node.js + Express
- Static frontend (HTML/CSS/JS)
public/ # Frontend UI
src/ # Express app + API routes
data/ # CSV data (local)
tests/ # Jest tests
- Install dependencies
npm install
- Start the server
npm run dev
- Open the UI
http://localhost:3000/
Create a .env (or set env vars) to override defaults:
PORT=3000
ICIJ_NAMESPACE=offshore-leaks
LINKED_OFFSHORE_CSV=data/linked_offshore_table_2026.csv
OFFICERS_CSV=data/full-oldb.LATEST/nodes-officers.csv
ENTITIES_CSV=data/full-oldb.LATEST/nodes-entities.csv
COMPANY_COUNTS_CSV=data/company_counts_by_officer_country.csv
GET /health— status checkGET /icij/manifest?dataset=offshore-leaksGET /icij/search?q=Acme&type=entity&dataset=offshore-leaksGET /icij/nodes/:idGET /icij/nodes/:id/relationshipsGET /icij/company-links?q=Acme&dataset=offshore-leaksGET /linked-offshore?officer_id=123&limit=50&offset=0GET /officers-search?name=JohnGET /entities-search?company_id=123GET /company-counts— aggregated counts fromdata/company_counts_by_officer_country.csv
ICIJ API Search—/icij.htmlLocal CSV API—/local.htmlTabular Data—/tabular.html
npm run dev— start servernpm test— run tests
This project expects ICIJ Offshore Leaks CSV extracts. Some fields use non‑ISO jurisdiction codes (e.g., BVI, PMA), which are mapped in the frontend.
The Offshore Leaks Database is licensed under ODbL. Please cite the International Consortium of Investigative Journalists (ICIJ) when using this data.