{
  "version": "2026.09.27",
  "schema_version": "2",
  "publication_date": "2026-09-27T13:58:16.703Z",
  "coverage_date": "2026-09-27T13:14:38.937+00:00",
  "record_count": 16952,
  "source_versions": [
    {
      "slug": "celestrak-omm",
      "name": "CelesTrak OMM/JSON",
      "license": "CelesTrak usage policy; no standalone reuse license stated",
      "last_fetched_at": "2026-09-27T11:05:28.937+00:00",
      "latest_successful_run": "2026-09-27T11:05:29.14958+00:00"
    },
    {
      "slug": "celestrak-satcat",
      "name": "CelesTrak SATCAT",
      "license": "CelesTrak usage policy; no standalone reuse license stated",
      "last_fetched_at": "2026-09-27T11:05:38.077+00:00",
      "latest_successful_run": "2026-09-27T11:05:38.35742+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": "orbitalwiki-curation",
      "name": "OrbitalWiki manual curation",
      "license": "ODbL-1.0 (OrbitalWiki structure and original contributions)",
      "last_fetched_at": "2026-09-27T11:05:47.495+00:00",
      "latest_successful_run": "2026-09-27T11:05:47.422079+00:00"
    },
    {
      "slug": "gcat-mcdowell",
      "name": "GCAT — Jonathan McDowell's General Catalog",
      "license": "CC BY 4.0",
      "last_fetched_at": "2026-09-27T13:14:38.937+00:00",
      "latest_successful_run": "2026-09-27T13:14:39.334048+00:00"
    }
  ],
  "citation": "OrbitalWiki Satellite Catalog, dataset release 2026.09.27 (data as of 2026-09-27). 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": 3415392,
      "row_count": 16650,
      "sha256": "b86d8bdf52e7a0ede8c4b5d6000da6fe22bf09a7a431c1be1c615a0336a17b70"
    },
    {
      "subset": "active_payloads",
      "format": "json",
      "filename": "active_payloads.json",
      "byte_size": 11191074,
      "row_count": 16650,
      "sha256": "05c732c5bf967b46e7bca7feac386ab37d1fd31b9dc79672bb7b03461333d9e6"
    },
    {
      "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": 789049,
      "row_count": 16952,
      "sha256": "bfc3adfe67fbb038cc07fe28107d4166e459b90aaccc15e7f908c5a076c5817f"
    },
    {
      "subset": "launches",
      "format": "json",
      "filename": "launches.json",
      "byte_size": 3501920,
      "row_count": 16952,
      "sha256": "e10a30ff1a4c0c4362e3b640b870b345b823b4949de622360016c5b3b59244a4"
    },
    {
      "subset": "reentries",
      "format": "csv",
      "filename": "reentries.csv",
      "byte_size": 29401,
      "row_count": 296,
      "sha256": "12c97627f956ac969e2b667722d0e66fd42ceb0b2ab45b31e51fa6ef530ea002"
    },
    {
      "subset": "reentries",
      "format": "json",
      "filename": "reentries.json",
      "byte_size": 80258,
      "row_count": 296,
      "sha256": "c14f59314392483b7a1f8532fab59f09a65981501568c498289dbff2a6d84a7f"
    },
    {
      "subset": "claims",
      "format": "csv",
      "filename": "claims.csv",
      "byte_size": 16959780,
      "row_count": 121650,
      "sha256": "656a7d643af3bc8656d7319fd8c56df9b4be7c414ccd8f3e2d1098578490b120"
    },
    {
      "subset": "claims",
      "format": "json",
      "filename": "claims.json",
      "byte_size": 44903929,
      "row_count": 121650,
      "sha256": "e0056966e63f203a5241f3ef7339c655830c242b5a790eaa319cc20b828b94bb"
    },
    {
      "subset": "classroom_sample",
      "format": "csv",
      "filename": "classroom_sample.csv",
      "byte_size": 11634,
      "row_count": 50,
      "sha256": "0d53a744dff00a523fc37e51ba4acd973ecd34a3a278aed4f10866a79ce518f6"
    },
    {
      "subset": "classroom_sample",
      "format": "json",
      "filename": "classroom_sample.json",
      "byte_size": 34726,
      "row_count": 50,
      "sha256": "60b34827d93d2e2276265baa167f13b1a0e6baa40aa281721a61ef75637ef871"
    }
  ],
  "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.26",
    "scope": "active_payloads",
    "records_added": 1,
    "records_removed": 2,
    "records_changed": 33,
    "detail_rows_stored": 40,
    "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."
}
