{
 "id": "space_satellites",
 "title": "Satellites in orbit",
 "label": "Public data",
 "source": "CelesTrak (T.S. Kelso): satellite catalog (SATCAT) and the GP active catalog; cross-checked with CelesTrak's Boxscore",
 "source_urls": {
  "satcat_csv": "https://celestrak.org/pub/satcat.csv",
  "gp_active_csv": "https://celestrak.org/NORAD/elements/gp.php?GROUP=active&FORMAT=csv",
  "owner_codes": "https://celestrak.org/satcat/sources.php",
  "boxscore": "https://celestrak.org/satcat/boxscore.php",
  "satcat_format": "https://celestrak.org/satcat/satcat-format.php",
  "gp_format": "https://celestrak.org/NORAD/documentation/gp-data-formats.php",
  "usage_policy": "https://celestrak.org/usage-policy.php"
 },
 "license": "CelesTrak publishes this data with no formal licence text and says it is freely available to all users under its usage policy (download once per update, stop on any non-200 reply). The underlying general-perturbations data come from the U.S. Space Force (18th Space Defense Squadron) through Space-Track.",
 "credit": "Orbital data and satellite catalog: CelesTrak (celestrak.org, T.S. Kelso).",
 "retrieved": "2026-10-08",
 "period": "1957 to 2026-10-08",
 "release": "SATCAT file served with Last-Modified Thu, 08 Oct 2026 18:38:23 GMT; GP active list current as of 2026 Oct 08 18:38:42 UTC (CelesTrak elements page)",
 "unit": "Number of payloads; altitudes in kilometres",
 "basis": "An active payload is a SATCAT row with OBJECT_TYPE PAY, no decay date and an operational status of + (operational), P (partially operational), B (backup or standby), S (spare) or X (extended mission). This is the definition CelesTrak's Boxscore uses for Active. The growth chart counts every payload (active or not) launched and not yet decayed, because SATCAT keeps no history of operational status.",
 "query": "No API. Downloaded the SATCAT CSV (70,953 objects, 27,969 payloads) and the GP active CSV (16,682 objects) once each, plus the owner-code table. Kept PAY rows, split them by decay date and status code, classed each by APOGEE and PERIGEE, counted by OWNER code and by name family, and counted launches and decays by calendar year from LAUNCH_DATE and DECAY_DATE. For every owner in CelesTrak's Boxscore (136 rows) the payloads on orbit, decayed, total and active equal this script's counts (0 differences).",
 "caveat": "SATCAT status codes come from CelesTrak's catalog and can lag reality: a satellite may be marked operational after it has failed, and the count changes every day. Orbit class is read from the current apogee and perigee in SATCAT, not from the design orbit. OWNER is the owner or operator country or organisation as CelesTrak codes it, not where a satellite was built or launched; some owners are companies or multinational bodies (for example ESA, Globalstar, ORBCOMM), and CIS stands for the former Soviet states, mostly Russia. Constellation membership is read from the satellite name. The yearly growth series is launched minus decayed and includes defunct payloads; it is not a count of working satellites. Satellites with no public orbit size or in orbit around the Sun, Moon or Lagrange points are shown separately and are not on the globe. The orbital elements are mean elements from the U.S. Space Surveillance Network: usable for plotting and for SGP4 propagation near the epoch, not for operations.",
 "latest": {
  "active_payloads": 17250,
  "payloads_on_orbit_any_status": 20255,
  "latest_launch_date": "2026-10-02",
  "year": 2026
 },
 "kpi": {
  "active_payloads": 17250,
  "payloads_on_orbit_any_status": 20255,
  "launched_this_year": 3394,
  "decayed_this_year": 723
 },
 "orbit_classes": [
  {
   "code": "LEO",
   "label": "Low Earth orbit (LEO)",
   "rule": "apogee below 2,000 km",
   "active_payloads": 16255,
   "share_pct": 94.2
  },
  {
   "code": "MEO",
   "label": "Medium Earth orbit (MEO)",
   "rule": "perigee 2,000 km or higher and apogee below 33,786 km",
   "active_payloads": 185,
   "share_pct": 1.1
  },
  {
   "code": "GEO",
   "label": "Geosynchronous (GEO)",
   "rule": "perigee and apogee both within 2,000 km of 35,786 km",
   "active_payloads": 636,
   "share_pct": 3.7
  },
  {
   "code": "HEO",
   "label": "Highly elliptical and other (HEO)",
   "rule": "every other Earth orbit: elliptical, transfer-like or beyond the GEO band",
   "active_payloads": 62,
   "share_pct": 0.4
  },
  {
   "code": "NOELEM",
   "label": "Earth orbit, no public orbit size",
   "rule": "ORBIT_CENTER is Earth but APOGEE or PERIGEE is blank",
   "active_payloads": 48,
   "share_pct": 0.3
  },
  {
   "code": "BEYOND",
   "label": "Beyond Earth orbit",
   "rule": "ORBIT_CENTER is the Sun, Moon, Mars, a Lagrange point, Jupiter or solar-system escape",
   "active_payloads": 64,
   "share_pct": 0.4
  }
 ],
 "active_by_owner_top": [
  {
   "code": "US",
   "name": "United States",
   "active_payloads": 12998,
   "share_pct": 75.4
  },
  {
   "code": "PRC",
   "name": "People's Republic of China",
   "active_payloads": 1556,
   "share_pct": 9.0
  },
  {
   "code": "UK",
   "name": "United Kingdom",
   "active_payloads": 698,
   "share_pct": 4.0
  },
  {
   "code": "CIS",
   "name": "Commonwealth of Independent States (former USSR)",
   "active_payloads": 383,
   "share_pct": 2.2
  },
  {
   "code": "TBD",
   "name": "To Be Determined",
   "active_payloads": 177,
   "share_pct": 1.0
  },
  {
   "code": "JPN",
   "name": "Japan",
   "active_payloads": 154,
   "share_pct": 0.9
  },
  {
   "code": "IT",
   "name": "Italy",
   "active_payloads": 81,
   "share_pct": 0.5
  },
  {
   "code": "IND",
   "name": "India",
   "active_payloads": 80,
   "share_pct": 0.5
  },
  {
   "code": "ESA",
   "name": "European Space Agency",
   "active_payloads": 78,
   "share_pct": 0.5
  },
  {
   "code": "FR",
   "name": "France",
   "active_payloads": 76,
   "share_pct": 0.4
  },
  {
   "code": "GER",
   "name": "Germany",
   "active_payloads": 74,
   "share_pct": 0.4
  },
  {
   "code": "SKOR",
   "name": "Republic of Korea",
   "active_payloads": 61,
   "share_pct": 0.4
  }
 ],
 "active_by_owner_other": {
  "owners": 87,
  "active_payloads": 834,
  "share_pct": 4.8
 },
 "active_by_owner_all": [
  {
   "code": "US",
   "name": "United States",
   "active_payloads": 12998,
   "share_pct": 75.4
  },
  {
   "code": "PRC",
   "name": "People's Republic of China",
   "active_payloads": 1556,
   "share_pct": 9.0
  },
  {
   "code": "UK",
   "name": "United Kingdom",
   "active_payloads": 698,
   "share_pct": 4.0
  },
  {
   "code": "CIS",
   "name": "Commonwealth of Independent States (former USSR)",
   "active_payloads": 383,
   "share_pct": 2.2
  },
  {
   "code": "TBD",
   "name": "To Be Determined",
   "active_payloads": 177,
   "share_pct": 1.0
  },
  {
   "code": "JPN",
   "name": "Japan",
   "active_payloads": 154,
   "share_pct": 0.9
  },
  {
   "code": "IT",
   "name": "Italy",
   "active_payloads": 81,
   "share_pct": 0.5
  },
  {
   "code": "IND",
   "name": "India",
   "active_payloads": 80,
   "share_pct": 0.5
  },
  {
   "code": "ESA",
   "name": "European Space Agency",
   "active_payloads": 78,
   "share_pct": 0.5
  },
  {
   "code": "FR",
   "name": "France",
   "active_payloads": 76,
   "share_pct": 0.4
  },
  {
   "code": "GER",
   "name": "Germany",
   "active_payloads": 74,
   "share_pct": 0.4
  },
  {
   "code": "SKOR",
   "name": "Republic of Korea",
   "active_payloads": 61,
   "share_pct": 0.4
  },
  {
   "code": "CA",
   "name": "Canada",
   "active_payloads": 54,
   "share_pct": 0.3
  },
  {
   "code": "SPN",
   "name": "Spain",
   "active_payloads": 53,
   "share_pct": 0.3
  },
  {
   "code": "TURK",
   "name": "T&uuml;rkiye",
   "active_payloads": 39,
   "share_pct": 0.2
  },
  {
   "code": "SES",
   "name": "SES",
   "active_payloads": 37,
   "share_pct": 0.2
  },
  {
   "code": "ITSO",
   "name": "International Telecommunications Satellite Organization (INTELSAT)",
   "active_payloads": 36,
   "share_pct": 0.2
  },
  {
   "code": "O3B",
   "name": "O3b Networks",
   "active_payloads": 33,
   "share_pct": 0.2
  },
  {
   "code": "AUS",
   "name": "Australia",
   "active_payloads": 32,
   "share_pct": 0.2
  },
  {
   "code": "EUTE",
   "name": "European Telecommunications Satellite Organization (EUTELSAT)",
   "active_payloads": 28,
   "share_pct": 0.2
  },
  {
   "code": "ARGN",
   "name": "Argentina",
   "active_payloads": 27,
   "share_pct": 0.2
  },
  {
   "code": "GLOB",
   "name": "Globalstar",
   "active_payloads": 27,
   "share_pct": 0.2
  },
  {
   "code": "ROC",
   "name": "Taiwan (Republic of China)",
   "active_payloads": 27,
   "share_pct": 0.2
  },
  {
   "code": "FIN",
   "name": "Finland",
   "active_payloads": 27,
   "share_pct": 0.2
  },
  {
   "code": "UAE",
   "name": "United Arab Emirates",
   "active_payloads": 23,
   "share_pct": 0.1
  },
  {
   "code": "NOR",
   "name": "Norway",
   "active_payloads": 21,
   "share_pct": 0.1
  },
  {
   "code": "GREC",
   "name": "Greece",
   "active_payloads": 20,
   "share_pct": 0.1
  },
  {
   "code": "ISRA",
   "name": "Israel",
   "active_payloads": 19,
   "share_pct": 0.1
  },
  {
   "code": "SING",
   "name": "Singapore",
   "active_payloads": 18,
   "share_pct": 0.1
  },
  {
   "code": "SAUD",
   "name": "Saudi Arabia",
   "active_payloads": 16,
   "share_pct": 0.1
  },
  {
   "code": "BRAZ",
   "name": "Brazil",
   "active_payloads": 14,
   "share_pct": 0.1
  },
  {
   "code": "IM",
   "name": "International Mobile Satellite Organization (INMARSAT)",
   "active_payloads": 14,
   "share_pct": 0.1
  },
  {
   "code": "ORB",
   "name": "ORBCOMM",
   "active_payloads": 14,
   "share_pct": 0.1
  },
  {
   "code": "POL",
   "name": "Poland",
   "active_payloads": 12,
   "share_pct": 0.1
  },
  {
   "code": "IRAN",
   "name": "Iran",
   "active_payloads": 11,
   "share_pct": 0.1
  },
  {
   "code": "LUXE",
   "name": "Luxembourg",
   "active_payloads": 11,
   "share_pct": 0.1
  },
  {
   "code": "POR",
   "name": "Portugal",
   "active_payloads": 11,
   "share_pct": 0.1
  },
  {
   "code": "INDO",
   "name": "Indonesia",
   "active_payloads": 10,
   "share_pct": 0.1
  },
  {
   "code": "BEL",
   "name": "Belgium",
   "active_payloads": 10,
   "share_pct": 0.1
  },
  {
   "code": "AB",
   "name": "Arab Satellite Communications Organization",
   "active_payloads": 9,
   "share_pct": 0.1
  },
  {
   "code": "EGYP",
   "name": "Egypt",
   "active_payloads": 9,
   "share_pct": 0.1
  },
  {
   "code": "EUME",
   "name": "European Organization for theExploitation of Meteorological Satellites (EUMETSAT)",
   "active_payloads": 8,
   "share_pct": 0.0
  },
  {
   "code": "SWTZ",
   "name": "Switzerland",
   "active_payloads": 8,
   "share_pct": 0.0
  },
  {
   "code": "PAKI",
   "name": "Pakistan",
   "active_payloads": 8,
   "share_pct": 0.0
  },
  {
   "code": "THAI",
   "name": "Thailand",
   "active_payloads": 7,
   "share_pct": 0.0
  },
  {
   "code": "MALA",
   "name": "Malaysia",
   "active_payloads": 7,
   "share_pct": 0.0
  },
  {
   "code": "RWA",
   "name": "Republic of Rwanda",
   "active_payloads": 7,
   "share_pct": 0.0
  },
  {
   "code": "AC",
   "name": "Asia Satellite Telecommunications Company (ASIASAT)",
   "active_payloads": 6,
   "share_pct": 0.0
  },
  {
   "code": "ALG",
   "name": "Algeria",
   "active_payloads": 6,
   "share_pct": 0.0
  },
  {
   "code": "BUL",
   "name": "Bulgaria",
   "active_payloads": 6,
   "share_pct": 0.0
  },
  {
   "code": "NETH",
   "name": "Netherlands",
   "active_payloads": 6,
   "share_pct": 0.0
  },
  {
   "code": "ISS",
   "name": "International Space Station",
   "active_payloads": 5,
   "share_pct": 0.0
  },
  {
   "code": "ABS",
   "name": "Asia Broadcast Satellite",
   "active_payloads": 5,
   "share_pct": 0.0
  },
  {
   "code": "KAZ",
   "name": "Kazakhstan",
   "active_payloads": 5,
   "share_pct": 0.0
  },
  {
   "code": "MEX",
   "name": "Mexico",
   "active_payloads": 5,
   "share_pct": 0.0
  },
  {
   "code": "DEN",
   "name": "Denmark",
   "active_payloads": 5,
   "share_pct": 0.0
  },
  {
   "code": "VTNM",
   "name": "Vietnam",
   "active_payloads": 4,
   "share_pct": 0.0
  },
  {
   "code": "AZER",
   "name": "Azerbaijan",
   "active_payloads": 4,
   "share_pct": 0.0
  },
  {
   "code": "BELA",
   "name": "Belarus",
   "active_payloads": 4,
   "share_pct": 0.0
  },
  {
   "code": "MA",
   "name": "Morroco",
   "active_payloads": 4,
   "share_pct": 0.0
  },
  {
   "code": "HUN",
   "name": "Hungary",
   "active_payloads": 4,
   "share_pct": 0.0
  },
  {
   "code": "NIG",
   "name": "Nigeria",
   "active_payloads": 3,
   "share_pct": 0.0
  },
  {
   "code": "CHLE",
   "name": "Chile",
   "active_payloads": 3,
   "share_pct": 0.0
  },
  {
   "code": "ASRA",
   "name": "Austria",
   "active_payloads": 3,
   "share_pct": 0.0
  },
  {
   "code": "SVN",
   "name": "Slovenia",
   "active_payloads": 3,
   "share_pct": 0.0
  },
  {
   "code": "CZCH",
   "name": "Czech Republic (former Czechoslovakia)",
   "active_payloads": 3,
   "share_pct": 0.0
  },
  {
   "code": "VENZ",
   "name": "Venezuela",
   "active_payloads": 2,
   "share_pct": 0.0
  },
  {
   "code": "ECU",
   "name": "Ecuador",
   "active_payloads": 2,
   "share_pct": 0.0
  },
  {
   "code": "SAFR",
   "name": "South Africa",
   "active_payloads": 2,
   "share_pct": 0.0
  },
  {
   "code": "FRIT",
   "name": "France/Italy",
   "active_payloads": 2,
   "share_pct": 0.0
  },
  {
   "code": "CHBZ",
   "name": "China/Brazil",
   "active_payloads": 2,
   "share_pct": 0.0
  },
  {
   "code": "RP",
   "name": "Philippines (Republic of the Philippines)",
   "active_payloads": 2,
   "share_pct": 0.0
  },
  {
   "code": "LTU",
   "name": "Lithuania",
   "active_payloads": 2,
   "share_pct": 0.0
  },
  {
   "code": "SWED",
   "name": "Sweden",
   "active_payloads": 2,
   "share_pct": 0.0
  },
  {
   "code": "KWT",
   "name": "KWT",
   "active_payloads": 2,
   "share_pct": 0.0
  },
  {
   "code": "SVK",
   "name": "SVK",
   "active_payloads": 2,
   "share_pct": 0.0
  },
  {
   "code": "NICO",
   "name": "New ICO",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "RASC",
   "name": "RascomStar-QAF",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "STCT",
   "name": "Singapore/Taiwan",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "BOL",
   "name": "Bolivia",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "UKR",
   "name": "Ukraine",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "IRAQ",
   "name": "Iraq",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "TMMC",
   "name": "Turkmenistan/Monaco",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "LAOS",
   "name": "Laos",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "PERU",
   "name": "Peru",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "BGD",
   "name": "Peoples Republic of Bangladesh",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "JOR",
   "name": "JOR",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "GRSA",
   "name": "Greece/Saudi Arabia",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "ETH",
   "name": "Ethiopia",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "ANG",
   "name": "Angola",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "NKOR",
   "name": "Democratic People's Republic of Korea",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "HRV",
   "name": "Republic of Croatia",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "DJI",
   "name": "Republic of Djibouti",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "BWA",
   "name": "Republic of Botswana",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "BHR",
   "name": "The Kingdom of Bahrain",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "SLB",
   "name": "Solomon Islands",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "NZ",
   "name": "New Zealand",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "MNE",
   "name": "Montenegro",
   "active_payloads": 1,
   "share_pct": 0.0
  },
  {
   "code": "ROM",
   "name": "Romania",
   "active_payloads": 1,
   "share_pct": 0.0
  }
 ],
 "owner_codes_without_description": [
  "JOR",
  "KWT",
  "SVK",
  "UGA"
 ],
 "constellations": {
  "rule": "A name family with at least 200 active payloads, excluding USA (a catch-all name for unrelated US government satellites).",
  "rows": [
   {
    "key": "STARLINK",
    "label": "Starlink",
    "owner_codes": {
     "US": 11132
    },
    "active_payloads": 11132,
    "share_pct": 64.5
   },
   {
    "key": "ONEWEB",
    "label": "OneWeb",
    "owner_codes": {
     "UK": 651
    },
    "active_payloads": 651,
    "share_pct": 3.8
   },
   {
    "key": "KUIPER",
    "label": "Kuiper",
    "owner_codes": {
     "US": 391
    },
    "active_payloads": 391,
    "share_pct": 2.3
   },
   {
    "key": "QIANFAN",
    "label": "Qianfan",
    "owner_codes": {
     "PRC": 257
    },
    "active_payloads": 257,
    "share_pct": 1.5
   },
   {
    "key": "HULIANWANG DIGUI",
    "label": "Hulianwang Digui (Guowang)",
    "owner_codes": {
     "PRC": 213
    },
    "active_payloads": 213,
    "share_pct": 1.2
   }
  ],
  "mega_total": 12644,
  "mega_share_pct": 73.3,
  "rest": 4606,
  "rest_share_pct": 26.7,
  "starlink": 11132,
  "starlink_share_pct": 64.5,
  "largest_name_families": [
   {
    "family": "STARLINK",
    "active_payloads": 11132
   },
   {
    "family": "ONEWEB",
    "active_payloads": 651
   },
   {
    "family": "USA",
    "active_payloads": 458
   },
   {
    "family": "KUIPER",
    "active_payloads": 391
   },
   {
    "family": "QIANFAN",
    "active_payloads": 257
   },
   {
    "family": "HULIANWANG DIGUI",
    "active_payloads": 213
   },
   {
    "family": "YAOGAN",
    "active_payloads": 167
   },
   {
    "family": "COSMOS",
    "active_payloads": 146
   },
   {
    "family": "TRANSPORTER",
    "active_payloads": 103
   },
   {
    "family": "FLOCK",
    "active_payloads": 94
   },
   {
    "family": "LEMUR",
    "active_payloads": 92
   },
   {
    "family": "IRIDIUM",
    "active_payloads": 80
   }
  ]
 },
 "growth": [
  {
   "year": "1957",
   "launched": 2,
   "decayed": 0,
   "in_orbit_year_end": 2
  },
  {
   "year": "1958",
   "launched": 8,
   "decayed": 5,
   "in_orbit_year_end": 5
  },
  {
   "year": "1959",
   "launched": 15,
   "decayed": 8,
   "in_orbit_year_end": 12
  },
  {
   "year": "1960",
   "launched": 21,
   "decayed": 10,
   "in_orbit_year_end": 23
  },
  {
   "year": "1961",
   "launched": 41,
   "decayed": 25,
   "in_orbit_year_end": 39
  },
  {
   "year": "1962",
   "launched": 77,
   "decayed": 52,
   "in_orbit_year_end": 64
  },
  {
   "year": "1963",
   "launched": 72,
   "decayed": 43,
   "in_orbit_year_end": 93
  },
  {
   "year": "1964",
   "launched": 104,
   "decayed": 54,
   "in_orbit_year_end": 143
  },
  {
   "year": "1965",
   "launched": 158,
   "decayed": 73,
   "in_orbit_year_end": 228
  },
  {
   "year": "1966",
   "launched": 145,
   "decayed": 99,
   "in_orbit_year_end": 274
  },
  {
   "year": "1967",
   "launched": 157,
   "decayed": 93,
   "in_orbit_year_end": 338
  },
  {
   "year": "1968",
   "launched": 139,
   "decayed": 99,
   "in_orbit_year_end": 378
  },
  {
   "year": "1969",
   "launched": 138,
   "decayed": 97,
   "in_orbit_year_end": 419
  },
  {
   "year": "1970",
   "launched": 129,
   "decayed": 84,
   "in_orbit_year_end": 464
  },
  {
   "year": "1971",
   "launched": 156,
   "decayed": 75,
   "in_orbit_year_end": 545
  },
  {
   "year": "1972",
   "launched": 130,
   "decayed": 65,
   "in_orbit_year_end": 610
  },
  {
   "year": "1973",
   "launched": 135,
   "decayed": 65,
   "in_orbit_year_end": 680
  },
  {
   "year": "1974",
   "launched": 126,
   "decayed": 67,
   "in_orbit_year_end": 739
  },
  {
   "year": "1975",
   "launched": 155,
   "decayed": 69,
   "in_orbit_year_end": 825
  },
  {
   "year": "1976",
   "launched": 159,
   "decayed": 69,
   "in_orbit_year_end": 915
  },
  {
   "year": "1977",
   "launched": 136,
   "decayed": 62,
   "in_orbit_year_end": 989
  },
  {
   "year": "1978",
   "launched": 166,
   "decayed": 88,
   "in_orbit_year_end": 1067
  },
  {
   "year": "1979",
   "launched": 123,
   "decayed": 93,
   "in_orbit_year_end": 1097
  },
  {
   "year": "1980",
   "launched": 130,
   "decayed": 93,
   "in_orbit_year_end": 1134
  },
  {
   "year": "1981",
   "launched": 159,
   "decayed": 81,
   "in_orbit_year_end": 1212
  },
  {
   "year": "1982",
   "launched": 143,
   "decayed": 72,
   "in_orbit_year_end": 1283
  },
  {
   "year": "1983",
   "launched": 161,
   "decayed": 75,
   "in_orbit_year_end": 1369
  },
  {
   "year": "1984",
   "launched": 173,
   "decayed": 68,
   "in_orbit_year_end": 1474
  },
  {
   "year": "1985",
   "launched": 166,
   "decayed": 70,
   "in_orbit_year_end": 1570
  },
  {
   "year": "1986",
   "launched": 136,
   "decayed": 53,
   "in_orbit_year_end": 1653
  },
  {
   "year": "1987",
   "launched": 139,
   "decayed": 57,
   "in_orbit_year_end": 1735
  },
  {
   "year": "1988",
   "launched": 143,
   "decayed": 75,
   "in_orbit_year_end": 1803
  },
  {
   "year": "1989",
   "launched": 137,
   "decayed": 83,
   "in_orbit_year_end": 1857
  },
  {
   "year": "1990",
   "launched": 166,
   "decayed": 62,
   "in_orbit_year_end": 1961
  },
  {
   "year": "1991",
   "launched": 136,
   "decayed": 59,
   "in_orbit_year_end": 2038
  },
  {
   "year": "1992",
   "launched": 129,
   "decayed": 69,
   "in_orbit_year_end": 2098
  },
  {
   "year": "1993",
   "launched": 109,
   "decayed": 47,
   "in_orbit_year_end": 2160
  },
  {
   "year": "1994",
   "launched": 123,
   "decayed": 34,
   "in_orbit_year_end": 2249
  },
  {
   "year": "1995",
   "launched": 101,
   "decayed": 38,
   "in_orbit_year_end": 2312
  },
  {
   "year": "1996",
   "launched": 98,
   "decayed": 28,
   "in_orbit_year_end": 2382
  },
  {
   "year": "1997",
   "launched": 152,
   "decayed": 30,
   "in_orbit_year_end": 2504
  },
  {
   "year": "1998",
   "launched": 573,
   "decayed": 24,
   "in_orbit_year_end": 3053
  },
  {
   "year": "1999",
   "launched": 127,
   "decayed": 31,
   "in_orbit_year_end": 3149
  },
  {
   "year": "2000",
   "launched": 119,
   "decayed": 36,
   "in_orbit_year_end": 3232
  },
  {
   "year": "2001",
   "launched": 84,
   "decayed": 48,
   "in_orbit_year_end": 3268
  },
  {
   "year": "2002",
   "launched": 94,
   "decayed": 43,
   "in_orbit_year_end": 3319
  },
  {
   "year": "2003",
   "launched": 88,
   "decayed": 24,
   "in_orbit_year_end": 3383
  },
  {
   "year": "2004",
   "launched": 72,
   "decayed": 20,
   "in_orbit_year_end": 3435
  },
  {
   "year": "2005",
   "launched": 73,
   "decayed": 23,
   "in_orbit_year_end": 3485
  },
  {
   "year": "2006",
   "launched": 91,
   "decayed": 21,
   "in_orbit_year_end": 3555
  },
  {
   "year": "2007",
   "launched": 109,
   "decayed": 23,
   "in_orbit_year_end": 3641
  },
  {
   "year": "2008",
   "launched": 103,
   "decayed": 22,
   "in_orbit_year_end": 3722
  },
  {
   "year": "2009",
   "launched": 123,
   "decayed": 25,
   "in_orbit_year_end": 3820
  },
  {
   "year": "2010",
   "launched": 121,
   "decayed": 37,
   "in_orbit_year_end": 3904
  },
  {
   "year": "2011",
   "launched": 127,
   "decayed": 39,
   "in_orbit_year_end": 3992
  },
  {
   "year": "2012",
   "launched": 126,
   "decayed": 37,
   "in_orbit_year_end": 4081
  },
  {
   "year": "2013",
   "launched": 204,
   "decayed": 40,
   "in_orbit_year_end": 4245
  },
  {
   "year": "2014",
   "launched": 193,
   "decayed": 89,
   "in_orbit_year_end": 4349
  },
  {
   "year": "2015",
   "launched": 174,
   "decayed": 78,
   "in_orbit_year_end": 4445
  },
  {
   "year": "2016",
   "launched": 176,
   "decayed": 69,
   "in_orbit_year_end": 4552
  },
  {
   "year": "2017",
   "launched": 390,
   "decayed": 56,
   "in_orbit_year_end": 4886
  },
  {
   "year": "2018",
   "launched": 410,
   "decayed": 113,
   "in_orbit_year_end": 5183
  },
  {
   "year": "2019",
   "launched": 453,
   "decayed": 86,
   "in_orbit_year_end": 5550
  },
  {
   "year": "2020",
   "launched": 1235,
   "decayed": 116,
   "in_orbit_year_end": 6669
  },
  {
   "year": "2021",
   "launched": 1768,
   "decayed": 170,
   "in_orbit_year_end": 8267
  },
  {
   "year": "2022",
   "launched": 2393,
   "decayed": 365,
   "in_orbit_year_end": 10295
  },
  {
   "year": "2023",
   "launched": 2867,
   "decayed": 671,
   "in_orbit_year_end": 12491
  },
  {
   "year": "2024",
   "launched": 2797,
   "decayed": 1085,
   "in_orbit_year_end": 14203
  },
  {
   "year": "2025",
   "launched": 4492,
   "decayed": 1111,
   "in_orbit_year_end": 17584
  },
  {
   "year": "2026",
   "launched": 3394,
   "decayed": 723,
   "in_orbit_year_end": 20255
  }
 ],
 "peak_year_launched": {
  "year": "2025",
  "launched": 4492,
  "decayed": 1111,
  "in_orbit_year_end": 17584
 },
 "boxscore_check": {
  "owners_compared": 136,
  "mismatches": 0,
  "totals": {
   "payloads_on_orbit": 20255,
   "payloads_decayed": 7714,
   "payloads_total": 27969,
   "payloads_active": 17250
  }
 },
 "gp_coverage": {
  "gp_active_objects": 16682,
  "of_which_active_payloads": 16679,
  "gp_listed_not_active_payload": 3,
  "active_payloads_without_gp": 571,
  "why_without_gp": {
   "no current public elements (data status NEA)": 491,
   "orbits beyond Earth": 33,
   "other": 47
  },
  "gp_epoch_range": [
   "2026-09-11T12:27:56.057184",
   "2026-10-10T02:09:12.691008"
  ]
 },
 "snapshot_check": {
  "rows_compared": 16682,
  "within_15_km": 16662,
  "median_diff_km": 0.38,
  "note": "Largest differences are decaying Starlink satellites, very high orbits (MMS) and a few objects whose SATCAT size is older than the element set."
 },
 "snapshot": {
  "path": "data/space/sat_snapshot.json",
  "rows": 16682,
  "bytes": 1899880,
  "gzip_bytes": 681468,
  "groups": {
   "other": 4902,
   "geo": 557,
   "gps": 40,
   "iss": 1,
   "weather": 50,
   "starlink": 11132
  },
  "orbit_counts": {
   "LEO": 15867,
   "MEO": 181,
   "HEO": 50,
   "GEO": 584
  }
 },
 "row_count": 70
}