RE

Registr smluv

czech API

Registr smluv

Type: company
Module: RegistrSmluv

Capabilities

Contract Search Counterparty Lookup Contract Value Analysis Public Spending Tracking ICO Cross-Reference Full-Text Search

Try Registr smluv

API Endpoint

Results

Overview

Registr smluv (Czech Contract Registry) is a legally mandated public database where Czech state bodies, municipalities, state-owned enterprises, and other public entities must publish contracts valued above CZK 50,000. Established by Act No. 340/2015 Sb., contracts that are not published within 30 days are considered void. This makes it one of the most complete sources of public-sector financial relationships in the Czech Republic.

For OSINT investigations, the registry reveals business relationships between private companies and state entities, contract values, counterparty networks, and patterns of public spending. The legal requirement for publication and the void sanction for non-compliance ensure nearly complete coverage of public-sector contracting above the threshold.

The registry has been operational since July 1, 2016, and has accumulated over 5 million published contracts. It covers all ministries, government agencies, regional authorities, municipalities with extended competence, state-owned enterprises, public universities, public hospitals, and other entities subject to the publication obligation. Certain contracts are exempt from publication -- those involving intelligence services, military procurement classified for security reasons, and contracts with natural persons concerning their personal property.

The transparency provided by Registr smluv has transformed Czech public procurement oversight. Independent watchdog organizations like Hlidac statu systematically analyze registry data to identify procurement anomalies, political connections in contracting, and spending patterns. For OSINT analysts, this creates a rich ecosystem of both raw data and analytical tools for investigating public-sector financial relationships.

Data Sources and Coverage

Data CategoryDescriptionCompleteness
Contract PartiesFull legal identification of all signatories (name, ICO, address)Complete (required by law)
Contract ValueTotal contract value in CZK, including VAT treatmentRequired for all contracts
Subject MatterDescription of contracted goods, services, or worksFree-text, quality varies
Contract DocumentsFull-text PDF/DOC attachments of signed contractsMandatory attachments
Effective DatesSigning date, publication date, effectiveness date, validity periodComplete
AmendmentsLinked amendments, addenda, and supplementary agreementsComplete with cross-references
Contract IDUnique identifier in the registry systemSystem-generated
Publication MetadataPublishing entity, publication timestamp, formatSystem-generated
Linked ContractsReferences to related framework agreements or parent contractsWhere applicable

Entity Types Subject to Publication

Entity CategoryExamplesCoverage
State AdministrationMinistries, central agencies, regulatory bodiesComplete
Regional AuthoritiesKraje (regions), statutory citiesComplete
MunicipalitiesCities and towns with extended competenceVaries by size
State-Owned EnterprisesCEZ, Czech Railways, Czech PostComplete
Public HealthcareUniversity hospitals, state health institutesComplete
Public EducationPublic universities, research institutionsComplete
State FundsSZIF, SFDI, State Environmental FundComplete
Constitutional BodiesCourts, Constitutional Court, Supreme Audit OfficeComplete

API Integration

The registry provides an open data API at https://smlouvy.gov.cz/api/v1/ with JSON responses. No authentication is required. The API supports search, filtering, and structured data retrieval.

API Endpoints

EndpointMethodDescription
/api/v1/smlouvy/vyhledavaniGETFull-text search across contracts
/api/v1/smlouvy/{id}GETGet specific contract by ID
/api/v1/smlouvy/ico/{ico}GETGet all contracts for a specific ICO
/api/v1/prilohy/{id}GETDownload contract attachment

Query Parameters

ParameterTypeDescription
dotazstringFull-text search query
icostringFilter by party ICO
datumOddateContract date from (YYYY-MM-DD)
datumDodateContract date to (YYYY-MM-DD)
hodnotaOdnumberMinimum contract value
hodnotaDonumberMaximum contract value
stranaintegerPage number for pagination
velikostStrankyintegerResults per page (max 100)

Query Examples

curl Examples

# Full-text search for contracts
curl "https://smlouvy.gov.cz/api/v1/smlouvy/vyhledavani?dotaz=IT%20services&strana=1&velikostStranky=50"

# Get all contracts for a specific company by ICO
curl "https://smlouvy.gov.cz/api/v1/smlouvy/vyhledavani?ico=12345678&strana=1"

# Search with date range and value filter
curl "https://smlouvy.gov.cz/api/v1/smlouvy/vyhledavani?datumOd=2025-01-01&datumDo=2025-12-31&hodnotaOd=1000000"

# Get specific contract details
curl "https://smlouvy.gov.cz/api/v1/smlouvy/12345678"

# Search for contracts between two specific entities
curl "https://smlouvy.gov.cz/api/v1/smlouvy/vyhledavani?ico=12345678&dotaz=Ministerstvo%20financi"

# Download contract attachment
curl -O "https://smlouvy.gov.cz/api/v1/prilohy/attachment-id"

Elixir Integration

# Search contracts by keyword
{:ok, results} = PrismaticOsint.RegistrSmluv.search("cybersecurity consulting",
  date_from: ~D[2025-01-01],
  date_to: ~D[2025-12-31],
  min_value: 500_000
)
# => %{
#   total: 47,
#   contracts: [
#     %{id: "12345", subject: "Cybersecurity audit services",
#       value: 2_500_000, currency: "CZK",
#       parties: [
#         %{name: "Ministerstvo vnitra", ico: "00007064", role: :contracting_authority},
#         %{name: "Security Firm s.r.o.", ico: "87654321", role: :contractor}
#       ],
#       signed: ~D[2025-03-15], published: ~D[2025-03-20]}
#   ]
# }

# Get all contracts for a specific company
{:ok, contracts} = PrismaticOsint.RegistrSmluv.by_ico("12345678",
  date_from: ~D[2020-01-01]
)
# => %{total: 23, total_value: 45_000_000, contracts: [...]}

# Map government supplier network
{:ok, network} = PrismaticOsint.RegistrSmluv.supplier_network("12345678",
  depth: 2,
  include_subcontractors: true
)
# => %{
#   central_entity: "Example Corp s.r.o.",
#   government_clients: [%{name: "Min. dopravy", contracts: 5, total: 12_000_000}],
#   co_suppliers: [%{name: "Partner s.r.o.", shared_clients: 3}],
#   total_government_revenue: 45_000_000
# }

# Analyze contracting patterns for anomaly detection
{:ok, analysis} = PrismaticOsint.RegistrSmluv.analyze_patterns("12345678",
  checks: [:concentration, :timing, :value_clustering, :amendment_frequency]
)
# => %{
#   concentration_risk: :medium,  # 60% revenue from single client
#   timing_anomalies: [],
#   value_clustering: :none,
#   amendment_frequency: :elevated  # 40% of contracts amended
# }

# Cross-reference with beneficial ownership data
{:ok, enriched} = PrismaticOsint.Pipeline.contract_investigation("12345678",
  sources: [:registr_smluv, :ares, :justice_cz, :verejne_zakazky, :hlidac_statu]
)

Data Schema

FieldTypeDescription
identifikator.idSmlouvystringUnique contract identifier
identifikator.idVerzeintegerVersion number (for amendments)
casZverejnenidatetimePublication timestamp
schpilohaobjectContract document attachments
smlouva.subjekt.nazevstringPublishing entity name
smlouva.subjekt.icostringPublishing entity ICO
smlouva.smluvniStrana[].nazevstringCounterparty name
smlouva.smluvniStrana[].icostringCounterparty ICO
smlouva.smluvniStrana[].adresastringCounterparty address
smlouva.predmetstringContract subject description
smlouva.hodnotaBezDphnumberValue without VAT
smlouva.hodnotaVcetneDphnumberValue including VAT
smlouva.datumUzavrenidateContract signing date
smlouva.cisloSmlouvystringInternal contract reference number
smlouva.navlesniCjPrislusneSmlouvystringReference to parent contract
smlouva.odkpiloha[].nazevSouborustringAttachment filename

Use Cases

Government Supplier Intelligence

By aggregating all contracts for a target company, analysts build comprehensive profiles of government supplier relationships. This reveals which ministries and agencies are clients, the volume and frequency of contracts, and whether the company is dependent on public-sector revenue. Companies with highly concentrated government revenue face significant business risk from political changes.

Conflict of Interest Detection

Cross-referencing contract parties with company ownership data from Justice.cz reveals potential conflicts of interest -- such as companies owned by relatives of government officials winning contracts from the official's agency. Hlidac statu automates much of this analysis.

Public Spending Analysis

Aggregate analysis of contract data reveals spending patterns across government sectors, identifies the largest suppliers, tracks year-over-year spending trends, and highlights agencies with unusual contracting practices. This supports budget oversight, policy analysis, and investigative journalism.

Shell Company Detection

Companies that exist primarily to win public contracts while having minimal staff, no public presence, and recent registration dates may be shell entities used for corruption or tax optimization. The combination of Registr smluv contract data with ARES financial data and Nahlizeni do KN property records helps identify these patterns.

Supply Chain Mapping

For companies that provide critical services to the state (IT infrastructure, energy, healthcare), contract analysis reveals their role in national supply chains and identifies potential single points of failure or concentration risks.

Limitations

LimitationImpactMitigation
CZK 50,000 thresholdContracts below threshold are not publishedUse Verejne zakazky for smaller procurements
Security exemptionsIntelligence and classified military contracts excludedThese represent a small fraction of total spending
Subject description qualityFree-text descriptions vary in detail and accuracyUse full-text search combined with ICO-based filtering
Natural person contractsSome contracts with individuals exempt from full publicationLimited impact for corporate investigation
Attachment format varietyPDFs may be scanned images requiring OCRPDF extraction pipeline with OCR fallback
No price breakdownOnly total value published; no line-item detailRequest detailed pricing through FOI (Act 106/1999 Sb.)

Public Data by Law: All data in Registr smluv is published pursuant to Act No. 340/2015 Sb. and is explicitly intended for public access. There are no legal restrictions on accessing, analyzing, or redistributing this data.

Contract Transparency: The registry was created to enhance transparency in public spending. Using it for investigative, analytical, and oversight purposes aligns with its legislative intent.

Personal Data in Contracts: While contract text may contain personal data of signatories, the publication is authorized by law. Downstream processing of personal data extracted from contracts must comply with GDPR.

Commercial Sensitivity: Published contracts may contain commercially sensitive information. While this data is public by law, responsible use includes considering the impact of analysis on competitive dynamics.

Integration with Prismatic Platform

Within the Prismatic Platform, Registr smluv serves as the primary Czech public-sector financial intelligence source.

  • Supplier Network Mapping: Contract data is analyzed to build supplier relationship graphs showing connections between companies and government entities.
  • Anomaly Detection: Statistical analysis of contracting patterns identifies unusual behaviors -- concentration, timing patterns, value clustering, and amendment frequency.
  • Cross-Registry Enrichment: Contract parties are automatically enriched with ARES company data, Justice.cz ownership information, and UOHS competition authority decisions.
  • Financial Intelligence: Contract values feed into entity financial profiles alongside CEDR subsidy data and Verejne zakazky procurement records.
  • Watchdog Integration: Platform findings are cross-referenced with Hlidac statu analytics for enhanced insight.

Best Practices

  1. Search by ICO, not name: Company names may vary across contracts. ICO provides precise entity matching.

  2. Check amendments: Many contracts are modified through amendments that change value, scope, or duration. Always retrieve the complete amendment chain.

  3. Analyze temporal patterns: Plot contract signing dates to identify suspicious clustering (e.g., many contracts signed just before elections or budget deadlines).

  4. Cross-reference with procurement: Contracts often result from formal procurement procedures. Cross-reference with Verejne zakazky to understand the competitive context.

  5. Download attachments: The contract text in attachments often contains more detail than the structured metadata. Parse PDFs for pricing, scope, and penalty clauses.

  6. Track subcontractors: Some contracts specify subcontractors. Map the full supply chain by analyzing contract text for subcontractor references.

  7. Use open data exports: For large-scale analysis, download bulk data exports rather than paginating through the API.

  • ARES - Czech business registry for company identification
  • Justice.cz - Commercial Register with beneficial owners
  • Hlidac statu - Government watchdog with contract analytics
  • Verejne zakazky - Public procurement portal
  • CEDR - Central Register of Subsidies
  • UOHS - Competition authority reviewing procurement
  • Nahlizeni do KN - Property records for asset correlation

Connect & Contribute

Created by Tomáš Korcak (korczis) | Open Source under GHL