Astro Events Notification API
Astro Events Notification API
/api/v1/sky-eventsBuild mobile astrology notifications from exact sky events. This endpoint returns a timezone-aware daily feed of planetary ingresses, exact major aspects, retrograde stations, Moon events, and lunations.
lat or lon; use timezone to define the user's local day.Full URL
https://api.freeastroapi.com/api/v1/sky-eventsQuery Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| date | string | Yes | - | Local calendar date for the notification feed in YYYY-MM-DD format. |
| preset | string (quiet | daily | full) | No | quiet | Notification volume preset. Explicit include_* parameters override the preset for individual event families. |
| timezone | string | No | UTC | IANA timezone used to convert the requested local day into UTC boundaries, such as America/New_York, Europe/Paris, or Asia/Tokyo. |
| include_moon | boolean | No | false | Include Moon sign ingress events. Useful for high-frequency lunar notifications. |
| include_exact_hits | boolean | No | true | Include exact major planetary aspects for conjunction, sextile, square, trine, and opposition. |
| include_moon_exact_hits | boolean | No | false | Include exact Moon aspects. Keep disabled for quieter push notification feeds. |
| include_ingresses | boolean | No | true | Include non-Moon sign ingresses for Sun through Pluto. |
| include_retrogrades | boolean | No | false | Include retrograde and direct station events for Mercury through Pluto. |
| include_lunations | boolean | No | false | Include New Moon and Full Moon events. |
| include_formulation | boolean | No | false | Include a short deterministic notification phrase such as Mercury is squaring Neptune. |
Notification Presets
quiet
The default. Planet ingresses and exact major planetary aspects, without Moon events or station noise.
daily
Adds Moon sign ingresses and deterministic notification copy for a more active daily feed.
full
Enables Moon aspects, retrograde stations, lunations, and notification copy. Explicit flags can narrow it.
Example Request
cURL
curl -G "https://api.freeastroapi.com/api/v1/sky-events" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
--data-urlencode "date=2026-01-01" \
--data-urlencode "preset=quiet" \
--data-urlencode "timezone=America/New_York" \
--data-urlencode "include_formulation=true" \
--data-urlencode "include_lunations=true"Python
import requests
url = "https://api.freeastroapi.com/api/v1/sky-events"
params = {
"date": "2026-01-01",
"preset": "quiet",
"timezone": "America/New_York",
"include_formulation": "true",
"include_lunations": "true",
}
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json",
}
response = requests.get(url, params=params, headers=headers, timeout=20)
response.raise_for_status()
events = response.json()["events"]
print(events)Node.js
const params = new URLSearchParams({
date: "2026-01-01",
preset: "quiet",
timezone: "America/New_York",
include_formulation: "true",
include_lunations: "true"
});
const response = await fetch("https://api.freeastroapi.com/api/v1/sky-events?" + params, {
headers: {
"x-api-key": process.env.FREEASTROAPI_KEY,
"Content-Type": "application/json"
}
});
if (!response.ok) {
throw new Error(await response.text());
}
const { events } = await response.json();
console.log(events);Response Shape
SkyEvent Fields
Event Types
planet_ingress
Planet enters a new zodiac sign.
Fields
body, sign
moon_ingress
Moon enters a new zodiac sign.
Fields
body, sign
exact_aspect
Two bodies reach an exact major aspect.
Fields
bodies, aspect, angle, orb
retrograde_station
A planet stations retrograde or direct.
Fields
body, direction
lunation
New Moon or Full Moon event.
Fields
phase, bodies, sign
Sample Response
{
"date": "2026-01-01",
"timezone": "America/New_York",
"events": [
{
"id": "mercury_square_neptune_2026_01_01",
"type": "exact_aspect",
"title": "Mercury square Neptune",
"formulation": "Mercury is squaring Neptune",
"exact_time": "2026-01-01T08:33:10-05:00",
"importance": "major",
"bodies": ["Mercury", "Neptune"],
"aspect": "square",
"angle": 90,
"orb": 0
},
{
"id": "mercury_enters_capricorn_2026_01_01",
"type": "planet_ingress",
"title": "Mercury enters Capricorn",
"formulation": "Mercury is entering Capricorn",
"exact_time": "2026-01-01T16:10:42-05:00",
"importance": "medium",
"body": "Mercury",
"sign": "Capricorn"
}
]
}Mobile Notification Notes
Use event.id as the dedupe key when scheduling push jobs. Use event.exact_time as the local trigger time, and store the requested timezone with each user's notification settings.
For quieter default notifications, keep Moon exact hits, retrogrades, and lunations opt-in. Filter by importance when customers only want major events.
include_formulation=true adds short deterministic text for push copy. It is not AI-generated, so repeated requests return stable phrasing.
Use preset=daily for a balanced daily feed or preset=full for every supported event family. Individual include_* parameters override the preset.
Errors and Limits
Authentication uses the standard x-api-key header. Rate limit headers are returned by the API middleware.
Validation errors return HTTP 400 with a structured detail object. Common errors are invalid_date and invalid_timezone.
Successful responses include a private 24-hour Cache-Control header and a deterministic ETag. Send the ETag in If-None-Match to receive HTTP 304 when the feed has not changed.
{
"detail": {
"error": "invalid_timezone",
"message": "Invalid timezone 'Mars/Phobos'. Use a valid IANA timezone such as UTC or Europe/Paris."
}
}Related Endpoints
Ephemeris API
Query planetary positions and date ranges for more detailed astronomy data.
Moon Phase Timeline API
Build lunar calendars with phase and Moon sign timeline data.
Transit Timeline API
Generate longer transit intervals for calendars and forecasting UIs.
Rate Limits
Understand quota headers, Retry-After behavior, and backoff strategy.
FAQ
What is the Astro Events Notification API?
The Astro Events Notification API returns daily sky event timing for astrology apps, including ingresses, exact aspects, retrograde stations, and lunations. It is designed for mobile push notification scheduling and event feeds.
Can I use this endpoint for mobile astrology notifications?
Yes. Use exact_time to schedule notifications in the user's timezone, id to deduplicate scheduled jobs, importance to filter volume, and formulation for short notification copy.
Does the sky events endpoint use latitude or longitude?
No. The current endpoint is a global geocentric sky event feed. It accepts date and timezone only for local-day boundaries, and does not expose lat or lon parameters.
Which event types are supported?
The endpoint supports Moon ingresses, planet ingresses, exact major aspects, retrograde or direct stations, and New Moon or Full Moon lunations.