API AccessAccess dataset files directly from scripts, code, or AI agents.
Browse dataset files
Access dataset files directly from scripts, code, or AI agents.
Each file has a stable URL (r-link) that you can use directly in scripts, apps, or AI agents. These URLs are permanent and safe to hardcode.
Start with these files — they give you everything you need to understand and access the dataset.
- 1. Fetch datapackage.json to inspect schema and resources
- 2. Download data resources listed in datapackage.json
- 3. Read README.md for full context
Data Views
Data Previews
Satellite Catalog (satcat)
Schema
| name | type | format | description | constraints | title |
|---|---|---|---|---|---|
| jcat | string | Jonathan's Catalog ID — unique GCAT identifier. Prefix letter indicates catalog (S = standard satcat). | JCAT ID | ||
| satcat | string | US Space Force / NORAD catalog number. Not set for all objects. | NORAD Catalog Number | ||
| name | string | Official or common name of the space object. | Object Name | ||
| launch_date | string | default | Date of launch (ISO 8601, YYYY-MM-DD). Partial dates (year only) appear when exact date is uncertain. | Launch Date | |
| launch_year | number | Four-digit launch year, extracted from launch_date. Suitable for aggregation. | Launch Year | ||
| object_type | string | Simplified object classification. Values: Payload, Rocket Body, Debris, Component, Suborbital Payload, Unknown. Derived from the GCAT SatType byte 1. | { "enum": [ "Payload", "Rocket Body", "Debris", "Component", "Suborbital Payload", "Unknown" ] } | Object Type | |
| state | string | ISO country code of the owning nation or organization (e.g. US, SU, CN, RU, FR). Historical codes like SU (Soviet Union) are preserved. | State | ||
| owner | string | Abbreviated name of the owning organization or agency. | Owner | ||
| status | string | Current or final orbital status. Values: In Orbit, Decayed, Deorbited, Beyond Earth Orbit, Exploded. | Status | ||
| orbit_class | string | Operational orbit category code (e.g. LEO/I, GEO/S, MEO, HEO). See https://planet4589.org/space/gcat/web/intro/orbits.html for definitions. | Orbit Class | ||
| perigee_km | number | Perigee altitude above Earth's surface in kilometres, at last known orbital epoch. | Perigee (km) | ||
| apogee_km | number | Apogee altitude above Earth's surface in kilometres, at last known orbital epoch. | Apogee (km) | ||
| inclination_deg | number | Orbital inclination in degrees, at last known orbital epoch. | Inclination (degrees) |
Objects Launched per Year by Type
Schema
| name | type | description | title |
|---|---|---|---|
| year | number | Year | |
| Payload | number | Number of payloads launched. | Payloads |
| Rocket Body | number | Number of rocket bodies (launch vehicle stages) tracked. | Rocket Bodies |
| Debris | number | Number of fragmentation debris pieces tracked. | Debris |
| Component | number | Number of payload components tracked. | Components |
Data Files
| File | Description | Size | Last modified | Download |
|---|---|---|---|---|
satcat | Standard catalog of all artificial space objects. One row per phase; most objects have a single phase. Covers all objects ever tracked in Earth orbit and beyond. | 6.41 MB | about 2 months ago | satcat |
objects-per-year | Pre-aggregated count of objects launched per year, broken down by object type. Used for the bar chart view. | 1.46 kB | about 2 months ago | objects-per-year |
| Files | Size | Format | Created | Updated | License | Source |
|---|---|---|---|---|---|---|
| 2 | 6.41 MB | csv | about 2 months ago | Open Data Commons Public Domain Dedication and License | GCAT — Jonathan McDowell's General Catalog of Artificial Space Objects |
Task: Wrangle GCAT Space Objects Dataset
Objective
Download and clean data from Jonathan McDowell's GCAT (General Catalog of Artificial Space Objects) and publish it as a structured dataset.
Source
- Homepage: https://planet4589.org/space/gcat/
- Data files: https://planet4589.org/space/gcat/data/
- The main catalog file is
satcat.tsv— the full satellite catalog
What to do
-
Download the main catalog from https://planet4589.org/space/gcat/data/cat/satcat.tsv
- This is a TSV with a fixed-width header section (lines starting with
#) followed by tab-separated data - Strip the header comment block, keep the column headers, save as
data/satcat.csv
- This is a TSV with a fixed-width header section (lines starting with
-
Inspect and document the schema — key fields include:
JCAT— Jonathan's catalog number (primary key)Satname— satellite nameCountry— country of originLDate— launch dateDest— destination orbit type (e.g. LEO, GEO, MEO, HEO, SSO, Lunar, etc.)Status— operational status (A=active, D=decayed, etc.)Type— object type (P=payload, R=rocket body, D=debris)Mass— mass in kg (where known)
-
Clean the data:
- Convert to proper CSV with consistent quoting
- Ensure dates are in ISO format (YYYY-MM-DD) where possible
- Document any fields that have their own codebooks
-
Update datapackage.json:
- Set
"status": "structured" - Add the CSV as a resource with schema (field names and types)
- Add a
viewsentry for a bar chart of launches by year (group by launch year, count objects)
- Set
-
Write README.md — describe the dataset, the source, key fields, and example use cases
File structure when done
gcat-artificial-space-objects/
datapackage.json # updated with resource + schema
README.md # dataset description
data/
satcat.csv # cleaned catalog
AGENTS.md
TASK.md
.datahubignore
Notes
- The GCAT site has many sub-catalogs (launch vehicles, launch sites, etc.) — focus only on
satcatfor now - McDowell updates GCAT regularly; note the download date in README.md
- Do NOT push to DataHub — leave that for the human operator
- Status field codes: A=active, AR=active reentry, D=decayed, DU=decayed unknown date, E=expelled from solar system, L=landed, M=maneuvering, N=new (not tracked), R=reentered, S=sample return, U=uncontrolled reentry