{
  "version": "2026.09.26",
  "schema_version": "2",
  "publication_date": "2026-09-26T13:04:43.507Z",
  "coverage_date": "2026-09-26T12:23:51.591+00:00",
  "record_count": 16950,
  "source_versions": [
    {
      "slug": "celestrak-satcat",
      "name": "CelesTrak SATCAT",
      "license": "CelesTrak usage policy; no standalone reuse license stated",
      "last_fetched_at": "2026-09-26T10:33:46.288+00:00",
      "latest_successful_run": "2026-09-26T10:33:46.501297+00:00"
    },
    {
      "slug": "orbitalwiki-curation",
      "name": "OrbitalWiki manual curation",
      "license": "ODbL-1.0 (OrbitalWiki structure and original contributions)",
      "last_fetched_at": "2026-09-26T10:33:59.997+00:00",
      "latest_successful_run": "2026-09-26T10:33:59.930607+00:00"
    },
    {
      "slug": "gcat-mcdowell",
      "name": "GCAT — Jonathan McDowell's General Catalog",
      "license": "CC BY 4.0",
      "last_fetched_at": "2026-09-26T12:23:51.591+00:00",
      "latest_successful_run": "2026-09-26T12:23:52.04296+00:00"
    },
    {
      "slug": "wikidata",
      "name": "Wikidata",
      "license": "CC0 1.0",
      "last_fetched_at": "2026-09-22T13:41:43.986+00:00",
      "latest_successful_run": "2026-09-22T13:41:44.243719+00:00"
    },
    {
      "slug": "satnogs",
      "name": "SatNOGS DB",
      "license": "CC BY-SA 4.0",
      "last_fetched_at": null,
      "latest_successful_run": null
    },
    {
      "slug": "celestrak-omm",
      "name": "CelesTrak OMM/JSON",
      "license": "CelesTrak usage policy; no standalone reuse license stated",
      "last_fetched_at": "2026-09-26T10:33:38.348+00:00",
      "latest_successful_run": "2026-09-26T10:33:38.543247+00:00"
    }
  ],
  "citation": "OrbitalWiki Satellite Catalog, dataset release 2026.09.26 (data as of 2026-09-26). 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": 3416809,
      "row_count": 16651,
      "sha256": "2ef2dea61a66d9861a227ed04908adda0b08aa2493ebdfc41ba2db4fddc9ba05"
    },
    {
      "subset": "active_payloads",
      "format": "json",
      "filename": "active_payloads.json",
      "byte_size": 11192962,
      "row_count": 16651,
      "sha256": "032ffadf50fd2d077fa73e07f8810ab1ac862c5240558004986c492e72bc4487"
    },
    {
      "subset": "operators",
      "format": "csv",
      "filename": "operators.csv",
      "byte_size": 37287,
      "row_count": 867,
      "sha256": "c03a8008fbcbca5f1ba1debbca072d74217cd7eff7f78d3658470469ef89c380"
    },
    {
      "subset": "operators",
      "format": "json",
      "filename": "operators.json",
      "byte_size": 105582,
      "row_count": 867,
      "sha256": "752bd332943ce92ad99ac5918c4da624a244ee14a109268efd7b47c7c0464353"
    },
    {
      "subset": "launches",
      "format": "csv",
      "filename": "launches.csv",
      "byte_size": 789027,
      "row_count": 16950,
      "sha256": "9f7d94895df2e7139e32bf6535caa5961d51ad9d6e5e33d7f4f836206006e005"
    },
    {
      "subset": "launches",
      "format": "json",
      "filename": "launches.json",
      "byte_size": 3501572,
      "row_count": 16950,
      "sha256": "816ea6fbda18eba9944da15daf7644ddfc94795412481f68fdf9110830213bdb"
    },
    {
      "subset": "reentries",
      "format": "csv",
      "filename": "reentries.csv",
      "byte_size": 29245,
      "row_count": 294,
      "sha256": "1e4cdc4cb1a76a7a2c8d61e6f2563061b29b12a83717608311f9453b13ddf49c"
    },
    {
      "subset": "reentries",
      "format": "json",
      "filename": "reentries.json",
      "byte_size": 79748,
      "row_count": 294,
      "sha256": "d983fd1a6849e3fade2800d34e58d9d72e904648707ef3811efa1f292c56e618"
    },
    {
      "subset": "claims",
      "format": "csv",
      "filename": "claims.csv",
      "byte_size": 16958482,
      "row_count": 121642,
      "sha256": "4948f02710b2cf8cfed78f55bae56d1040edfe8de75fb3bc96603ec8fe5c862a"
    },
    {
      "subset": "claims",
      "format": "json",
      "filename": "claims.json",
      "byte_size": 44900791,
      "row_count": 121642,
      "sha256": "39ab6b09c68771adb8b4914ac034a4cb46f3ea8b8eebb94f32d5d32ebb8861e0"
    },
    {
      "subset": "classroom_sample",
      "format": "csv",
      "filename": "classroom_sample.csv",
      "byte_size": 11641,
      "row_count": 50,
      "sha256": "ec59d32d38ac401c7b933b184a224920971bc4edb36b2aa606ae186cf44cd8b4"
    },
    {
      "subset": "classroom_sample",
      "format": "json",
      "filename": "classroom_sample.json",
      "byte_size": 34733,
      "row_count": 50,
      "sha256": "0d4f97c1466f7319999e0eefc01af6327e0b266c5bcd83436d7b44fcbb50817f"
    }
  ],
  "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.25",
    "scope": "active_payloads",
    "records_added": 5,
    "records_removed": 4,
    "records_changed": 6,
    "detail_rows_stored": 15,
    "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."
}
