{
  "version": "2026.09.20",
  "schema_version": "2",
  "publication_date": "2026-09-20T13:03:53.835Z",
  "coverage_date": "2026-09-20T12:42:31.006+00:00",
  "record_count": 16896,
  "source_versions": [
    {
      "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-13T12:59:10.641+00:00",
      "latest_successful_run": "2026-09-13T12:59:10.917885+00:00"
    },
    {
      "slug": "celestrak-omm",
      "name": "CelesTrak OMM/JSON",
      "license": "CelesTrak usage policy; no standalone reuse license stated",
      "last_fetched_at": "2026-09-20T10:21:27.012+00:00",
      "latest_successful_run": "2026-09-20T10:21:27.301634+00:00"
    },
    {
      "slug": "celestrak-satcat",
      "name": "CelesTrak SATCAT",
      "license": "CelesTrak usage policy; no standalone reuse license stated",
      "last_fetched_at": "2026-09-20T10:21:38.038+00:00",
      "latest_successful_run": "2026-09-20T10:21:38.30328+00:00"
    },
    {
      "slug": "orbitalwiki-curation",
      "name": "OrbitalWiki manual curation",
      "license": "ODbL-1.0 (OrbitalWiki structure and original contributions)",
      "last_fetched_at": "2026-09-20T10:21:55.915+00:00",
      "latest_successful_run": "2026-09-20T10:21:55.827321+00:00"
    },
    {
      "slug": "gcat-mcdowell",
      "name": "GCAT — Jonathan McDowell's General Catalog",
      "license": "CC BY 4.0",
      "last_fetched_at": "2026-09-20T12:42:31.006+00:00",
      "latest_successful_run": "2026-09-20T12:42:31.316675+00:00"
    }
  ],
  "citation": "OrbitalWiki Satellite Catalog, dataset release 2026.09.20 (data as of 2026-09-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": 3406605,
      "row_count": 16615,
      "sha256": "4292ca4df4e4789b367be5dff519d0865d7ff6002a6a281011be51b19e583dd4"
    },
    {
      "subset": "active_payloads",
      "format": "json",
      "filename": "active_payloads.json",
      "byte_size": 11165940,
      "row_count": 16615,
      "sha256": "beeffb30444806c50353c49bde88dcb8501297a481a79c1f045611e5fc19d42b"
    },
    {
      "subset": "operators",
      "format": "csv",
      "filename": "operators.csv",
      "byte_size": 37113,
      "row_count": 863,
      "sha256": "2b9ded85db7831e648841de505d4a3717a8e94151beeb7f28ef73310b353c0a1"
    },
    {
      "subset": "operators",
      "format": "json",
      "filename": "operators.json",
      "byte_size": 105092,
      "row_count": 863,
      "sha256": "a7bf6a20b1db2630ef310c41295cc09dbbc74e80417571ca2f8de3bfdfa2e3ce"
    },
    {
      "subset": "launches",
      "format": "csv",
      "filename": "launches.csv",
      "byte_size": 786493,
      "row_count": 16896,
      "sha256": "d0914b2d432b32f4d1579d89ca44729e47b3157a02991dbc0bfe74408469a8b4"
    },
    {
      "subset": "launches",
      "format": "json",
      "filename": "launches.json",
      "byte_size": 3490392,
      "row_count": 16896,
      "sha256": "358e14dae5ce7ec2ea5b2dd64e9fafe478acfd6c3b727f2dd6674365970217be"
    },
    {
      "subset": "reentries",
      "format": "csv",
      "filename": "reentries.csv",
      "byte_size": 27443,
      "row_count": 276,
      "sha256": "b85caf806d14ca3b284e86be6c9144d4faff9e2cdd278e80374689b7bfd597ed"
    },
    {
      "subset": "reentries",
      "format": "json",
      "filename": "reentries.json",
      "byte_size": 74852,
      "row_count": 276,
      "sha256": "1d16f448e91c59f8cc3a1df61baa34cc53f0e95e54ddd4b94f851fc914a2021d"
    },
    {
      "subset": "claims",
      "format": "csv",
      "filename": "claims.csv",
      "byte_size": 16873946,
      "row_count": 121065,
      "sha256": "1cc330bb2460ebf78511a9cf91afff1a72c568dc165bfc9e3f73efad7b641244"
    },
    {
      "subset": "claims",
      "format": "json",
      "filename": "claims.json",
      "byte_size": 44683653,
      "row_count": 121065,
      "sha256": "8e3d990ac98c514f3a5ce1a79643a50c369c7d2041a7133f9087bd87ab598da8"
    },
    {
      "subset": "classroom_sample",
      "format": "csv",
      "filename": "classroom_sample.csv",
      "byte_size": 11640,
      "row_count": 50,
      "sha256": "fd5f628248678c6ce33c52e330c5e3a59263819577e82ca0fba4b1cc4513e710"
    },
    {
      "subset": "classroom_sample",
      "format": "json",
      "filename": "classroom_sample.json",
      "byte_size": 34732,
      "row_count": 50,
      "sha256": "793a9fb51971eeac8a92bfdec51d180cd5ee19713f7c3bf4a979c10726a16ee5"
    }
  ],
  "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.19",
    "scope": "active_payloads",
    "records_added": 5,
    "records_removed": 6,
    "records_changed": 7,
    "detail_rows_stored": 18,
    "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."
}
