{
  "version": "2026.10.20",
  "schema_version": "2",
  "publication_date": "2026-10-20T13:36:05.386Z",
  "coverage_date": "2026-10-20T13:00:00.976+00:00",
  "record_count": 17154,
  "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": "orbitalwiki-curation",
      "name": "OrbitalWiki manual curation",
      "license": "ODbL-1.0 (OrbitalWiki structure and original contributions)",
      "last_fetched_at": "2026-10-20T10:44:38.561+00:00",
      "latest_successful_run": "2026-10-20T10:44:38.470163+00:00"
    },
    {
      "slug": "gcat-mcdowell",
      "name": "GCAT — Jonathan McDowell's General Catalog",
      "license": "CC BY 4.0",
      "last_fetched_at": "2026-10-20T13:00:00.976+00:00",
      "latest_successful_run": "2026-10-20T13:00:02.509209+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-10-20T10:43:57.232+00:00",
      "latest_successful_run": "2026-10-20T10:43:57.588142+00:00"
    },
    {
      "slug": "celestrak-satcat",
      "name": "CelesTrak SATCAT",
      "license": "CelesTrak usage policy; no standalone reuse license stated",
      "last_fetched_at": "2026-10-20T10:44:20.047+00:00",
      "latest_successful_run": "2026-10-20T10:44:20.312275+00:00"
    }
  ],
  "citation": "OrbitalWiki Satellite Catalog, dataset release 2026.10.20 (data as of 2026-10-20). 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": 3444453,
      "row_count": 16791,
      "sha256": "a4fa96e81615a8d3f322155030549d0335d38ca894946faa5754044ac9b4708a"
    },
    {
      "subset": "active_payloads",
      "format": "json",
      "filename": "active_payloads.json",
      "byte_size": 11286150,
      "row_count": 16791,
      "sha256": "2213efb7ccf6ea2c3123fe6fa47d77cd93cce93949bc0a87dc35c68436394345"
    },
    {
      "subset": "operators",
      "format": "csv",
      "filename": "operators.csv",
      "byte_size": 37708,
      "row_count": 881,
      "sha256": "122db708937543bff769a314d320f4163ac2f8ffae14849642da629a35828057"
    },
    {
      "subset": "operators",
      "format": "json",
      "filename": "operators.json",
      "byte_size": 107107,
      "row_count": 881,
      "sha256": "ffbc529387d88474e1fbdacb6fca18f452048a85436300f047dc487a006c0763"
    },
    {
      "subset": "launches",
      "format": "csv",
      "filename": "launches.csv",
      "byte_size": 799078,
      "row_count": 17154,
      "sha256": "ab96116eeb49df12b0e65f8552b1bf6993d4d33d4e18f1802ed57c1e72ca0342"
    },
    {
      "subset": "launches",
      "format": "json",
      "filename": "launches.json",
      "byte_size": 3544359,
      "row_count": 17154,
      "sha256": "d82e82e5726e0a45257bca45e02d9040c54e537ae5efc14c508831bfef34e0d5"
    },
    {
      "subset": "reentries",
      "format": "csv",
      "filename": "reentries.csv",
      "byte_size": 35089,
      "row_count": 354,
      "sha256": "91e737cd015a9c704ddef390b4eb3677cabca011e7b6f8b0e6c2109180d39e4d"
    },
    {
      "subset": "reentries",
      "format": "json",
      "filename": "reentries.json",
      "byte_size": 95918,
      "row_count": 354,
      "sha256": "a46052d73ac096ac2879eed096b6d6c8aa73454def351293b5574e6aba6dba8d"
    },
    {
      "subset": "claims",
      "format": "csv",
      "filename": "claims.csv",
      "byte_size": 17244245,
      "row_count": 123556,
      "sha256": "4f94ec3804abeee5aa0b660375a9dd9b151702db02a7fcbd9c811bb72ac8f82a"
    },
    {
      "subset": "claims",
      "format": "json",
      "filename": "claims.json",
      "byte_size": 45626428,
      "row_count": 123556,
      "sha256": "2b5acae9e7352debe1e0b8e17c2b5d15ead49a629efc6705bace8c3778724770"
    },
    {
      "subset": "classroom_sample",
      "format": "csv",
      "filename": "classroom_sample.csv",
      "byte_size": 11630,
      "row_count": 50,
      "sha256": "a46d258c8483591aa92b955f0e80c6f16269f1d68410e565b41bafdf30492599"
    },
    {
      "subset": "classroom_sample",
      "format": "json",
      "filename": "classroom_sample.json",
      "byte_size": 34722,
      "row_count": 50,
      "sha256": "555aaced21624f6926c7aeb880fac1d6e220ea69bf2ea70398ef6a8bbd863f18"
    }
  ],
  "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.19",
    "scope": "active_payloads",
    "records_added": 15,
    "records_removed": 2,
    "records_changed": 2,
    "detail_rows_stored": 19,
    "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."
}
