CoolFace
Datasetpublic

juliensimon/space-track-satcat

NORAD Satellite Catalog (SATCAT) Credit: NASA Part of a dataset collection on Hugging Face. Dataset description Complete NORAD Satellite Catalog from CelesTrak, tracking every object cataloged by the 18th Space Defense Squadron since 1957. Includes active satellites, defunct spacecraft, rocket bodies, and debris. The SATCAT (Satellite Catalog) is the authoritative registry of all artificial objects in Earth orbit and beyond. Each entry includes launch… See the full description on the dataset page: https://huggingface.co/datasets/juliensimon/space-track-satcat.

sourceHugging Faceotherupdated 17h agoView on Hugging Face
1likes680downloads
Dataset Card

NORAD Satellite Catalog (SATCAT)

<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

Complete NORAD Satellite Catalog from CelesTrak, tracking every object cataloged by the 18th Space Defense Squadron since 1957. Includes active satellites, defunct spacecraft, rocket bodies, and debris.

The SATCAT (Satellite Catalog) is the authoritative registry of all artificial objects in Earth orbit and beyond. Each entry includes launch metadata, orbital parameters, operational status, and physical characteristics. This dataset mirrors the full catalog daily from CelesTrak.

The satellite catalog traces its origins to the dawn of the Space Age: the first entry is Sputnik 1, launched on October 4, 1957. Every object large enough to be tracked by the US Space Surveillance Network (typically >10 cm in LEO, >1 m in GEO) receives a NORAD catalog number and an international designator (COSPAR ID). The catalog includes not just active satellites but the full historical record of rocket upper stages, mission-related debris, and fragments from breakup events.

The operational status codes provide a coarse but useful picture of spacecraft health. The radar cross-section (RCS) field, while often approximate, gives insight into object size -- critical for collision probability assessments. Orbital parameters (period, inclination, apogee, perigee) describe the object's trajectory and are updated as new tracking observations are processed.

This dataset underpins a wide range of applications: space traffic management, conjunction assessment and collision avoidance, orbital debris population studies, launch history analysis, spectrum management, and insurance risk modeling.

This dataset is suitable for tabular classification tasks.

Schema

ColumnTypeDescriptionSampleNull %
object_namestrOfficial name as listed in the NORAD catalog (e.g. 'STARLINK-1234', 'ISS (ZARYA)'); rocket bodies include 'R/B', debris includes 'DEB'SL-1 R/B0.0%
intl_designatorstrCOSPAR international designator in the format YYYY-NNNX (e.g. '2024-123A'): launch year, sequential launch number within that year, and piece letter (A = primary payload, B = first secondary, etc.); assigned by COSPAR1957-001A0.0%
norad_idint32NORAD catalog number -- sequential integer assigned by the 18th Space Defense Squadron at launch; primary key for cross-referencing with TLE databases10.0%
object_typestrObject classification: PAY (payload/spacecraft), R/B (rocket body or upper stage), DEB (fragmentation debris), UNK (unknown/unclassified)R/B0.0%
ops_statusstrOperational status code from the Space-Track catalog: + (operational), - (non-operational), P (partially operational), B (backup/standby), S (spare), X (extended mission), D (decayed), ? (unknown); null for decayed or historically untracked objectsD23.4%
ownerstrISO 3166-based two-letter country code or special organization code (e.g. 'US', 'RU', 'CN', 'ESA', 'ISS') identifying the launch owner or responsible partyCIS0.0%
launch_datedatetime64[us]Date the object was launched into orbit (UTC); null for a small number of objects with incomplete catalog records1957-10-04 00:00:000.0%
launch_sitestrEncoded launch site identifier (e.g. 'AFETR' = Cape Canaveral, 'TYMSC' = Baikonur, 'TTMTR' = Tanegashima); null if unknownTYMSC0.0%
decay_datedatetime64[us]Date of atmospheric reentry or decay (UTC); null for objects still in orbit -- a non-null value means the object has reentered1957-12-01 00:00:0049.7%
period_minfloat64Current orbital period in minutes; LEO: 88-128 min, MEO: 128-600 min, GEO: ~1436 min (24 h), HEO: highly variable; null for decayed objects96.192.9%
inclinationfloat64Orbital inclination in degrees (0-180); angle between the orbital plane and Earth's equatorial plane; 0 deg = equatorial, 90 deg = polar, >90 deg = retrograde65.12.9%
apogee_kmfloat64Apogee altitude (highest point of orbit) above Earth's surface in km; null for decayed objects or those with incomplete orbital data938.02.9%
perigee_kmfloat64Perigee altitude (lowest point of orbit) above Earth's surface in km; objects with perigee below ~200 km reenter within weeks; null for decayed objects214.02.9%
rcs_m2float64Radar cross-section in m2; proxy for object physical size as observed by surveillance radars; null for objects too small to characterize or where data was not published20.4253.5%
data_statusstrCatalog data quality flag indicating whether the entry has full orbital data (S = standard, D = no current elements) or is a historical record; null in many casesNEA98.1%
orbit_centerstrCentral gravitational body code (e.g. 'EA' = Earth, 'MO' = Moon); nearly all objects are Earth-orbiting; useful for filtering lunar or Lagrange-point objectsEA0.0%
orbit_typestrOrbit regime classification (e.g. 'LEO' = low Earth orbit <2000 km, 'MEO' = medium Earth orbit, 'GEO' = geostationary, 'HEO' = highly elliptical, 'DSO' = deep space); null for many historical objectsIMP0.0%

Quick stats

  • 70,744 cataloged objects
  • 27,788 payloads, 35,889 debris fragments, 6,901 rocket bodies
  • 17,117 active or partially operational
  • 35,605 objects have decayed/reentered
  • 130 distinct owner codes

Usage

python
from datasets import load_dataset

ds = load_dataset("juliensimon/space-track-satcat", split="train")
df = ds.to_pandas()
python
from datasets import load_dataset

ds = load_dataset("juliensimon/space-track-satcat", split="train")
df = ds.to_pandas()

# Active payloads only
active = df[(df["object_type"] == "PAY") & (df["ops_status"] == "+")]
print(f"{len(active):,} active payloads")

# Launches per year
df["year"] = df["launch_date"].dt.year
launches_by_year = df.groupby("year")["norad_id"].count()

# Objects by owner
top_owners = df["owner"].value_counts().head(10)

# LEO vs GEO
import matplotlib.pyplot as plt
leo = df[(df["perigee_km"] < 2000) & (df["perigee_km"] > 0)]
geo = df[(df["perigee_km"] > 35000) & (df["apogee_km"] < 36500)]
print(f"LEO: {len(leo):,}, GEO: {len(geo):,}")

Data source

https://celestrak.org/pub/satcat.csv

Update schedule

Daily at 06: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

bibtex
@dataset{space_track_satcat,
  title = {NORAD Satellite Catalog (SATCAT)},
  author = {Simon, Julien},
  year = {2026},
  url = {https://huggingface.co/datasets/juliensimon/space-track-satcat},
  note = {Derived from CelesTrak, https://celestrak.org/pub/satcat.csv},
  publisher = {Hugging Face}
}

License

celestrak-usage-policy