← Back to docs
endpoints
POST astra/body/phase-angle/

Phase angle of a celestial body in degrees at a given datetime.

Astra Bodies

Overview

Returns the phase angle of a celestial body at a given location and datetime. The phase angle is the angle at the body between the directions to the Sun and to the observer. A phase angle of 0° means the body is fully illuminated as seen from the observer (full phase); 180° means the body is between the observer and the Sun (new phase, not visible). For the Moon this mirrors the illumination percentage — for planets it indicates how much of the sunlit hemisphere faces Earth.


Request parameters

Name Type In Required Description Example
body Choice Body Yes The celestial body to query. Must be one of the Skyfield keys returned by the /astra/bodies/ endpoint (e.g. SUN, MOON, MARS). Case-sensitive.
date1 Date Body Yes The start date (or single query date) for the computation. Accepted formats: YYYY-MM-DD for date-only fields, ISO 8601 datetime string (YYYY-MM-DDTHH:MM) for datetime fields.
lat Float Body Yes Observer latitude in decimal degrees. Valid range: -90.0 (South Pole) to 90.0 (North Pole). Used to compute the observer's position on Earth's surface for all sky calculations.
lon Float Body Yes Observer longitude in decimal degrees. Valid range: -180.0 to 180.0. Negative values are west of the Prime Meridian, positive values are east.
timezone_slug Choice Body Optional Slug of a timezone record used to localise event datetimes in the response (e.g. america-new-york). When omitted, the timezone is derived automatically from the supplied coordinates. Obtain valid timezone slugs from the timezone list endpoint.

Response fields

Name Type Nullable Description Example
angle Float Phase angle of the body in degrees. 0° means fully illuminated (opposition/full); 180° means new or unlit. 45.3
body String Skyfield key of the requested celestial body. MOON
date1 Datetime Observation datetime echoed from the request. 2025-06-21T14:00:00
lat Float Observer latitude echoed from the request. 48.428333
lon Float Observer longitude echoed from the request. -123.364722
tz String Resolved IANA timezone name. America/Vancouver