Satellite Orbital Data & Tracking Scraper avatar

Satellite Orbital Data & Tracking Scraper

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Satellite Orbital Data & Tracking Scraper

Satellite Orbital Data & Tracking Scraper

$0.5/1K πŸ”₯ Satellite scraper! Orbital data for Starlink, GPS, weather & 10k active satellites. No key. JSON, CSV, Excel or API in seconds. Build tracking apps & space analytics ⚑

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

ninhothedev

ninhothedev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Scrape orbital elements for the entire public satellite catalogue β€” Starlink, GPS, Galileo, GLONASS, BeiDou, weather satellites, the geostationary belt and all ~16,000 active objects β€” straight from Celestrak, the reference public source for TLE / GP orbital data.

No API key. No login. No account. Celestrak's GP endpoint is free and public; this Actor adds the batching, deduplication, throttle recovery and β€” most importantly β€” the derived orbital physics that the raw feed does not give you.


How is this different from iss-tracker-scraper?

Both Actors touch satellite data, but they answer completely different questions:

satellite-tracking-scraper (this Actor)iss-tracker-scraper
ScopeThe whole catalogue β€” 16,000+ objects, 25 constellations/groupsOne satellite β€” the International Space Station
OutputOrbital elements (the mean orbit at an epoch)Live position (latitude, longitude, altitude, velocity right now)
Typical row count23 β†’ 16,237 per run1 per run
Answers"What orbit is every Starlink satellite in?""Where is the ISS at this second?"
Data sourceCelestrak GP / OMMOpen Notify / WhereTheISS.at

Use iss-tracker-scraper if you want a live dot on a map for the ISS. Use this Actor if you want the underlying orbital mechanics for thousands of satellites at once.

Important: elements, not live positions

This Actor returns mean orbital elements at an epoch (the same data that lives inside a TLE), plus everything you can derive from them with two-body physics: period, semi-major axis, apogee, perigee, mean altitude, orbit class.

It does not return an instantaneous latitude/longitude. To turn these elements into a live position you need to propagate them with an SGP4 library on your side β€” for example the Python packages sgp4 or skyfield. Every field this Actor outputs (mean_motion, eccentricity, inclination_deg, raan_deg, arg_perigee_deg, mean_anomaly_deg, bstar, epoch) is exactly what an SGP4 propagator needs as input.

The epoch_age_days field tells you how stale an element set is β€” SGP4 accuracy degrades noticeably beyond a few days.


Features

  • 25 verified Celestrak groups β€” active, starlink, oneweb, gps-ops, galileo, glo-ops, beidou, weather, goes, geo, stations, iridium-NEXT, cubesat, visual, last-30-days, science, resource, planet, spire, ses, intelsat, orbcomm, globalstar, amateur, tle-new.
  • Three modes β€” whole groups, specific NORAD catalog numbers, or a name search.
  • Derived orbital physics β€” period, semi-major axis, apogee, perigee, mean altitude, orbit class (LEO/MEO/GEO/HEO) and a strict geostationary flag, all computed from the mean elements.
  • Throttle recovery β€” Celestrak refreshes each group only every 2 hours and returns HTTP 403 if you re-download too soon. This Actor automatically falls back to Celestrak's supplemental feed or a name search instead of failing your run.
  • Deduplication by NORAD catalog number across multiple groups.
  • Fresh data β€” Celestrak updates the GP catalogue continuously; epochs are typically a few hours old.

Use cases

  • Satellite tracking apps β€” feed a pass-prediction or "what's overhead" app with an always-current element catalogue.
  • Space situational awareness β€” monitor altitude decay, orbit classes and congestion in the LEO shells.
  • Constellation analysis β€” compare Starlink vs OneWeb vs Kuiper shell altitudes, inclinations and growth over time.
  • Education & research β€” teach orbital mechanics with real numbers; build datasets for astronomy and aerospace courses.

Input

FieldTypeDefaultDescription
modeselectgroupsgroups, catalog or search
groupsarray["stations"]Celestrak group names (see the list above)
noradIdsarray–NORAD catalog numbers, e.g. [25544, 20580]
nameQuerystring–Case-insensitive name substring, e.g. STARLINK
maxItemsinteger500Max satellites per run (max 10,000)

Example β€” the ISS and Tiangong

{ "mode": "groups", "groups": ["stations"], "maxItems": 50 }
{ "mode": "groups", "groups": ["starlink"], "maxItems": 10000 }

Example β€” specific satellites

{ "mode": "catalog", "noradIds": [25544, 20580, 48274] }

Example β€” every NOAA satellite

{ "mode": "search", "nameQuery": "NOAA", "maxItems": 500 }

Output

One dataset item per satellite:

{
"norad_id": 25544,
"object_name": "ISS (ZARYA)",
"object_id": "1998-067A",
"group": "stations",
"epoch": "2026-07-28T03:39:38.218752+00:00",
"epoch_age_days": 0.61,
"classification": "U",
"mean_motion": 15.49220842,
"period_minutes": 92.95,
"semi_major_axis_km": 6797.141,
"apogee_km": 423.825,
"perigee_km": 414.183,
"mean_altitude_km": 419.004,
"eccentricity": 0.0007093,
"inclination_deg": 51.632,
"raan_deg": 97.3682,
"arg_perigee_deg": 345.612,
"mean_anomaly_deg": 14.4666,
"bstar": 0.00020282,
"rev_at_epoch": 57810,
"element_set_no": 999,
"orbit_class": "LEO",
"is_geostationary": false,
"launch_year": 1998,
"source": "celestrak",
"scraped_at": "2026-07-28T18:11:45.045430+00:00"
}

The derived fields, explained

FieldFormula
period_minutes1440 / MEAN_MOTION (mean motion is revolutions per day)
semi_major_axis_kmKepler III: a = (mu / n^2)^(1/3) with mu = 398600.4418 km^3/s^2 and n = MEAN_MOTION * 2*pi / 86400 rad/s
apogee_kma * (1 + e) - 6378.137 (altitude above the WGS-84 equatorial radius)
perigee_kma * (1 - e) - 6378.137
mean_altitude_km(apogee + perigee) / 2, identical to a - 6378.137
orbit_classHEO if e > 0.25; else LEO if apogee < 2000 km; else GEO if the mean altitude is within Β±500 km of 35,786 km; else MEO up to the GEO belt; else HEO
is_geostationaryperiod within Β±10 min of one sidereal day (1436 min) and inclination < 1Β°
launch_yearfirst four characters of the COSPAR designator (1998-067A β†’ 1998)

Sanity check against reality (live run, 2026-07-28):

SatellitePeriodAltitudeExpected
ISS (ZARYA)92.95 min419.0 km~93 min, ~420 km βœ…
Hubble (HST)94.05 min472.3 km~95 min, ~475 km βœ…
GPS BIIR-5718.0 min~20,180 km~12 h, ~20,200 km βœ…
TDRS 3 (GEO)1436.0 min~35,785 km1436 min, 35,786 km βœ…
Molniya 2-9e = 0.6711,276 / 32,441 kmclassic Molniya HEO βœ…

Pricing

Roughly $0.5 per 1,000 satellites. A stations run (23 satellites) costs fractions of a cent; the full active catalogue at 10,000 items costs about $5. Celestrak itself is free β€” you only pay Apify compute.

Notes & limits

  • Celestrak refreshes each group every 2 hours and returns HTTP 403 ("GP data has not updated since your last successful download") if the same IP requests it again inside that window. The Actor recovers automatically via the supplemental feed or a name search, so schedule runs at most every 2 hours per group.
  • noaa and gps are not valid Celestrak group names β€” use weather and gps-ops.
  • The active group holds ~16,200 objects; maxItems caps at 10,000 per run. Split by group for full coverage.
  • Data is public and courtesy of Celestrak / the US Space Force space-track catalogue. Please respect Celestrak's terms of use.

Keywords: satellite scraper, TLE scraper, Celestrak API, orbital elements, NORAD catalog, Starlink tracker, GPS satellites, satellite tracking API, two-line elements, SGP4, space situational awareness, geostationary satellites, LEO constellation data.