BG EN

Data & Platform

Bulgarian depth, European breadth. This is the foundation behind every recommendation.

Last updated:

The Bulgarian procurement record (EOP)

Not just metadata — the documents themselves: requirements, templates, decisions, protocols and the bidders’ submitted offers. Even scanned documents are read via OCR so they become searchable and analysable.

Coverage period: May 2023 → August 2026 (3+ years)

155,269
Tenders tracked
≈ 3.75M
Procurement documents
660,561
Scanned documents read via OCR
≈ 3.09 TB
Total corpus size on disk
6,305
Rulings by the CPC and the Supreme Court
93%
Of tenders with at least one attached document
649,366
Bidders’ price offers
587,315
Art. 33 clarification requests
492,760
Decisions, protocols & reports
227,805
Participant data files
3,387
Distinct contracting authorities

Document breakdown by type

2.97M
PDF (2,846 GB) — partly scanned, read via OCR
354K
Word (.docx) — 48 GB
177K
Spreadsheets (.xlsx) — 7 GB
161K
Word, legacy format (.doc) — 32 GB
74K
Spreadsheets, legacy format (.xls) — 10 GB
8K
Plain text files (.txt/.rtf) — 2 GB

What the corpus is made of

Tender documents are counted separately from service and auxiliary files. Archives are unpacked so every file inside is searchable — which is why files outnumber documents.

3,748,523
Tender documents
1,187,172
Service files with metadata
1,506,835
Auxiliary files — images, CAD drawings, attachments
415
Archives left — everything else is unpacked so it is searchable

Appeals: from the CPC to the Supreme Court

Public indexes usually carry the operative part — who won the dispute. The reasoning that explains why is missing. Here it is present.

4,369
CPC decisions, originals
6,261
CPC decisions, extracted text
1,936
Supreme Court acts, full text including the reasoning
3,702
Ruling ↔ tender links

How we know who won

A winner is established for roughly 107,900 tenders across 182,000 records — one tender yields several when it is split into lots. Every record is tagged with where it came from, because a winner is only worth as much as the source it was read out of.

118,900
Official OCDS dump
34,300
The EOP public API
22,300
Read off the pages
6,500
Language model over the decisions
Map of EU-wide public procurement data

The EU-wide record (TED — Tenders Electronic Daily)

European breadth — the whole EU market for benchmarking, cross-border opportunities and competitor intelligence at scale.

Sectors: all — IT/software, construction, medical, transport, energy…

≈ 3.3M
EU tender notices (all member states)
61,000
EU-wide winners with contacts
~3 г.
Coverage (1,113 days of publications)
77,691
Bulgarian notices, fully parsed
1,735
Buyer organisations
77,330
Cross-link keys EOP ↔ TED (BG)

Verification note: The ≈3.3M figure is from the data owner’s larger TED store; treat it as approximate until a precise count is wired in. The Bulgarian figures (77,691) are verified.

Why it’s unique — from the bidder’s perspective

This dataset lets you see the whole field before you bid — every competitor’s history, the prices others submitted, and the exact reasons for disqualification.

Depth few others have

Not just metadata, but the actual documents — buyer requirements, templates, award decisions, evaluation protocols, and competitors’ own submitted offers (price/technical packages per company, keyed to their EIK). You can see what others bid.

Structured & queryable

Participants, EIKs, prices, consortium members and disqualification reasons are extracted into structured records (validated at 99.5% EIK extraction accuracy on a 500-tender benchmark).

Cross-referenced

EOP outcomes are linked to TED contact data — enabling candidate history, competitor analysis and market statistics.

Continuously refreshed

The data is continuously refreshed directly from the source.

The rulebook the tender points to

Contracting authorities often do not spell a requirement out — they refer to another document: a technical specification from the national rail or road infrastructure agency, methodological guidance from the Public Procurement Agency, a clause of the Public Procurement Act and its implementing rules, the Commerce Act or the Obligations and Contracts Act. We hold those sources and link them to the tenders that cite them, so a requirement that never appears in the tender file still gets checked.

How the CPC and the Supreme Court have ruled

The chain is followed to the end: tender → decision by the Commission for Protection of Competition → case before the Supreme Administrative Court → the judgment with its reasoning. The full Supreme Court texts carry the reasoning, not just the operative part — and it is the reasoning that decides how the next similar dispute goes.

Transparency note: participant and offer extraction is an in-progress backfill — we present it as “continuously expanding” rather than complete. The dataset’s real depth is impressive enough without overstatement.

Slavov Capital is an independent advisory practice and is not affiliated with, nor endorsed by, AOP, EOP or any state body. Data is derived from publicly available registers.