Morphemeris DocsBeta

Track Sign Ingresses

Find when planets cross zodiac sign boundaries or reach specific ecliptic longitudes.

Track Sign Ingresses

Use the /v1/ingresses endpoint to find the exact moment a planet enters a zodiac sign or crosses any ecliptic longitude.

Find the next vernal equinox

The vernal equinox is the Sun's ingress into Aries (0° ecliptic longitude):

Bash
curl "https://api.morphemeris.com/v1/ingresses?\
datetime=2024-01-01T00:00:00Z\
&body=sun\
&sign=aries" \
  -H "Authorization: Bearer morphemeris_live_YOUR_KEY"

Returns the exact moment the Sun crosses 0° — approximately March 20, 2024.

Build a seasonal calendar

Use count to find multiple consecutive ingresses. Here are the next 5 vernal equinoxes:

javascript
const res = await fetch(
  "https://api.morphemeris.com/v1/ingresses?" +
    "datetime=2024-01-01T00:00:00Z&body=sun&sign=aries&count=5",
  { headers: { Authorization: `Bearer ${apiKey}` } }
);
const { data } = await res.json();

for (const ingress of data) {
  const date = new Date(ingress.datetime);
  console.log(`Vernal equinox: ${date.toLocaleDateString()} at ${date.toLocaleTimeString()}`);
}

For all four seasonal markers, make four requests with sign=aries, sign=cancer, sign=libra, and sign=capricorn.

Track a planet through the zodiac

Find the next time Jupiter enters each sign:

javascript
const signs = [
  "aries", "taurus", "gemini", "cancer", "leo", "virgo",
  "libra", "scorpio", "sagittarius", "capricorn", "aquarius", "pisces",
];

const results = await Promise.all(
  signs.map(async (sign) => {
    const res = await fetch(
      `https://api.morphemeris.com/v1/ingresses?` +
        `datetime=2024-01-01T00:00:00Z&body=jupiter&sign=${sign}`,
      { headers: { Authorization: `Bearer ${apiKey}` } }
    );
    const { data } = await res.json();
    return { sign, datetime: data[0].datetime };
  })
);

for (const { sign, datetime } of results.sort((a, b) => a.datetime.localeCompare(b.datetime))) {
  console.log(`Jupiter enters ${sign}: ${new Date(datetime).toLocaleDateString()}`);
}

Use arbitrary longitudes

Instead of sign boundaries, search for any ecliptic longitude with the longitude parameter:

Bash
# Sun at 15° Taurus (longitude 45°)
curl "https://api.morphemeris.com/v1/ingresses?\
datetime=2024-01-01T00:00:00Z\
&body=sun\
&longitude=45" \
  -H "Authorization: Bearer morphemeris_live_YOUR_KEY"

This is useful for finding when a transiting planet reaches a specific natal position.

Search backward

Find the most recent time Mars entered Scorpio:

Bash
curl "https://api.morphemeris.com/v1/ingresses?\
datetime=2024-06-01T00:00:00Z\
&body=mars\
&sign=scorpio\
&backward=true" \
  -H "Authorization: Bearer morphemeris_live_YOUR_KEY"

Tips

  • Ingress searches cost 2 credits per request, regardless of count.
  • Sun and Moon ingresses use geocentric longitude. Other planets use heliocentric longitude (see Sign Ingresses for details).
  • The Moon changes sign roughly every 2.5 days; the Sun every ~30 days; outer planets much more slowly.
  • Provide exactly one of sign or longitude — the API returns an error if you provide both or neither.
  • Combine with /v1/positions to see where other planets are at the moment of an ingress.