Planetary Hours
POST https://starsapi.com/api/v3/western/natal/planetary-hours
Overview
Determines which planetary hour the native was born in and returns the full 24-hour planetary hours table for the birth date. Planetary hours follow the Chaldean order (Saturn → Jupiter → Mars → Sun → Venus → Mercury → Moon) and are calculated from actual sunrise and sunset times at the birth location.
Day hours and night hours have unequal durations — in summer, day hours are longer; in winter, shorter. The response includes the exact duration in minutes for both day and night hours.
This endpoint does not require a house system or ephemeris computation — it uses only the Sun’s rise/set times for the given date and location.
Authentication
| Method | Example |
|---|---|
| Header (recommended) | X-Api-Key: am_live_xxxxxxxxxxxx |
| Bearer | Authorization: Bearer am_live_xxxxxxxxxxxx |
| Query | ?api_key=am_live_xxxxxxxxxxxx |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
year | integer | Yes | Birth year (1800–2400). |
month | integer | Yes | Birth month (1–12). |
day | integer | Yes | Birth day. |
hour | integer | Yes | Birth hour (0–23). |
minute | integer | Yes | Birth minute (0–59). |
second | integer | No | Default 0. |
latitude | number | Yes | Decimal degrees. Required for sunrise/sunset calculation. |
longitude | number | Yes | Decimal degrees. |
timezone | string | Yes | IANA timezone. Times are returned in this timezone. |
Note: house_system and node_type are not applicable — this endpoint uses solar position only, no chart computation.
Response shape
data.birth_hour
| Field | Type | Description |
|---|---|---|
ruler | string | Planet ruling the birth hour (e.g. "Sun", "Venus"). |
hour_number | integer | 1–24 (1 = first hour after sunrise). |
type | string | "day" (hours 1–12) or "night" (hours 13–24). |
Other fields
| Field | Type | Description |
|---|---|---|
day_ruler | string | Planet that rules the day of the week (Sunday = Sun, Monday = Moon, etc.). |
day_of_week | string | Weekday name. |
sunrise | string | Sunrise time in local timezone (HH:MM:SS). |
sunset | string | Sunset time in local timezone. |
day_hour_duration_minutes | number | Duration of each day hour in minutes (varies by season). |
night_hour_duration_minutes | number | Duration of each night hour in minutes. |
data.hours[]
Full 24-hour table. Each entry:
| Field | Type | Description |
|---|---|---|
hour_number | integer | 1–24. |
ruler | string | Ruling planet for this hour. |
type | string | "day" or "night". |
start | string | Hour start time (HH:MM:SS). |
end | string | Hour end time. |
duration_minutes | number | Duration in minutes. |
is_birth_hour | boolean | Present and true only on the hour containing the birth time. |
How planetary hours work
The system divides daylight into 12 equal “hours” and nighttime into 12 equal “hours.” These are not 60-minute hours — in summer, day hours are longer than night hours; in winter, the reverse. At the equinoxes, both equal exactly 60 minutes.
The first day hour begins at sunrise and is ruled by the day ruler (the planet associated with the day of the week). Subsequent hours follow the Chaldean order:
| Day | Day ruler | 1st hour |
|---|---|---|
| Sunday | Sun ☉ | Sun |
| Monday | Moon ☽ | Moon |
| Tuesday | Mars ♂ | Mars |
| Wednesday | Mercury ☿ | Mercury |
| Thursday | Jupiter ♃ | Jupiter |
| Friday | Venus ♀ | Venus |
| Saturday | Saturn ♄ | Saturn |
Chaldean order: Saturn → Jupiter → Mars → Sun → Venus → Mercury → Moon (then repeats).
400 COMPUTE_ERROR since planetary hours cannot be calculated without a distinct sunrise and sunset.
Errors
| HTTP | Code | Cause |
|---|---|---|
| 400 | MISSING_FIELD | Required field absent. |
| 400 | INVALID_DATE | Invalid date. |
| 400 | INVALID_TIME | Time outside range. |
| 400 | INVALID_TIMEZONE | Not valid IANA. |
| 400 | INVALID_COORDINATE | Out of range. |
| 400 | COMPUTE_ERROR | No sunrise/sunset at this location (polar region). |
See also
- Arabic Parts — another classical technique
- Planets Advanced — dignities, sect analysis
- Birth Details — confirm input data