{
  "version": "2026.09.29",
  "schema_version": "2",
  "publication_date": "2026-09-29T14:52:12.422Z",
  "coverage_date": "2026-09-29T14:17:51.193+00:00",
  "record_count": 16952,
  "source_versions": [
    {
      "slug": "orbitalwiki-curation",
      "name": "OrbitalWiki manual curation",
      "license": "ODbL-1.0 (OrbitalWiki structure and original contributions)",
      "last_fetched_at": "2026-09-29T11:52:45.235+00:00",
      "latest_successful_run": "2026-09-29T11:52:45.149397+00:00"
    },
    {
      "slug": "gcat-mcdowell",
      "name": "GCAT — Jonathan McDowell's General Catalog",
      "license": "CC BY 4.0",
      "last_fetched_at": "2026-09-29T14:17:51.193+00:00",
      "latest_successful_run": "2026-09-29T14:17:51.58014+00:00"
    },
    {
      "slug": "satnogs",
      "name": "SatNOGS DB",
      "license": "CC BY-SA 4.0",
      "last_fetched_at": null,
      "latest_successful_run": null
    },
    {
      "slug": "wikidata",
      "name": "Wikidata",
      "license": "CC0 1.0",
      "last_fetched_at": "2026-09-28T15:47:38.541+00:00",
      "latest_successful_run": "2026-09-28T15:47:38.806691+00:00"
    },
    {
      "slug": "celestrak-omm",
      "name": "CelesTrak OMM/JSON",
      "license": "CelesTrak usage policy; no standalone reuse license stated",
      "last_fetched_at": "2026-09-29T11:52:17.517+00:00",
      "latest_successful_run": "2026-09-29T11:52:17.792716+00:00"
    },
    {
      "slug": "celestrak-satcat",
      "name": "CelesTrak SATCAT",
      "license": "CelesTrak usage policy; no standalone reuse license stated",
      "last_fetched_at": "2026-09-29T11:52:26.829+00:00",
      "latest_successful_run": "2026-09-29T11:52:27.233332+00:00"
    }
  ],
  "citation": "OrbitalWiki Satellite Catalog, dataset release 2026.09.29 (data as of 2026-09-29). 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": 3413206,
      "row_count": 16646,
      "sha256": "5523841dce47077766266015e0b48b832a6261fbb7185e67078ae45a71cf685c"
    },
    {
      "subset": "active_payloads",
      "format": "json",
      "filename": "active_payloads.json",
      "byte_size": 11186998,
      "row_count": 16646,
      "sha256": "8e7c9755f8184a0308f99f61ea927a2140d35682a017e4c96b6996ce9e9e6e4a"
    },
    {
      "subset": "operators",
      "format": "csv",
      "filename": "operators.csv",
      "byte_size": 37364,
      "row_count": 869,
      "sha256": "d155f82705de2e8751354b6814eab16429e76198e26bf7162fa957f071bdbe7f"
    },
    {
      "subset": "operators",
      "format": "json",
      "filename": "operators.json",
      "byte_size": 105817,
      "row_count": 869,
      "sha256": "0f6a8d35bfc9e2e8bfd76edc8d07cc6d9548c15b2bb27f8a635c6b3c58f9db27"
    },
    {
      "subset": "launches",
      "format": "csv",
      "filename": "launches.csv",
      "byte_size": 789060,
      "row_count": 16952,
      "sha256": "ab8d77626c20afd7b17bb2e1293879007d41521a50ef39e246947d16b662abfe"
    },
    {
      "subset": "launches",
      "format": "json",
      "filename": "launches.json",
      "byte_size": 3501919,
      "row_count": 16952,
      "sha256": "581c41d8170dfbd978adafd5a79e97518fa9b1f8b410b20327e6ba9c32097219"
    },
    {
      "subset": "reentries",
      "format": "csv",
      "filename": "reentries.csv",
      "byte_size": 29812,
      "row_count": 300,
      "sha256": "3a041399815d4df46cbc4c26a8d1764411ed17d4810802108a69711450139bd7"
    },
    {
      "subset": "reentries",
      "format": "json",
      "filename": "reentries.json",
      "byte_size": 81357,
      "row_count": 300,
      "sha256": "efa98d087afab0ea7f0e6b8e120e5f41fc9267a0e6293bf7b2249c85077fe65c"
    },
    {
      "subset": "claims",
      "format": "csv",
      "filename": "claims.csv",
      "byte_size": 16967867,
      "row_count": 121709,
      "sha256": "2bf4b9e71ea66977fef52b6af5e89f936e64d4d446132122d12e13ec0f621598"
    },
    {
      "subset": "claims",
      "format": "json",
      "filename": "claims.json",
      "byte_size": 44925568,
      "row_count": 121709,
      "sha256": "9e194832f109983f3b0aabebf9d99fe268b71b8c3f4f94b00fcead08f1f351de"
    },
    {
      "subset": "classroom_sample",
      "format": "csv",
      "filename": "classroom_sample.csv",
      "byte_size": 11636,
      "row_count": 50,
      "sha256": "179f5dffd4302c3d8790ee27f59561e4a465855f9af534f0c6c68e9ba6539833"
    },
    {
      "subset": "classroom_sample",
      "format": "json",
      "filename": "classroom_sample.json",
      "byte_size": 34728,
      "row_count": 50,
      "sha256": "9ad25a1f2741049e80f3fce4bd9a2f384b36682ca6b8b040896d315754f94d08"
    }
  ],
  "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.09.28",
    "scope": "active_payloads",
    "records_added": 0,
    "records_removed": 3,
    "records_changed": 19,
    "detail_rows_stored": 27,
    "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."
}
