Table · gp-current

Current orbital elements

The newest general perturbations (SGP4) element set for every object in Earth orbit that the US Space Force publishes, as CCSDS Orbit Mean-Elements Message fields, with period, semi-major axis, perigee and apogee derived from them. Catalog numbers are full integers, so objects numbered 100000 and up are included.

Updates
Hourly
Coverage
—
Current version
—
Last published
—
Validation
—
License
SpaceTrack Basic SSA Redistribution
Commercial use
Allowed

Preview

Loading the preview…

Use the API

The examples follow the rows picked above. See the docs for versions, caching and errors.

curl

# All rows (.json or .csv)
curl -s "https://api.satellitedata.dev/v1/gp-current/table/all.json"

# The whole table in one file
curl -sO "https://api.satellitedata.dev/v1/gp-current/download/gp-current.csv"

Python (polars)

import polars as pl

# All rows
df = pl.read_csv("https://api.satellitedata.dev/v1/gp-current/table/all.csv")

# The whole table
everything = pl.read_parquet("https://api.satellitedata.dev/v1/gp-current/download/gp-current.parquet")

JavaScript

const res = await fetch("https://api.satellitedata.dev/v1/gp-current/table/all.json");
if (!res.ok) throw new Error((await res.json()).detail); // errors are problem+json
const { meta, rows } = await res.json();
console.log(meta.rows, rows[0]);

Downloads

The whole dataset in one file. Parquet keeps the column types and is much smaller.

Schema

Rows are identified by norad_cat_id. The rows are also split into one file per value of norad_block. Tables up to 50,000 rows also have a single table/all file.

Column Type Unit Can be empty Description
norad_cat_id key integer — no US Space Force catalog number (up to nine digits)
norad_block partition integer — no norad_cat_id rounded down to a multiple of 1000: the partition file holding the object
object_name text — no OBJECT_NAME
object_id text — no OBJECT_ID: international designator (2025-001A), or UNKNOWN
epoch datetime (ISO 8601, UTC) — no EPOCH of the mean elements, UTC
mean_motion number rev/day no Kozai mean motion (SGP4)
eccentricity number — no —
inclination number deg no —
ra_of_asc_node number deg no Right ascension of the ascending node
arg_of_pericenter number deg no —
mean_anomaly number deg no —
bstar number 1/earth_radii yes SGP4 drag term
mean_motion_dot number rev/day^2 yes —
mean_motion_ddot number rev/day^3 yes —
ephemeris_type integer — yes —
classification_type text — yes U for unclassified
element_set_no integer — yes —
rev_at_epoch integer — yes —
period_min number min no 1440 / mean_motion
semimajor_axis_km number km no From mean motion by Kepler's third law with SGP4's WGS-72 constants (mu 398600.8 km^3/s^2); approximate
perigee_km number km no semimajor_axis_km * (1 - e) minus the WGS-72 equatorial radius (6378.135 km); approximate
apogee_km number km no semimajor_axis_km * (1 + e) minus 6378.135 km; approximate
center_name text — yes CENTER_NAME (EARTH)
ref_frame text — yes REF_FRAME (TEME)
time_system text — yes TIME_SYSTEM (UTC)
mean_element_theory text — yes MEAN_ELEMENT_THEORY (SGP4)
originator text — yes ORIGINATOR of the message
creation_date datetime (ISO 8601, UTC) — yes When Space-Track generated the message (UTC)

Source and license

Source
Space-Track.org GP class (current general perturbations element sets)
Publisher
USSPACECOM, 18th Space Defense Squadron
License
SpaceTrack Basic SSA Redistribution (LicenseRef-SpaceTrack-Basic-SSA-Redistribution)
Commercial use
Allowed

Credit the source with this exact text:

Orbital data from Space-Track.org, provided by USSPACECOM (18th Space Defense Squadron).

Checked every 1 day. If the source hasn't changed in 2 days, the status page flags it as stale.

Endpoints

Every URL for this dataset. To pin the current version, put it after the id: /v1/gp-current@<version>. The API reference describes each response.

What URL
Metadata: version, coverage, downloads, validation /v1/gp-current
Versions and monthly snapshots /v1/gp-current/versions
Partitions /v1/gp-current/locations
Rows for one norad_block (JSON) /v1/gp-current/table/{norad_block}.json
Rows for one norad_block (CSV) /v1/gp-current/table/{norad_block}.csv
All rows in one file (tables up to 50,000 rows) /v1/gp-current/table/all.json
Whole dataset (CSV) /v1/gp-current/download/gp-current.csv
Whole dataset (Parquet) /v1/gp-current/download/gp-current.parquet