Docs / Sun, moon and satellites

Sun, moon and satellites

Everything in this group is calculated from astronomical formulas and orbital elements rather than looked up, and each answer names its method and how far it can be trusted. That matters because the quantities sound exact and are not all equally so. A sunrise time is good to about a minute for a flat horizon at sea level; a moon phase instant from the lunar theory used here is good to about an hour; a satellite position degrades by kilometres for every day that passes since its orbital elements were published.

Time is the recurring difficulty. An equinox or a full moon is an instant, the same everywhere, but the date people attach to it depends on where they are: the March equinox of 2026 falls on 20 March in Europe and on 21 March in Sydney. Sunrise and sunset are the opposite, events tied to a place, and their date belongs to that place's calendar. So every endpoint that produces a date or a local time requires a timezone and reports times with their offsets.

Several answers can legitimately be empty. Near the poles there are days without a sunrise or without a sunset, and at mid latitudes in summer there are nights on which astronomical twilight never ends. Such cases are answered with none and the reason, not with a time that fills the gap.

Satellite positions use the SGP4 model with elements mirrored from CelesTrak, and each answer gives the age of those elements.

Pages on known traps

Every endpoint in this group

/sky/sun?point=&tz=&[date=]&[event=]

Sunrise, sunset, solar noon, day length and twilights for a place and date

point: latitude,longitude in decimal degrees; tz: IANA timezone for the output; required because 'the date' and the times depend on it; date (optional): local date YYYY-MM-DD (default: today in tz); event (optional): return one value only

curl "https://agent-helper.org/sky/sun?point=55.7558,37.6173&tz=Europe/Moscow&date=2026-09-15"

Sunrise and sunset times: Sunrise, sunset and twilight for any place and date, in the timezone you name. Why a UTC sunset at 00:30 is correct and still reads like broken data.

/sky/moon?tz=&[date=]&[point=]

Moon phase, illumination, next principal phases; moonrise/moonset if a place is given

tz: IANA timezone for the output; date (optional): local date YYYY-MM-DD (default: now); point (optional): latitude,longitude for moonrise and moonset

curl "https://agent-helper.org/sky/moon?tz=Europe/Berlin&date=2026-09-15"

/sky/seasons/{year}?[tz=]

Instants of the equinoxes and solstices of a year

year: year 1000-3000; tz (optional): optional IANA timezone for the output (default UTC)

curl "https://agent-helper.org/sky/seasons/2026"

/sky/satellite/{id}?[at=]

Current (or given) position of a satellite from its latest TLE, via SGP4

id: NORAD catalogue number or iss, css, hubble; at (optional): ISO 8601 instant with offset (default: now)

curl "https://agent-helper.org/sky/satellite/iss"

/sky/satellites

Satellites whose element sets are mirrored here

curl "https://agent-helper.org/sky/satellites"