lunar

Get Moon sign ingresses for date range

Returns all Moon sign ingress events within a date range.

Moon Ingress Frequency: ~13 ingresses per month (Moon changes signs every ~2.5 days)

Performance: <5ms (cached), 50-100ms (cache miss)
Cache is pre-warmed for ±3 months on startup and refreshed daily at 00:01 UTC.

Cache Strategy:

  • Tropical and sidereal ingresses cached separately (different times due to ~24° ayanamsa offset)
  • Redis backend with 30-day TTL
  • Rolling 3-month window maintained automatically
  • Graceful fallback to live calculation if cache miss
  • Startup health check reports cache status

Use Cases:

  • Monthly lunar calendars
  • "Best days for haircuts" timing apps
  • Moon sign tracking applications
  • Gardening/manifestation by Moon sign
  • Electional astrology lookups

Rate Limiting: Max 90-day range per query to prevent abuse.

Example:

GET /ephemeris/moon/ingresses?start_date=2025-12-01T00:00:00Z&end_date=2025-12-31T23:59:59Z&zodiac_mode=tropical
get/ephemeris/moon/ingresses

Request

  • Base URL: https://api.openephemeris.com
  • URL: https://api.openephemeris.com/ephemeris/moon/ingresses
  • Auth: one of:
    • HTTP bearer
    • API key in header X-OpenEphemeris-API-Key
    • API key in header X-API-Key
    • API key in header X-Service-Key

Query parameters

start_datestring required

Range start date (ISO 8601 format)

end_datestring required

Range end date (ISO 8601 format, max 90 days from start)

zodiac_modestring

Zodiac mode: 'tropical' or 'sidereal'

formatstring

Response format: json | llm.

Headers

authorizationstring nullable
X-API-Keystring nullable
X-OpenEphemeris-API-Keystring nullable
apikeystring nullable

Response

Successful Response

countinteger required

Number of ingresses in range

ingressesobject[] required

Moon sign ingress events

metadataobject required

Query metadata (calculation_time_ms, cache_hit, date range)

successboolean

Calculation success status

Example response

{
  "count": 13,
  "ingresses": [
    {
      "from_sign": "Aries",
      "time": "2025-12-01T08:15:00+00:00",
      "to_sign": "Taurus"
    },
    {
      "from_sign": "Taurus",
      "time": "2025-12-03T18:30:00+00:00",
      "to_sign": "Gemini"
    }
  ],
  "metadata": {
    "average_ingresses_per_month": 13,
    "cache_hit": true,
    "calculation_time_ms": 2.1,
    "end_date": "2025-12-31T23:59:59+00:00",
    "start_date": "2025-12-01T00:00:00+00:00",
    "zodiac_mode": "tropical"
  },
  "success": true
}

Changes

No recorded changes to this operation across all 1 revision of this API.