Skip to content
AsteriaStar
Open Data API · v0

live API

Read-only live endpoints, backed by the Scientific Data Engine.

GET/api/v0/live/space-weather
Implemented

Every current space-weather product from NOAA SWPC in one response: real-time solar wind and interplanetary magnetic field at L1, the propagated solar-wind series, observed and forecast planetary K-index, the R/S/G scales, the alert stream, the GOES X-ray flare state, the daily active-region report, the 10.7 cm radio flux, and the OVATION aurora forecast. Each product carries its own honesty envelope: provider, exact source URL, the provider's timestamp, freshness status, cache window, licence and limitations. A product that could not be read is present with a status and a reason and NO data key.

Returns

Record<productName, LiveEnvelope>

Try it

/api/v0/live/space-weather
GET/api/v0/live/space-weather/solar
Implemented

The GOES X-ray flare state, NOAA's daily numbered active regions with sunspot and magnetic classifications, the 10.7 cm radio flux, and NASA CCMC DONKI's curated flare and CME catalogues. The operational reading and the curated catalogue are separate keys and are never merged: they have different latencies and answer different questions.

Returns

Record<productName, LiveEnvelope>

Try it

/api/v0/live/space-weather/solar
GET/api/v0/live/space-weather/geomagnetic
Implemented

The planetary K-index observed and forecast, the NOAA R/S/G scales, and SWPC's watch, warning and alert stream. Every Kp point carries a provenance field of observed, estimated or predicted, so no consumer has to guess whether a value is a measurement or a forecast.

Returns

Record<productName, LiveEnvelope>

Try it

/api/v0/live/space-weather/geomagnetic
GET/api/v0/live/space-weather/events
Implemented

NASA CCMC DONKI's catalogued solar flares, coronal mass ejections, geomagnetic storms and solar energetic particle events. An empty array means the catalogue held no records in the window, which is not the same as nothing having happened: DONKI is analyst-curated and lags events by hours.

Returns

Record<productName, LiveEnvelope>

Try it

/api/v0/live/space-weather/events
GET/api/v0/live/providers
Implemented

Every live provider and product: its terms, authentication, documented rate limits, cache window, publication cadence, stale threshold, and what THIS server instance has actually observed of it — last attempt, last success, latency, consecutive failures and schema state. There is no uptime percentage and no reliability score: this deployment retains no operational history, so a long-run figure would be invented.

Returns

{ totals, providers: LiveProviderReport[] }

Try it

/api/v0/live/providers
GET/api/v0/live/neo
Implemented

Every near-Earth object feed in one response: close approaches within 0.05 au over the next 60 days, the CNEOS Sentry impact-risk table, newly catalogued objects, and the Minor Planet Center's unconfirmed candidates. Close-approach times are TDB, not UTC. Impact probabilities are JPL's own and carry JPL's statement that they can be inaccurate by a factor of ten; AsteriaStar computes none of its own.

Returns

{ totals, closeApproaches, sentry, recent, candidates } — each an envelope

Try it

/api/v0/live/neo
GET/api/v0/live/neo/close-approaches
Implemented

Near-Earth objects passing within 0.05 au over the next 60 days, each resolved against AsteriaStar's catalogue. Every approach carries its nominal distance in astronomical units, kilometres and lunar distances, the provider's 3-sigma minimum and maximum, and the 3-sigma uncertainty in the approach time — a nominal distance served without its bounds would turn a prediction with real error bars into a fact.

Returns

LiveEnvelope<ResolvedCloseApproach[]>

Try it

/api/v0/live/neo/close-approaches
GET/api/v0/live/neo/{designation}
Implemented

Everything the four live feeds currently say about one object. This endpoint does NOT proxy the provider: the designation comes from the request, and no value from a request is ever placed into a provider URL. The feeds are loaded from their own constant URLs and matched locally, so a designation absent here is absent from these four feeds — not from JPL's database.

ParameterInTypeDescription
designation*pathstringObject designation, 1-40 characters of letters, digits, spaces, dots, slashes or hyphens.

Returns

{ designation, foundInLiveFeeds, catalogue, closeApproaches, sentry, recentEntry, confirmationPageCandidate }

Try it

/api/v0/live/neo/99942
GET/api/v0/live/satellites
Implemented

Every satellite AsteriaStar tracks live, which is one: the International Space Station, from NASA Johnson Space Center's published operational ephemeris. The response states its own coverage explicitly rather than leaving it to be inferred from a single-element array.

Returns

{ trackedCount, coverage, satellites[], providers[] }

Try it

/api/v0/live/satellites
GET/api/v0/live/satellites/{id}
Implemented

Position, altitude, speed and measured nodal period for one satellite, plus `frameVerification` — the measured disagreement between this platform's coordinate transformation and NASA's own published equator-crossing longitudes from the same file. A consumer relying on these positions is entitled to see how far they can be trusted, measured rather than claimed. `current` is null when the published ephemeris does not cover the present moment; nothing is extrapolated past its end.

ParameterInTypeDescription
id*pathstringSatellite id. The only recognised value is `iss` (also accepts 25544).

Returns

{ id, name, ephemeris, current, frameVerification[] }

Try it

/api/v0/live/satellites/iss
GET/api/v0/live/satellites/{id}/passes
Implemented

Pass predictions for coordinates you supply. The coordinates are used to evaluate a pure function and are NOT logged, stored, counted or transmitted anywhere; nothing is inferred, geolocated or defaulted, and omitting them returns an error rather than a guess. Each pass states whether it is actually visible — sunlit station, dark sky — or which of those conditions failed. No weather is modelled. Note that the website itself does not call this endpoint: the pass page ships orbital data to the browser and computes there, so a reader's coordinates never leave their device at all.

ParameterInTypeDescription
id*pathstringSatellite id; `iss` only.
latitude*querystringObserver latitude in decimal degrees, -90 to 90.
longitude*querystringObserver longitude in decimal degrees, -180 to 180.
hoursqueryintegerWindow length in hours (default 48, maximum 240). Predictions stop where the published ephemeris stops.

Returns

{ observer, windowHours, minimumElevationDeg, passes[] }

Try it

/api/v0/live/satellites/iss/passes?latitude=51.4779&longitude=-0.0015&hours=48
GET/api/v0/live/events
Implemented

A year of dated astronomical events, each carrying the provenance of its date. `basis` is one of `computed` (derived here, with `method` naming the algorithm and version), `source-backed` (published by an authority, with `source` naming it), `forecast` (an annual recurrence, approximate to about a day) or `planned` (somebody's intention, with `source.lastVerifiedAt` giving the time it was last confirmed). `precision` says how much of the timestamp means anything — a launch scheduled to the quarter is not a timestamp to the minute — and `confirmed` is false for everything that can still move. Categories whose provider could not be reached are reported in `gaps` rather than silently omitted.

Returns

{ window, events: AstronomicalEvent[], gaps, providers }

Try it

/api/v0/live/events
GET/api/v0/live/events/eclipses
Implemented

Every solar and lunar eclipse of the twenty-first century, reproduced from NASA/GSFC's Five Millennium Catalog by Espenak and Meeus. The catalogue's instants are Terrestrial Dynamical Time; `greatestEclipseUtc` is that time less the catalogue's own `deltaTSeconds`, and both are returned so the arithmetic can be checked rather than trusted. These are the circumstances of GREATEST eclipse only — not local circumstances, which need the Besselian elements NASA publishes separately.

Returns

{ solar, lunar } — each an envelope around a CatalogueEclipse[]

Try it

/api/v0/live/events/eclipses
GET/api/v0/live/events/launches
Implemented

The upcoming orbital launch schedule from Launch Library 2, maintained by The Space Devs — a community aggregation of operator and agency announcements, NOT a schedule published by any space agency. Every date is a No Earlier Than value that moves, often by weeks. `netPrecision` is the provider's own statement of how precisely the date is known, from the second down to the year, and `lastUpdated` is when the provider last confirmed the entry; both are passed through unchanged because without them a launch date cannot be used honestly.

Returns

LiveEnvelope<{ total, launches: UpcomingLaunch[] }>

Try it

/api/v0/live/events/launches

← All endpoints