Skip to content

vdesmond/spectrum

Repository files navigation

spectrum banner

OUTLINE

This repository contains the code for an interactive visualization of the general frequency allocations based on the ITU Radio Regulations, Edition of 2024, based on the famous US frequency allocation map

It contains the data of Region 1 [Europe, Africa, Middle East, CIS], Region 2 [Americas], and Region 3 [Asia-Pacific] and has the following services:

  • Aeronautical mobile
  • Aeronautical mobile (OR)
  • Aeronautical mobile-satellite
  • Aeronautical mobile-satellite (OR)
  • Aeronautical radionavigation
  • Aeronautical radionavigation-satellite
  • Amateur
  • Amateur-satellite
  • Broadcasting
  • Broadcasting-satellite
  • Earth exploration-satellite
  • Fixed
  • Fixed-satellite
  • Inter-satellite
  • Land mobile
  • Land mobile-satellite
  • Maritime mobile
  • Maritime mobile-satellite
  • Maritime radionavigation
  • Maritime radionavigation-satellite
  • Meteorological aids
  • Meteorological-satellite
  • Mobile
  • Mobile-satellite
  • Radionavigation
  • Radionavigation-satellite
  • Radio astronomy
  • Radiodetermination-satellite
  • Radiolocation
  • Space operation
  • Space research
  • Standard frequency and time signal
  • Standard frequency and time signal-satellite
  • Wireless power transmission

visit

Source: ITU Radio Regulations, 2024 Edition, Articles 1 and 5.

DATA

The allocation dataset is exposed in two ways:

Static endpoint

GET https://spectrum.vdesmond.com/api/v1/allocations.json

Complete unfiltered dataset with all ITU regions (1–3), 9 kHz – 275 GHz.

API

GET https://spectrum.vdesmond.com/api/v1/allocations

All query parameters are optional and combinable:

Parameter Type Description
region R1 | R2 | R3 ITU region. Always includes ALL entries plus the region-specific ones. Comma-separated for multiple: R1,R2
services string Service name(s), comma-separated. OR logic, case-insensitive partial match. e.g. AMATEUR or AMATEUR,FIXED
freq_start number (kHz) Lower bound. Keeps allocations where freq_end >= freq_start.
freq_end number (kHz) Upper bound. Keeps allocations where freq_start <= freq_end. Combine with freq_start to filter by overlap.

Response includes an X-Total-Count header with the number of matched records.

Examples:

# Full unfiltered dataset (static)
curl "https://spectrum.vdesmond.com/api/v1/allocations.json"

# HF amateur allocations in Region 1 (3–30 MHz)
curl "https://spectrum.vdesmond.com/api/v1/allocations?region=R1&services=AMATEUR&freq_start=3000&freq_end=30000"

# Check matched record count via response header
curl -I "https://spectrum.vdesmond.com/api/v1/allocations?region=R3&services=BROADCASTING"
# → X-Total-Count: 42
[
  {
    "freq_start": 9.0,
    "freq_end": 11.3,
    "region": "ALL",
    "services": ["METEOROLOGICAL AIDS", "RADIONAVIGATION"],
    "is_primary": [true, true],
    "footnotes": ["5.54A"]
  },
  ...
]
Field Type Description
freq_start number Start frequency in kHz
freq_end number End frequency in kHz
region "ALL" | "R1" | "R2" | "R3" ALL = identical across regions
services string[] Allocated radio services
is_primary boolean[] true = PRIMARY, false = secondary
footnotes string[] ITU RR Article 5 footnote references

STACK

React, Vite, D3, Framer

LICENSE

Application code is licensed under the MIT License.

The frequency allocation data is derived from the ITU Radio Regulations, 2024 Edition (© ITU), reproduced for informational and educational purposes. It is not sublicensed under MIT. Do not use it for regulatory or operational purposes and cross-reference with the official ITU RR for authoritative information.

About

An interactive visualization of the general frequency allocations

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors