{
  "version": "2026.09.12",
  "schema_version": "2",
  "publication_date": "2026-09-12T12:10:55.890Z",
  "coverage_date": "2026-09-12T11:46:23.443+00:00",
  "record_count": 16854,
  "source_versions": [
    {
      "slug": "orbitalwiki-curation",
      "name": "OrbitalWiki manual curation",
      "license": "ODbL-1.0 (OrbitalWiki structure and original contributions)",
      "last_fetched_at": "2026-09-12T09:51:32.038+00:00",
      "latest_successful_run": "2026-09-12T09:51:31.986893+00:00"
    },
    {
      "slug": "gcat-mcdowell",
      "name": "GCAT — Jonathan McDowell's General Catalog",
      "license": "CC BY 4.0",
      "last_fetched_at": "2026-09-12T11:46:23.443+00:00",
      "latest_successful_run": "2026-09-12T11:46:23.809605+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-12T09:51:16.496+00:00",
      "latest_successful_run": "2026-09-12T09:51:16.655223+00:00"
    },
    {
      "slug": "celestrak-satcat",
      "name": "CelesTrak SATCAT",
      "license": "CelesTrak usage policy; no standalone reuse license stated",
      "last_fetched_at": "2026-09-12T09:51:23.586+00:00",
      "latest_successful_run": "2026-09-12T09:51:23.779654+00:00"
    },
    {
      "slug": "wikidata",
      "name": "Wikidata",
      "license": "CC0 1.0",
      "last_fetched_at": "2026-09-06T11:54:24.649+00:00",
      "latest_successful_run": "2026-09-06T11:54:24.860271+00:00"
    }
  ],
  "citation": "OrbitalWiki Satellite Catalog, dataset release 2026.09.12 (data as of 2026-09-12). 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": 3402712,
      "row_count": 16598,
      "sha256": "d95daac71b77733a9309c896fe30709bb1cd84dcc9a7d922229a12725b16bad3"
    },
    {
      "subset": "active_payloads",
      "format": "json",
      "filename": "active_payloads.json",
      "byte_size": 11154136,
      "row_count": 16598,
      "sha256": "3ea2ed0a48cfb6c3f601740eb94a1c867ecef6030f62f915ea31b4689558e5ae"
    },
    {
      "subset": "operators",
      "format": "csv",
      "filename": "operators.csv",
      "byte_size": 36740,
      "row_count": 856,
      "sha256": "e6613ac163e7a60890f2e53a7eec8bf4b34dc91659910389410aa7c8cd94c733"
    },
    {
      "subset": "operators",
      "format": "json",
      "filename": "operators.json",
      "byte_size": 104166,
      "row_count": 856,
      "sha256": "864d7989ced9e9b6ef0a7a25e07f4353ca9fa7c755653f1951f39fceedf9e075"
    },
    {
      "subset": "launches",
      "format": "csv",
      "filename": "launches.csv",
      "byte_size": 784454,
      "row_count": 16854,
      "sha256": "2186daf663354975f260072e78f1c68ae15f1120d2045bfe154e3480eec2c70a"
    },
    {
      "subset": "launches",
      "format": "json",
      "filename": "launches.json",
      "byte_size": 3481647,
      "row_count": 16854,
      "sha256": "f7a28f2267aaad9e5cbdfcea7336aa9d0e52fab9a44070d849a62f8ed5d0fd98"
    },
    {
      "subset": "reentries",
      "format": "csv",
      "filename": "reentries.csv",
      "byte_size": 24875,
      "row_count": 251,
      "sha256": "058d70da5729c38070e71cc234c2b9f7c84c81746b98d0356be407ecd08547cc"
    },
    {
      "subset": "reentries",
      "format": "json",
      "filename": "reentries.json",
      "byte_size": 67986,
      "row_count": 251,
      "sha256": "0b39eeb6e0737dd94d87f63fc881598ef8ecda014912f1a0143feb94401084a9"
    },
    {
      "subset": "claims",
      "format": "csv",
      "filename": "claims.csv",
      "byte_size": 16803547,
      "row_count": 120581,
      "sha256": "7ec8884b8432a862534b5a12e18444cf053adcdb597c87a102a765c6312fd8f2"
    },
    {
      "subset": "claims",
      "format": "json",
      "filename": "claims.json",
      "byte_size": 44502050,
      "row_count": 120581,
      "sha256": "6613bfcbb0246cf1bb9087805c513957aaaaa66a87a45824bf2f6e9e8c0035ae"
    },
    {
      "subset": "classroom_sample",
      "format": "csv",
      "filename": "classroom_sample.csv",
      "byte_size": 11640,
      "row_count": 50,
      "sha256": "847237b5ec68a5a83785b55ebda3420147a0bb82156d19ba85938ef6d9c7cd2f"
    },
    {
      "subset": "classroom_sample",
      "format": "json",
      "filename": "classroom_sample.json",
      "byte_size": 34732,
      "row_count": 50,
      "sha256": "058f7b936bd9c426286dccb11a702d17982dc5e82ac47763e77f7ca935bf6612"
    }
  ],
  "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.11",
    "scope": "active_payloads",
    "records_added": 0,
    "records_removed": 0,
    "records_changed": 9,
    "detail_rows_stored": 9,
    "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."
}
