liberia · fy2025 · government of liberia

Government budgets are public.
Almost nobody can read them at scale.

FiscalTrace extracts structured intelligence from public financial PDFs — automatically surfacing budget anomalies that would take a journalist weeks to find by hand.

API docs GitHub
fiscaltrace — anomaly-feed.live
connecting
Total budget tracked
FY2025 · USD
Spending entities
ministries & agencies
Anomalies flagged
large increases + cuts
Largest budget
Automated anomaly detection
How these controls work: an entity is flagged critical if EITHER its percent change OR its dollar change clears the matching bar below — it doesn't need to clear both.

Critical: % change at or above — flag as critical if the budget moved by this percentage or more, in either direction (default 50%).
Critical: $ change at or above — flag as critical if the budget moved by this many dollars or more, even if the percentage is small (default $10,000,000 — significant at Liberia's budget scale regardless of percentage).
High: % change / $ change — the same either/or logic, one tier down, for entities that don't reach critical but are still worth attention (defaults 30% / $1,000,000).
Minimum % change / $ change to include at all — entities below both of these are left off the list entirely, even as "medium" (defaults 20% / $0, so nothing is excluded by dollar amount alone).

These thresholds are adjustable judgment calls, not fixed facts. Set your own bar, click Apply thresholds, and the list re-ranks immediately.
Loading anomalies…

Three readers, one dataset

The same structured data serves very different needs — without anyone touching a spreadsheet.

A
Analysts
Full API access, cross-year variance, sector-level aggregation — built for World Bank and donor-side budget review.
J
Journalists
Anomalies pre-flagged with the source page cited. No 600-page PDF to read before the story starts.
G
Government & donors
Execution rates and ministry scorecards — the same numbers a Minister of Finance briefing would need.

$818M, eleven sectors

Live breakdown, pulled directly from the structured database — not a static chart.

Loading sector data…

Five stages, PDF to API

The same engineering discipline as OmniSight, applied to a completely different data source.

01
Source documents
MFDP budget PDFs, GAC audit reports, PPCC procurement records — all public, all unstructured.
mfdp.gov.lr
02
PDF extraction engine
Pattern-matched extraction against a 625-page national budget document — sub-4-second runtime.
pdfplumber
03
Structured PostgreSQL
Spending entities, fiscal years, sectors — normalised, indexed, queryable in milliseconds.
Postgres 15
04
Variance computation
Budget growth, execution rate, and anomaly thresholds computed on ingest — not on request.
SQL views
05
FastAPI gateway
Eight endpoints — overview, sectors, search, anomalies, full variance export.
FastAPI

Why this matters

Transparency laws require governments to publish. They don't require the data to be usable. A 625-page PDF technically satisfies disclosure rules while remaining functionally invisible to everyone except someone with weeks to spare.

FiscalTrace closes that gap — not by demanding new disclosure, but by making the disclosure that already exists actually work.

Operational facts

  • 117 spending entities tracked across 11 government sectors
  • $818M in FY2025 allocations structured and queryable
  • 49 entities flagged under default thresholds — adjust the criteria below to set your own bar
  • Every figure traceable to its source document and page

Eight endpoints, fully documented

Full interactive Swagger UI at fiscaltrace.ericdiamason.tech/docs

GET/api/v1/overview
GET/api/v1/sectors
GET/api/v1/anomalies?threshold_pct=20
GET/api/v1/search?q=health
GET/api/v1/entities/{entity_code}

Search any ministry

Full-text search across all spending entities. No authentication required.

Enter a search term above, or try the example.