Satellite Orbital Data & Tracking Scraper
Pricing
from $0.50 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
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 | |
|---|---|---|
| Scope | The whole catalogue β 16,000+ objects, 25 constellations/groups | One satellite β the International Space Station |
| Output | Orbital elements (the mean orbit at an epoch) | Live position (latitude, longitude, altitude, velocity right now) |
| Typical row count | 23 β 16,237 per run | 1 per run |
| Answers | "What orbit is every Starlink satellite in?" | "Where is the ISS at this second?" |
| Data source | Celestrak GP / OMM | Open 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
| Field | Type | Default | Description |
|---|---|---|---|
mode | select | groups | groups, catalog or search |
groups | array | ["stations"] | Celestrak group names (see the list above) |
noradIds | array | β | NORAD catalog numbers, e.g. [25544, 20580] |
nameQuery | string | β | Case-insensitive name substring, e.g. STARLINK |
maxItems | integer | 500 | Max satellites per run (max 10,000) |
Example β the ISS and Tiangong
{ "mode": "groups", "groups": ["stations"], "maxItems": 50 }
Example β the whole Starlink constellation
{ "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
| Field | Formula |
|---|---|
period_minutes | 1440 / MEAN_MOTION (mean motion is revolutions per day) |
semi_major_axis_km | Kepler 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_km | a * (1 + e) - 6378.137 (altitude above the WGS-84 equatorial radius) |
perigee_km | a * (1 - e) - 6378.137 |
mean_altitude_km | (apogee + perigee) / 2, identical to a - 6378.137 |
orbit_class | HEO 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_geostationary | period within Β±10 min of one sidereal day (1436 min) and inclination < 1Β° |
launch_year | first four characters of the COSPAR designator (1998-067A β 1998) |
Sanity check against reality (live run, 2026-07-28):
| Satellite | Period | Altitude | Expected |
|---|---|---|---|
| ISS (ZARYA) | 92.95 min | 419.0 km | ~93 min, ~420 km β |
| Hubble (HST) | 94.05 min | 472.3 km | ~95 min, ~475 km β |
| GPS BIIR-5 | 718.0 min | ~20,180 km | ~12 h, ~20,200 km β |
| TDRS 3 (GEO) | 1436.0 min | ~35,785 km | 1436 min, 35,786 km β |
| Molniya 2-9 | e = 0.671 | 1,276 / 32,441 km | classic 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. noaaandgpsare not valid Celestrak group names β useweatherandgps-ops.- The
activegroup holds ~16,200 objects;maxItemscaps 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.
Related Actors
- ISS Tracker Scraper β live ISS position, one satellite, real-time
- Launch Library Scraper β upcoming and past rocket launches
- Spaceflight News Scraper β space news, articles and blogs
- ADS-B Flights Scraper β live aircraft positions
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.