CT

CTU

czech API

CTU

Type: company
Module: Ctu

Capabilities

Operator Registry Spectrum License Search Numbering Plan Lookup Authorization Verification Penalty Records Market Analysis Data

Try CTU

API Endpoint

Results

Overview

CTU (Cesky telekomunikacni urad) is the Czech Republic's national regulatory authority for electronic communications and postal services, operating under Act No. 127/2005 Coll. (Electronic Communications Act). CTU maintains registries of all authorized telecom operators, spectrum license holders, numbering allocations, and regulatory decisions. Any entity providing electronic communications services or networks in the Czech Republic must notify CTU, making its registries the authoritative source for telecommunications market intelligence.

For OSINT purposes, CTU data reveals the complete structure of the Czech telecommunications market -- who operates networks, holds spectrum licenses, provides services, and at what scale. This intelligence is critical for NIS2 compliance assessment (telecom operators are classified as essential service providers under the directive), competitive intelligence in the telecommunications sector, infrastructure mapping for security assessments, and regulatory risk analysis for entities operating in regulated markets.

CTU's regulatory authority extends beyond simple registration. The office conducts market analyses, imposes access obligations on operators with significant market power (SMP), regulates wholesale pricing, manages spectrum auctions, and enforces quality-of-service requirements. Regulatory decisions and penalty records provide intelligence about an operator's compliance history and market position that is not available from any other source.

Combined with ERU energy regulatory data, CTU completes the critical infrastructure intelligence picture for Czech NIS2 assessments. The convergence of telecommunications and energy infrastructure makes cross-referencing between these regulatory databases essential for comprehensive critical infrastructure mapping.

Data Sources and Coverage

CTU maintains multiple registries and databases that collectively provide comprehensive telecommunications market intelligence for the Czech Republic.

Data TypeDescriptionCoverage
Authorized OperatorsAll notified electronic communications providersComprehensive
Spectrum LicensesRadio frequency allocations and individual licensesAll allocated spectrum
Numbering AllocationsPhone number blocks assigned to operatorsComplete national plan
Internet RegistrationsISP registrations and network identifiersAll registered ISPs
Regulatory DecisionsPrice regulation, access obligations, SMP findingsAll published decisions
Market AnalysesRelevant market definitions and competition assessmentsPer regulatory cycle
PenaltiesFines and sanctions for regulatory violationsComplete penalty history
Quality ReportsService quality measurement data and benchmarksAnnual reports
Spectrum AuctionsAuction results, conditions, and obligationsAll conducted auctions

Operator Categories and NIS2 Relevance

CategoryDescriptionNIS2 ClassificationExamples
MNOMobile network operatorsEssential serviceT-Mobile CZ, O2 CZ, Vodafone CZ
MVNOMobile virtual network operatorsEssential serviceSAZKAmobil, Kaktus
Fixed ISPFixed broadband providersEssential serviceCETIN, UPC, O2
BackboneInternet backbone and transit operatorsCritical infrastructureNIX.CZ, CESNET
BroadcastingRadio and TV broadcasting operatorsImportant entityCeske Radiokomunikace
SatelliteSatellite communication providersImportant entityVarious
IoT/M2MMachine-to-machine communication providersSector dependentVarious

Technical Architecture

CTU's public data is available through multiple channels with varying levels of structure and accessibility.

The operator registry is maintained as a searchable database on the CTU website, providing structured lookup by operator name, ICO, service type, and authorization status. Results include operator details, authorized services, spectrum holdings, and numbering allocations. The data is updated as notifications are processed, typically within days of an operator filing.

Spectrum allocation data is published through dedicated databases that map frequency bands to license holders, including license conditions, geographic coverage areas, and expiry dates. This data is essential for understanding the competitive dynamics of mobile network operators and identifying potential coverage gaps or interference issues.

Numbering plan allocations map telephone number blocks to operators, enabling reverse lookup from phone numbers to service providers. This intelligence is valuable for telecommunications fraud investigation, caller identification, and understanding operator market share through number block analysis.

Regulatory decisions and market analyses are published as PDF documents on the CTU website, requiring text extraction for programmatic analysis. The Prismatic adapter implements PDF parsing to extract structured data from these documents, including SMP designations, wholesale pricing obligations, and penalty amounts.

API Integration

CTU data is accessed through a combination of structured database queries and document parsing, integrated into the Prismatic OSINT pipeline.

defmodule PrismaticOsint.Adapters.Ctu do
  @moduledoc """
  Czech Telecommunication Office adapter for telecommunications
  intelligence within the Prismatic OSINT pipeline.
  """

  @base_url "https://www.ctu.cz"

  # Search authorized operators
  def search_operators(query) do
    with {:ok, html} <- fetch_operator_registry(query) do
      operators = parse_operator_results(html)
      {:ok, operators}
    end
  end

  # Get all operators by service type
  def by_service_type(service_type) do
    with {:ok, html} <- fetch_operator_registry(%{service: service_type}) do
      {:ok, parse_operator_results(html)}
    end
  end

  # Search spectrum allocations
  def spectrum_allocations(opts \\ []) do
    band = Keyword.get(opts, :band)
    operator = Keyword.get(opts, :operator)

    with {:ok, data} <- fetch_spectrum_data(band, operator) do
      {:ok, parse_spectrum_allocations(data)}
    end
  end

  # Verify operator authorization
  def verify_authorization(ico) do
    with {:ok, operator} <- search_operators(ico) do
      {:ok, %{
        authorized: operator != nil,
        services: operator[:services] || [],
        status: operator[:status],
        verified_at: DateTime.utc_now()
      }}
    end
  end

  # Get numbering allocations for an operator
  def numbering_allocations(ico) do
    with {:ok, data} <- fetch_numbering_data(ico) do
      {:ok, parse_numbering_allocations(data)}
    end
  end

  # Check penalty history
  def penalty_history(ico) do
    with {:ok, decisions} <- fetch_penalty_decisions(ico) do
      {:ok, parse_penalties(decisions)}
    end
  end

  # Market analysis data
  def market_analysis(market, opts \\ []) do
    year = Keyword.get(opts, :year, Date.utc_today().year)

    with {:ok, pdf} <- fetch_market_analysis(market, year) do
      {:ok, parse_market_analysis_pdf(pdf)}
    end
  end
end

Telecom NIS2 Assessment Pipeline

defmodule PrismaticPerimeter.NIS2.TelecomAssessment do
  @moduledoc """
  Assesses NIS2 compliance for telecom entities using CTU
  registration data, security ratings, and infrastructure exposure.
  """

  alias PrismaticOsint.Adapters.{Ctu, Ares, Shodan}
  alias PrismaticPerimeter

  def assess_telecom_entity(ico) do
    with {:ok, operator} <- Ctu.search_operators(ico),
         {:ok, company} <- Ares.get_full_details(ico),
         {:ok, rating} <- PrismaticPerimeter.security_rating(company.nazev),
         {:ok, shodan_data} <- Shodan.search("org:\"#{company.nazev}\"") do
      {:ok, %{
        entity: company,
        telecom_authorization: operator,
        spectrum_assets: operator[:spectrum_licenses] || [],
        nis2_classification: classify_telecom_nis2(operator),
        security_rating: rating,
        exposed_infrastructure: analyze_shodan_exposure(shodan_data),
        compliance_assessment: assess_telecom_nis2(operator, rating),
        assessed_at: DateTime.utc_now()
      }}
    end
  end

  defp classify_telecom_nis2(operator) do
    services = operator[:services] || []

    cond do
      :backbone in services -> :essential_critical_infrastructure
      :mobile_voice in services or :mobile_data in services -> :essential_service
      :fixed_internet in services -> :essential_service
      :broadcasting in services -> :important_entity
      true -> :standard_entity
    end
  end
end

Use Cases

Critical Infrastructure Mapping

CTU data is essential for comprehensive mapping of Czech telecommunications critical infrastructure. Key applications include identifying all telecom infrastructure operators and their authorized service areas, mapping spectrum holdings and network coverage areas for mobile and fixed operators, NIS2 essential entity identification based on service type and scale classification, combining CTU authorization data with Shodan for infrastructure exposure assessment, and assessing the concentration of critical services among operators to evaluate systemic risk.

Competitive Intelligence

Telecommunications market analysis leverages CTU data for competitive positioning and market dynamics understanding. Analysts can track new market entrants and operator registrations as they are filed, monitor spectrum auctions and allocation outcomes for competitive position changes, analyze market share through numbering allocation distribution, compare service quality data across operators using CTU measurement reports, and assess the impact of regulatory decisions on operator competitive positioning.

Due Diligence and Regulatory Compliance

CTU data supports due diligence workflows for entities in the telecommunications sector. Specific applications include verifying telecom operator license claims during M&A due diligence, checking regulatory penalty history for compliance risk assessment, cross-referencing CTU data with ARES for entity verification and Justice.cz for corporate structure analysis, assessing spectrum asset portfolio value for investment analysis, and evaluating NIS2 compliance readiness based on CTU registration and service classification.

Fraud Investigation Support

CTU numbering data supports telecommunications fraud investigations by enabling operator identification from phone numbers, detecting number spoofing through numbering plan validation, identifying unauthorized telecom service providers, and correlating suspicious calling patterns with operator infrastructure data.

Data Quality and Validation

CTU data quality is high for authorization and spectrum data, as these records carry legal significance and are maintained under regulatory oversight. Operator registrations are verified against company registry data, and spectrum licenses include precise technical parameters.

Penalty and decision data requires PDF parsing, which introduces potential extraction errors. The Prismatic adapter validates extracted data against known decision formats and flags anomalies for manual review.

Market analysis data is published on regulatory cycles (typically 3-year intervals) and may not reflect current market conditions between review periods. Time-sensitivity annotations are applied to market analysis data to indicate the applicable review period.

Coverage is comprehensive for registered operators but may not capture unauthorized or unregistered service providers. The absence of a CTU registration for a claimed telecom service provider is a significant red flag that warrants further investigation.

Platform Integration

Within the Prismatic ecosystem, CTU provides the telecommunications intelligence layer for Prismatic Perimeter NIS2 assessments. CTU data is correlated with ARES entity data, Shodan infrastructure exposure data, Censys certificate and service scanning, and ERU energy regulatory data for comprehensive critical infrastructure mapping.

The NIS2 compliance assessment module uses CTU service classifications to determine entity NIS2 status (essential, important, or standard) and combines this with security rating data to produce compliance gap analyses.

NABLA Compliance

Signal Plurality: CTU data is cross-validated with ARES entity data to verify operator identity and corporate structure. Infrastructure exposure assessments combine CTU authorization data with at least two independent scanning sources.

Contradiction Preservation: When CTU authorization data conflicts with observed network infrastructure (for example, unauthorized services detected through scanning), both signals are preserved for investigation.

Time Decay: Spectrum license expiry dates provide natural temporal boundaries. Authorization data is treated as current until the entity is deregistered. Market analysis data carries explicit validity period annotations.

Provenance Mandatory: All CTU data includes the source database, query parameters, retrieval timestamp, and document reference for regulatory decisions.

Absence Informative: The absence of CTU registration for a claimed telecom provider is treated as a significant negative signal, as registration is legally mandatory.

Performance and Rate Limits

AspectDetails
AuthenticationNone required for public databases
Rate LimitNo official limit; respectful crawling recommended
Data FormatHTML (web), PDF (decisions), XLS (data exports)
CostFree access
CoverageAll authorized operators and spectrum holders in Czech Republic
Response Time1-5 seconds for registry queries

The Prismatic adapter caches operator registry data with 7-day TTL, spectrum allocation data with 30-day TTL, and regulatory decisions with 90-day TTL.

  • ERU - Energy regulator (sister critical infrastructure authority)
  • ARES - Entity identification for telecom companies
  • Shodan - Network infrastructure exposure assessment
  • Censys - Certificate and service scanning for operators
  • Hlidac Statu - Public contracts for telecom entities
  • UOHS - Competition cases in telecom markets
  • OSINT Core - Core OSINT framework and adapter layer
  • Prismatic Perimeter - NIS2 compliance assessment

Connect & Contribute

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