{
  "version": "2026.09.28",
  "schema_version": "2",
  "publication_date": "2026-09-28T16:04:29.224Z",
  "coverage_date": "2026-09-28T15:47:38.541+00:00",
  "record_count": 16952,
  "source_versions": [
    {
      "slug": "celestrak-satcat",
      "name": "CelesTrak SATCAT",
      "license": "CelesTrak usage policy; no standalone reuse license stated",
      "last_fetched_at": "2026-09-28T12:27:29.152+00:00",
      "latest_successful_run": "2026-09-28T12:27:29.779761+00:00"
    },
    {
      "slug": "orbitalwiki-curation",
      "name": "OrbitalWiki manual curation",
      "license": "ODbL-1.0 (OrbitalWiki structure and original contributions)",
      "last_fetched_at": "2026-09-28T12:27:45.671+00:00",
      "latest_successful_run": "2026-09-28T12:27:45.569177+00:00"
    },
    {
      "slug": "gcat-mcdowell",
      "name": "GCAT — Jonathan McDowell's General Catalog",
      "license": "CC BY 4.0",
      "last_fetched_at": "2026-09-28T15:47:06.291+00:00",
      "latest_successful_run": "2026-09-28T15:47:06.691025+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-28T12:27:13.808+00:00",
      "latest_successful_run": "2026-09-28T12:27:14.100815+00:00"
    }
  ],
  "citation": "OrbitalWiki Satellite Catalog, dataset release 2026.09.28 (data as of 2026-09-28). 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": 3413970,
      "row_count": 16649,
      "sha256": "17c45f40f4f3cc7e72ffe8c670072c3d4f989d5cb68a800080c89edf8e1136d6"
    },
    {
      "subset": "active_payloads",
      "format": "json",
      "filename": "active_payloads.json",
      "byte_size": 11189185,
      "row_count": 16649,
      "sha256": "7a5e1e697167b011988732fd864a88850ee9e14370ca0c17ce5bd7aeb83e5a5d"
    },
    {
      "subset": "operators",
      "format": "csv",
      "filename": "operators.csv",
      "byte_size": 37287,
      "row_count": 867,
      "sha256": "98d77afb918c16a0df947eefef32dc04dbe19e6c6553e7e3409d1f4dcce61047"
    },
    {
      "subset": "operators",
      "format": "json",
      "filename": "operators.json",
      "byte_size": 105582,
      "row_count": 867,
      "sha256": "c54a1f47e61b530a658ad722c12f6b0e7d486049b7337ced3037a32241fc6d5b"
    },
    {
      "subset": "launches",
      "format": "csv",
      "filename": "launches.csv",
      "byte_size": 789049,
      "row_count": 16952,
      "sha256": "b5995ea31e25f29043c2626b09d93317f5bd4d4c9bc199c25065042d57caec1b"
    },
    {
      "subset": "launches",
      "format": "json",
      "filename": "launches.json",
      "byte_size": 3501920,
      "row_count": 16952,
      "sha256": "6b1ed6194ffe8092d0efa5ff6890944ad4b5c8a8814f06b74f6b4ba2b286e741"
    },
    {
      "subset": "reentries",
      "format": "csv",
      "filename": "reentries.csv",
      "byte_size": 29504,
      "row_count": 297,
      "sha256": "71befab96d344129e11513876a2c23f881a452cb9bc74b2fcdb3fb5847661147"
    },
    {
      "subset": "reentries",
      "format": "json",
      "filename": "reentries.json",
      "byte_size": 80533,
      "row_count": 297,
      "sha256": "00b1090638bc37e52f345c5812c1ea3b445177d7c475ec226155ecc76a93599b"
    },
    {
      "subset": "claims",
      "format": "csv",
      "filename": "claims.csv",
      "byte_size": 16960593,
      "row_count": 121657,
      "sha256": "835569fa186e7bbf908c257649b9ef799a070d00bb25fba4098c2892ec045150"
    },
    {
      "subset": "claims",
      "format": "json",
      "filename": "claims.json",
      "byte_size": 44906348,
      "row_count": 121657,
      "sha256": "5ad902e4f9e955f515a6ad5b6c123bbc31820a4a4357e3bd3535798b5c650d95"
    },
    {
      "subset": "classroom_sample",
      "format": "csv",
      "filename": "classroom_sample.csv",
      "byte_size": 11629,
      "row_count": 50,
      "sha256": "e964aed77f05dd487e713c009504e3cd2bc89c18e207018f15bcd932b43be3a1"
    },
    {
      "subset": "classroom_sample",
      "format": "json",
      "filename": "classroom_sample.json",
      "byte_size": 34721,
      "row_count": 50,
      "sha256": "c045666542df74008de47e11933e1a4eaac8dc64434ecac9f94ed0b62dcd71da"
    }
  ],
  "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.27",
    "scope": "active_payloads",
    "records_added": 0,
    "records_removed": 1,
    "records_changed": 4,
    "detail_rows_stored": 5,
    "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."
}
