apyhub
STANDARD DATA

Get Lunar Calendar API

What it does

Calendar Year Events gives you a render-ready calendar of moon phases, moon sign ingresses, sabbats, and planetary events for a given year.

Send a year, and you get back a structured response with year, hemisphere, tz, verified, moon_phases, moon_signs, planetary_events, and sabbats. You can request a timezone with tz and choose hemisphere as north or south; sabbat dates are returned with both local dates and exact UTC timestamps, while moon phases and planetary events are timestamped in UTC.

Use it when you need astrology or seasonal event data for a website calendar, planning dashboard, editorial schedule, or a ceremonial event page. The verified field helps you surface that the year has been astronomically checked, and the response is designed to be rendered directly without extra transformation.

If you are building a calendar view, this service gives you the event list you need in one response instead of stitching together phases, sign changes, and seasonal markers from separate sources.

GET
Get Lunar Calendar
http://localhost:8080/creightonnick0/get-calendar-year/v1/lunar/calendar/:year

QUICKSTART

GUIDE

Quickstart

Get the calendar year data for a specific year, with the year in the path and timezone/hemisphere passed as query parameters.

curl -X GET "http://localhost:8080/creightonnick0/get-calendar-year/v1/lunar/calendar/:year/2026?tz=Europe%2FLondon&hemisphere=north" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with year as an integer, hemisphere and verified as strings, tz as a string or null, and moon_phases, moon_signs, planetary_events, and sabbats as arrays of event objects.

{
  "year": 2026,
  "hemisphere": "north",
  "tz": "Europe/London",
  "moon_phases": [],
  "moon_signs": [],
  "planetary_events": [],
  "sabbats": [],
  "verified": "Astronomically verified · Northern & Southern hemisphere editions"
}
TRY ITLIVE · 10 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Returns a full calendar-year payload for the requested year, timezone, and hemisphere, including moon phases, moon sign ingresses, sabbats, planetary events, and a verification string. The request takes the year as a path parameter and accepts optional query parameters for timezone and hemisphere.

Path Parameter(s)

AttributeTypeMandatoryDescription
yearStringYesThe calendar year to render.

Query Parameter(s)

AttributeTypeMandatoryDescription
tzStringNoIANA timezone name. If requested, it is returned as tz; otherwise the response tz is null.
hemisphereENUMNoHemisphere used for the rendered year.<br>- north<br>- south<br>Default: north

Response

Returns a JSON object with year (integer), hemisphere (string enum), tz (string or null), moon_phases (array), moon_signs (array), planetary_events (array), sabbats (array), and verified (string) fields. The response is the full year payload for the requested configuration.

ParameterTypeMandatoryDescription
yearIntegerYesThe rendered calendar year.
hemisphereENUMYesThe hemisphere used in the response.<br>- north<br>- south
tzStringYesIANA timezone name if requested; otherwise null.
moon_phasesObject ArrayYesMoon phase events. Each item includes phase and exact_utc. phase is one of:<br>- new<br>- first_quarter<br>- full<br>- last_quarter
moon_signsObject ArrayYesMoon sign ingress events. Each item includes sign and ingress_utc. sign is one of:<br>- Aries<br>- Taurus<br>- Gemini<br>- Cancer<br>- Leo<br>- Virgo<br>- Libra<br>- Scorpio<br>- Sagittarius<br>- Capricorn<br>- Aquarius<br>- Pisces
planetary_eventsObject ArrayYesPlanetary and seasonal events. Each item includes kind, body, exact_utc, and detail. kind is one of:<br>- cross_quarter<br>- solar<br>- equinox<br>- solstice<br>- retrograde_start<br>- retrograde_end<br>body can be a string or null. detail is an object whose shape varies by event kind.
sabbatsObject ArrayYesSabbat events. Each item includes name, hemisphere, date_local, exact_utc, and kind. kind is one of:<br>- cross_quarter<br>- solar<br>hemisphere is one of north or south.
verifiedStringYesVerification text returned by the service.

Path parameters

Name
Type
Description
yearREQUIRED
string

Query parameters

Name
Type
Description
tzOPTIONAL
string
hemisphereOPTIONAL
string
north · south
DEFAULT north
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.