diavgis.gr: Greek public procurement as one clean dataset
A public procurement transparency platform with alerts.

The problem
Greek public procurement data is spread across Diavgeia, KIMDIS and TED, each in a different format. The same purchase appears in several documents and gets counted several times.
What I built
- Collection from Diavgeia, KIMDIS, TED and the GEMI business registry, refreshed every 2 hours
- Cleaning and linking records into lifecycle chains: request, tender, award, contract, payment
- Alerts for new records that match saved searches
- A REST API and an MCP server, so other systems and AI agents can read the data
- Natural persons appear as "Sole proprietorship", without name or tax ID
What it covers today
- Acts
- 2,127,760
- Buyers and suppliers
- 87,186
- Lifecycle chains
- 250,283
- Open tenders
- 5,874
Figures as of 19/10/2026, taken from the site itself.
Technology
TypeScript, Cloudflare Workers, Hono, D1, R2, Workers AI, Vectorize, MCP