juliensimon/constellation-census
Constellation Census Credit: NASA Part of a dataset collection on Hugging Face. Dataset description Daily census of active satellite constellations with orbital shell classification. Tracks satellites from CelesTrak GP data across LEO mega-constellations (Starlink, OneWeb, Kuiper, Qianfan, Hulianwang), navigation systems (GPS, Galileo, BeiDou, GLONASS), communications fleets (Iridium, Globalstar, ORBCOMM, SES, Intelsat, Eutelsat, Telesat), and Earth… See the full description on the dataset page: https://huggingface.co/datasets/juliensimon/constellation-census.
Constellation Census
<div align="center"> <img src="banner.jpg" alt="An orbital sunrise illuminates the Earth's atmosphere, seen from the ISS" width="400"> <p><em>Credit: NASA</em></p> </div>
Part of a [dataset collection](https://huggingface.co/collections/juliensimon/orbital-mechanics-datasets-69c24caca4ab3934c9856994) on Hugging Face.
Dataset description
Daily census of active satellite constellations with orbital shell classification. Tracks satellites from CelesTrak GP data across LEO mega-constellations (Starlink, OneWeb, Kuiper, Qianfan, Hulianwang), navigation systems (GPS, Galileo, BeiDou, GLONASS), communications fleets (Iridium, Globalstar, ORBCOMM, SES, Intelsat, Eutelsat, Telesat), and Earth observation (Planet, Spire).
The satellite constellation landscape is undergoing a historic transformation. Legacy GEO communications operators -- each operating dozens of spacecraft at 35,786 km altitude -- are being joined by LEO mega-constellations deploying thousands of satellites at altitudes below 600 km. Starlink alone now exceeds all other constellations combined in satellite count. Meanwhile, China's Qianfan and Hulianwang programs are rapidly deploying their own broadband mega-constellations.
This census is valuable for spectrum coordination, space traffic management, competitive intelligence in the satellite communications market, and as input to orbital debris environment models that depend on accurate population counts by orbit regime.
This dataset is suitable for tabular classification, time-series forecasting tasks.
Schema
Quick stats
- 13,270 satellites across 19 constellations
- 12,153 operational
- Top constellations: starlink (11,113), oneweb (651), kuiper (391), qianfan (256), hulianwang (208)
- 3,401 daily snapshot rows (2026-03-23 to 2026-09-21)
Usage
from datasets import load_dataset
ds = load_dataset("juliensimon/constellation-census", split="train")
df = ds.to_pandas()from datasets import load_dataset
# Per-satellite data
ds = load_dataset("juliensimon/constellation-census", "latest_satellites", split="train")
df = ds.to_pandas()
# Constellation sizes
sizes = df.groupby("constellation")["norad_id"].count().sort_values(ascending=False)
print(sizes)
# Daily growth trends
daily = load_dataset("juliensimon/constellation-census", "daily_snapshots", split="train")
df_daily = daily.to_pandas()
starlink_growth = df_daily[df_daily["constellation"] == "starlink"][["date", "total_count"]]
# Altitude distribution by orbit type
import matplotlib.pyplot as plt
for ot in ["LEO", "MEO", "GEO"]:
sub = df[df["orbit_type"] == ot]
plt.hist(sub["altitude_km"], bins=50, alpha=0.6, label=ot)
plt.xlabel("Altitude (km)")
plt.ylabel("Satellite Count")
plt.title("Satellite Altitude Distribution by Orbit Type")
plt.legend()
plt.show()Data source
https://celestrak.org/
Update schedule
Daily at 09:00 UTC via GitHub Actions
Related datasets
If you find this dataset useful, please consider giving it a like on Hugging Face. It helps others discover it.
About the author
Created by Julien Simon — AI Operating Partner at Fortino Capital. Part of the Space Datasets collection.
Citation
@dataset{constellation_census,
title = {Constellation Census},
author = {Simon, Julien},
year = {2026},
url = {https://huggingface.co/datasets/juliensimon/constellation-census},
note = {Derived from CelesTrak, https://celestrak.org/},
publisher = {Hugging Face}
}