I've been interested recently in how satellites are tracked in Earth orbit. This took me on a journey of learning about TLEs, perturbation models, and astronomical coordinate systems that I'll document in later blog posts. For now, here's a small taste of that investigation.

Artemis II launched one week ago, and I've been following along in an unusual manner. The United States Space Force collects and publishes orbital parameter data for all detectable objects orbiting Earth. These TLEs are available via either Space Track or Celestrak.

I have an account on the Space Track website, so after Artemis II launched, I logged in and searched for "artemis" in the satellite catalog.

Search results

That gave me its SATCAT ID (68538) which I could use to query TLEs from the Space Track API. The Artemis II capsule is called "Integrity", and I will refer to it as such from here on out.

$ curl -b cookies.txt \
    "https://www.space-track.org/basicspacedata/query/class/gp/norad_cat_id/68538/format/json" | jq
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed
100   1153   0   1153   0      0   2470      0                              0
[
  {
    "CCSDS_OMM_VERS": "3.0",
    "COMMENT": "GENERATED VIA SPACE-TRACK.ORG API",
    "CREATION_DATE": "2026-04-05T15:46:57",
    "ORIGINATOR": "18 SPCS",
    "OBJECT_NAME": "ARTEMIS 2 (INTEGRITY)",
    "OBJECT_ID": "2026-069A",
    "CENTER_NAME": "EARTH",
    "REF_FRAME": "TEME",
    "TIME_SYSTEM": "UTC",
    "MEAN_ELEMENT_THEORY": "SGP4",
    "EPOCH": "2026-04-05T07:30:06.396192",
    "MEAN_MOTION": "0.11783130",
    "ECCENTRICITY": "0.99643020",
    "INCLINATION": "56.3581",
    "RA_OF_ASC_NODE": "51.2608",
    "ARG_OF_PERICENTER": "34.1676",
    "MEAN_ANOMALY": "95.2444",
    "EPHEMERIS_TYPE": "0",
    "CLASSIFICATION_TYPE": "U",
    "NORAD_CAT_ID": "68538",
    "ELEMENT_SET_NO": "999",
    "REV_AT_EPOCH": "1",
    "BSTAR": "0.00000000000000",
    "MEAN_MOTION_DOT": "-0.00058714",
    "MEAN_MOTION_DDOT": "0.0002196900000",
    "SEMIMAJOR_AXIS": "175749.755",
    "PERIOD": "12220.862",
    "APOAPSIS": "344493.984",
    "PERIAPSIS": "-5750.744",
    "OBJECT_TYPE": "PAYLOAD",
    "RCS_SIZE": null,
    "COUNTRY_CODE": "US",
    "LAUNCH_DATE": "2026-04-01",
    "SITE": "AFETR",
    "DECAY_DATE": null,
    "FILE": "5116967",
    "GP_ID": "318390063",
    "TLE_LINE0": "0 ARTEMIS 2 (INTEGRITY)",
    "TLE_LINE1": "1 68538U 26069A   26095.31257403 -.00058714  21969-3  00000+0 0  9995",
    "TLE_LINE2": "2 68538  56.3581  51.2608 9964302  34.1676  95.2444  0.11783130    15"
  }
]

Note: the Space Track API requires a login step.

I checked in every so often and after trans-lunar injection, saw Integrity's apoapsis be larger than the distance from the Earth to the Moon. Very cool!

You could put this orbital data through a SGP4 propagator, calculate a position vector at a given time, and translate that position into a useful coordinate reference frame which in theory would let you spot Integrity (if it were actually visible, which I don't think it is). You could spot any spacecraft you had a TLE for this way. More on that later.

This is really not the best way to track Integrity. TLEs are for mostly-stable orbits, and Integrity's orbit is changing frequently because of burns and interactions with other celestial bodies. I think people who actually track Artemis use data from JPL Horizons which does numerical integration instead of using a simplified perturbation model. I happened to be looking at TLEs because of other interests. I was pleased to think to myself "I wonder if I could find Integrity in the data I'm looking at right now" and to then find it!