{
  "version": "2026.10.22",
  "schema_version": "2",
  "publication_date": "2026-10-22T13:47:13.134Z",
  "coverage_date": "2026-10-22T13:09:38.594+00:00",
  "record_count": 17156,
  "source_versions": [
    {
      "slug": "wikidata",
      "name": "Wikidata",
      "license": "CC0 1.0",
      "last_fetched_at": "2026-10-19T14:57:59.172+00:00",
      "latest_successful_run": "2026-10-19T14:57:59.51168+00:00"
    },
    {
      "slug": "celestrak-omm",
      "name": "CelesTrak OMM/JSON",
      "license": "CelesTrak usage policy; no standalone reuse license stated",
      "last_fetched_at": "2026-10-22T10:54:35.339+00:00",
      "latest_successful_run": "2026-10-22T10:54:35.725093+00:00"
    },
    {
      "slug": "celestrak-satcat",
      "name": "CelesTrak SATCAT",
      "license": "CelesTrak usage policy; no standalone reuse license stated",
      "last_fetched_at": "2026-10-22T10:54:44.737+00:00",
      "latest_successful_run": "2026-10-22T10:54:44.941788+00:00"
    },
    {
      "slug": "orbitalwiki-curation",
      "name": "OrbitalWiki manual curation",
      "license": "ODbL-1.0 (OrbitalWiki structure and original contributions)",
      "last_fetched_at": "2026-10-22T10:54:56.18+00:00",
      "latest_successful_run": "2026-10-22T10:54:56.108091+00:00"
    },
    {
      "slug": "satnogs",
      "name": "SatNOGS DB",
      "license": "CC BY-SA 4.0",
      "last_fetched_at": null,
      "latest_successful_run": null
    },
    {
      "slug": "gcat-mcdowell",
      "name": "GCAT — Jonathan McDowell's General Catalog",
      "license": "CC BY 4.0",
      "last_fetched_at": "2026-10-22T13:09:38.594+00:00",
      "latest_successful_run": "2026-10-22T13:09:39.01121+00:00"
    }
  ],
  "citation": "OrbitalWiki Satellite Catalog, dataset release 2026.10.22 (data as of 2026-10-22). https://www.orbitalwiki.com/datasets - OrbitalWiki compilation licensed ODbL-1.0; upstream provenance includes CelesTrak, GCAT (J. McDowell, CC-BY 4.0), and Wikidata (CC0). Review each upstream source's terms before redistribution.",
  "release_notes": "Automated release from the live catalog. Subsets: active_payloads, operators, launches, reentries, claims, classroom_sample.",
  "files": [
    {
      "subset": "active_payloads",
      "format": "csv",
      "filename": "active_payloads.csv",
      "byte_size": 3445058,
      "row_count": 16790,
      "sha256": "85688e6a8f8767ac726bc8947272a592f1620542bc222f85299349e59be3e53e"
    },
    {
      "subset": "active_payloads",
      "format": "json",
      "filename": "active_payloads.json",
      "byte_size": 11286292,
      "row_count": 16790,
      "sha256": "0d171778e5e28ca4c185010c08d9e4d09ea6fa5502d9c3a3718978bc0a56a82c"
    },
    {
      "subset": "operators",
      "format": "csv",
      "filename": "operators.csv",
      "byte_size": 37708,
      "row_count": 881,
      "sha256": "81ee439bf995b0e07f612867b792994daef4c82aa18d9bf12f5f154f3e1b7e26"
    },
    {
      "subset": "operators",
      "format": "json",
      "filename": "operators.json",
      "byte_size": 107107,
      "row_count": 881,
      "sha256": "31060a752d27203c587d9a6f5bf52053fa58ec3bcf871b9d464f4c2ab945e825"
    },
    {
      "subset": "launches",
      "format": "csv",
      "filename": "launches.csv",
      "byte_size": 799198,
      "row_count": 17156,
      "sha256": "afe21e5b018dd3fd690fc325625c96cffba55c24469842c44b8efcb1072ebb61"
    },
    {
      "subset": "launches",
      "format": "json",
      "filename": "launches.json",
      "byte_size": 3544803,
      "row_count": 17156,
      "sha256": "46ba99cac2c4c97e2ef0bd0f234b5ce89288d3dbfb9c685845b262bc7eb25e97"
    },
    {
      "subset": "reentries",
      "format": "csv",
      "filename": "reentries.csv",
      "byte_size": 35390,
      "row_count": 357,
      "sha256": "f3f0b585f65d0d6360e1a4294ce002940bf5b008cf99a3cfe203b3abc02bb819"
    },
    {
      "subset": "reentries",
      "format": "json",
      "filename": "reentries.json",
      "byte_size": 96739,
      "row_count": 357,
      "sha256": "f3b086a9c05d27b8e422460acea493215dc632562578cadd31a98116b98c6d25"
    },
    {
      "subset": "claims",
      "format": "csv",
      "filename": "claims.csv",
      "byte_size": 17245703,
      "row_count": 123565,
      "sha256": "707eb8a545a1b9490fae29012503b7f1fb2e1ad835547d2e9074826d52afa2a0"
    },
    {
      "subset": "claims",
      "format": "json",
      "filename": "claims.json",
      "byte_size": 45629956,
      "row_count": 123565,
      "sha256": "132d189a4c2c7726a1cafd96e9b16934a1cf96974cd9fd5d01f8cfd2c8e3e266"
    },
    {
      "subset": "classroom_sample",
      "format": "csv",
      "filename": "classroom_sample.csv",
      "byte_size": 11634,
      "row_count": 50,
      "sha256": "501ccf3d7788c60fc812d8c0fba458c5ec305dc3747ad3b75313be545c726de8"
    },
    {
      "subset": "classroom_sample",
      "format": "json",
      "filename": "classroom_sample.json",
      "byte_size": 34726,
      "row_count": 50,
      "sha256": "e1cba165f9f793376e02e70e420056c0b6b007b40f9f40ceb4c66fe47f1d4685"
    }
  ],
  "unavailable_subsets": [
    {
      "key": "university_satellites",
      "reason": "No affiliation/institution field in the current schema."
    },
    {
      "key": "amateur_radio_satellites",
      "reason": "Transmitter data exists, but this release schema does not yet define a radio subset or observation-history coverage."
    }
  ],
  "formats_note": "CSV and JSON only. Parquet/SQLite require a new dependency and are deferred (see PR).",
  "reentries_note": "Reentries lack a true reentry-date column; ordered by updated_at as a proxy.",
  "stale_sources": [
    {
      "slug": "satnogs",
      "latest_successful_run": null,
      "last_fetched_at": null
    }
  ],
  "changes": {
    "status": "computed",
    "compared_with": "2026.10.21",
    "scope": "active_payloads",
    "records_added": 0,
    "records_removed": 0,
    "records_changed": 1,
    "detail_rows_stored": 1,
    "detail_capped_per_type": null
  },
  "pagination_note": "Subsets are exported via offset pagination against the live catalog. Run releases right after an ingestion cycle (not during) so concurrent writes cannot skip/duplicate rows."
}
