{
  "version": "2026.09.23",
  "schema_version": "2",
  "publication_date": "2026-09-23T13:39:05.437Z",
  "coverage_date": "2026-09-23T12:53:33.675+00:00",
  "record_count": 16907,
  "source_versions": [
    {
      "slug": "celestrak-omm",
      "name": "CelesTrak OMM/JSON",
      "license": "CelesTrak usage policy; no standalone reuse license stated",
      "last_fetched_at": "2026-09-23T10:31:32.847+00:00",
      "latest_successful_run": "2026-09-23T10:31:33.049018+00:00"
    },
    {
      "slug": "celestrak-satcat",
      "name": "CelesTrak SATCAT",
      "license": "CelesTrak usage policy; no standalone reuse license stated",
      "last_fetched_at": "2026-09-23T10:31:42.737+00:00",
      "latest_successful_run": "2026-09-23T10:31:43.160998+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-23T10:31:53.945+00:00",
      "latest_successful_run": "2026-09-23T10:31:53.866954+00:00"
    },
    {
      "slug": "gcat-mcdowell",
      "name": "GCAT — Jonathan McDowell's General Catalog",
      "license": "CC BY 4.0",
      "last_fetched_at": "2026-09-23T12:53:33.675+00:00",
      "latest_successful_run": "2026-09-23T12:53:34.231565+00:00"
    }
  ],
  "citation": "OrbitalWiki Satellite Catalog, dataset release 2026.09.23 (data as of 2026-09-23). 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": 3408099,
      "row_count": 16618,
      "sha256": "3a5a6e9c7890abdf9dda467d6ed38a00ac5b838899ebd105e0010d242c932527"
    },
    {
      "subset": "active_payloads",
      "format": "json",
      "filename": "active_payloads.json",
      "byte_size": 11168857,
      "row_count": 16618,
      "sha256": "890f78e4e621be29cf0591e0ae97bfedaa6f511ecaea77939df62f42940c1bd8"
    },
    {
      "subset": "operators",
      "format": "csv",
      "filename": "operators.csv",
      "byte_size": 37115,
      "row_count": 863,
      "sha256": "28a9cd1cb99a85dd7456df0822e988e79b438f2b40ae4acd378fdc8944d3d90e"
    },
    {
      "subset": "operators",
      "format": "json",
      "filename": "operators.json",
      "byte_size": 105094,
      "row_count": 863,
      "sha256": "4242c2a6926a5452ca5b10eb8e741211d770e7c7c206e0bf64cd54943bed1a05"
    },
    {
      "subset": "launches",
      "format": "csv",
      "filename": "launches.csv",
      "byte_size": 786912,
      "row_count": 16907,
      "sha256": "1067f954efd62451eb1dbdac1bfca5f8a844ae904065d683876c3ea1a5bddb33"
    },
    {
      "subset": "launches",
      "format": "json",
      "filename": "launches.json",
      "byte_size": 3492581,
      "row_count": 16907,
      "sha256": "d9f990aac6191fa8451628d007686a36edd7a95443ac49af673cbcd84d734dec"
    },
    {
      "subset": "reentries",
      "format": "csv",
      "filename": "reentries.csv",
      "byte_size": 28247,
      "row_count": 284,
      "sha256": "7e393efeaaf3fc7ea3ab7985ec4692223fe2bb0c500baaf01481e3937db30e3c"
    },
    {
      "subset": "reentries",
      "format": "json",
      "filename": "reentries.json",
      "byte_size": 77030,
      "row_count": 284,
      "sha256": "45b5a78664b7f0cf4d8658dc8feae3e50dd06322235b80adc21efbd125eeb817"
    },
    {
      "subset": "claims",
      "format": "csv",
      "filename": "claims.csv",
      "byte_size": 16889162,
      "row_count": 121167,
      "sha256": "1f2ba6eab7ebae249bb9f723bfdbbfd55936b8690253f9e3acefb1254982d7aa"
    },
    {
      "subset": "claims",
      "format": "json",
      "filename": "claims.json",
      "byte_size": 44722319,
      "row_count": 121167,
      "sha256": "95e61986d7a62d5b54fbc13a1a7ab2df2e7d2a1e66242c94afda7c252d6b950b"
    },
    {
      "subset": "classroom_sample",
      "format": "csv",
      "filename": "classroom_sample.csv",
      "byte_size": 11658,
      "row_count": 50,
      "sha256": "ea97b158a7a8fd56ae57f5bf63b8dc123977a6f880d800da547f0a7833e220d2"
    },
    {
      "subset": "classroom_sample",
      "format": "json",
      "filename": "classroom_sample.json",
      "byte_size": 34750,
      "row_count": 50,
      "sha256": "1c4df86eb0fc328bfe8eb208df1cb77630c6cc6d749a2801cd13f2ab8123e03a"
    }
  ],
  "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.22",
    "scope": "active_payloads",
    "records_added": 0,
    "records_removed": 0,
    "records_changed": 5,
    "detail_rows_stored": 5,
    "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."
}
