/api/astro/mundane/lunations/1 creditNew and full moons
New moons, full moons and both quarters across a window of dates. Solved on the Moon's elongation from the Sun rather than on the Moon's position alone. That distinction is not pedantic: a full moon is the Moon 180 degrees from where the SUN is now, and using the Moon's longitude by itself drifts by up to a day over a year. Each entry gives the sign of both the Moon and the Sun at that moment. Filter with `phases` if you only want new and full.
https://yogataraapi.prahlad.app/api/astro/mundane/lunations/Authentication
Send your key in the X-API-Key header. Keys are server-side credentials — never put one in browser JavaScript or a mobile app.
X-API-Key: yt_live_a1b2c3d4_…
Content-Type: application/jsonRequest fields
| Field | Type | Required | Notes |
|---|---|---|---|
| date_time | string (date-time) | required | The moment to calculate for, ISO 8601. ALWAYS include an offset or a trailing Z - a value with no zone is read as Asia/Kolkata (UTC+05:30), not UTC, and can return the previous day's result with a 200. '2026-09-01T06:00:00Z' and '2026-09-01 06:00:00' are different instants and give different answers. |
| end_date_time | string (date-time) | required | End of the window. |
| bodies | array | optional | Defaults to all eleven. Narrow it to keep responses small. |
| keys | array | optional | Which calculations to return, as a list of names. See the key table for this endpoint; an unrecognised name rejects the whole request. One call costs one credit however many keys you ask for, so request everything you need at once rather than making several calls. |
| latitude | number (double) | optional | Latitude of the place, in decimal degrees. Positive is north, negative is south. Example: 26.9124 for Jaipur, 40.7128 for New York. Minutes and seconds are not accepted - convert first. |
| longitude | number (double) | optional | Longitude of the place, in decimal degrees. Positive is east, negative is west. Example: 75.7873 for Jaipur, -74.0060 for New York. Note the sign: a missing minus puts New York in China. |
| phases | array | optional | Defaults to all four. Ask for new_moon and full_moon only if you do not need the quarters. |
| timezone_as_float | number (double) | optional | UTC offset of the place, in hours, as a decimal. Example: 5.5 for India (UTC+05:30), -5 for New York in winter, 5.75 for Nepal. This is NOT validated against date_time - if the two disagree you get a successful response for the wrong moment, so derive both from the same source. Use the offset in force on that date, not today's: a summer birth in a country with daylight saving needs the summer offset. min -12 · max 14 |
Example request
curl -X POST https://yogataraapi.prahlad.app/api/astro/mundane/lunations/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date_time":"2026-01-01T00:00:00+00:00","end_date_time":"2026-06-30T23:59:59+00:00","timezone_as_float":0,"phases":["new_moon","full_moon"]}'Response
{
"data": {
"count": 13,
"phases": [
"full_moon",
"new_moon"
],
"lunations": [
{
"type": "lunation",
"phase": "full_moon",
"datetime_utc": "2026-01-03T10:02:55Z",
"julian_day_ut": 2461043.91868991,
"elongation_deg": 180,
"moon": {
"sign": "Cancer",
"sign_index": 4,
"degree_in_sign": 13.0329
},
"sun": {
"sign": "Capricorn",
"sign_index": 10,
"degree_in_sign": 13.0329
}
},
{
"type": "lunation",
"phase": "new_moon",
"datetime_utc": "2026-01-18T19:51:59Z",
"julian_day_ut": 2461059.32776864,
"elongation_deg": 0,
"moon": {
"sign": "Capricorn",
"sign_index": 10,
"degree_in_sign": 28.7321
},
"sun": {
"sign": "Capricorn",
"sign_index": 10,
"degree_in_sign": 28.7321
}
},
{
"type": "lunation",
"phase": "full_moon",
"datetime_utc": "2026-02-01T22:09:15Z",
"julian_day_ut": 2461073.4230902,
"elongation_deg": 180,
"moon": {
"sign": "Leo",
"sign_index": 5,
"degree_in_sign": 13.0612
},
"sun": {
"sign": "Aquarius",
"sign_index": 11,
"degree_in_sign": 13.0612
}
},
{
"type": "lunation",
"phase": "new_moon",
"datetime_utc": "2026-02-17T12:01:09Z",
"julian_day_ut": 2461089.00080288,
"elongation_deg": 0,
"moon": {
"sign": "Aquarius",
"sign_index": 11,
"degree_in_sign": 28.8289
},
"sun": {
"sign": "Aquarius",
"sign_index": 11,
"degree_in_sign": 28.8289
}
},
{
"type": "lunation",
"phase": "full_moon",
"datetime_utc": "2026-03-03T11:37:54Z",
"julian_day_ut": 2461102.98465322,
"elongation_deg": 180,
"moon": {
"sign": "Virgo",
"sign_index": 6,
"degree_in_sign": 12.8981
},
"sun": {
"sign": "Pisces",
"sign_index": 12,
"degree_in_sign": 12.8981
}
},
{
"type": "lunation",
"phase": "new_moon",
"datetime_utc": "2026-03-19T01:23:29Z",
"julian_day_ut": 2461118.557975,
"elongation_deg": 0,
"moon": {
"sign": "Pisces",
"sign_index": 12,
"degree_in_sign": 28.4514
},
"sun": {
"sign": "Pisces",
"sign_index": 12,
"degree_in_sign": 28.4514
}
},
{
"type": "lunation",
"phase": "full_moon",
"datetime_utc": "2026-04-02T02:11:58Z",
"julian_day_ut": 2461132.59164714,
"elongation_deg": 180,
"moon": {
"sign": "Libra",
"sign_index": 7,
"degree_in_sign": 12.3529
},
"sun": {
"sign": "Aries",
"sign_index": 1,
"degree_in_sign": 12.3529
}
},
{
"type": "lunation",
"phase": "new_moon",
"datetime_utc": "2026-04-17T11:51:49Z",
"julian_day_ut": 2461147.99431205,
"elongation_deg": 0,
"moon": {
"sign": "Aries",
"sign_index": 1,
"degree_in_sign": 27.4828
},
"sun": {
"sign": "Aries",
"sign_index": 1,
"degree_in_sign": 27.4828
}
},
{
"type": "lunation",
"phase": "full_moon",
"datetime_utc": "2026-05-01T17:23:11Z",
"julian_day_ut": 2461162.22443318,
"elongation_deg": 180,
"moon": {
"sign": "Scorpio",
"sign_index": 8,
"degree_in_sign": 11.3473
},
"sun": {
"sign": "Taurus",
"sign_index": 2,
"degree_in_sign": 11.3473
}
},
{
"type": "lunation",
"phase": "new_moon",
"datetime_utc": "2026-05-16T20:01:03Z",
"julian_day_ut": 2461177.334064,
"elongation_deg": 0,
"moon": {
"sign": "Taurus",
"sign_index": 2,
"degree_in_sign": 25.9615
},
"sun": {
"sign": "Taurus",
"sign_index": 2,
"degree_in_sign": 25.9615
}
},
{
"type": "lunation",
"phase": "full_moon",
"datetime_utc": "2026-05-31T08:45:13Z",
"julian_day_ut": 2461191.86473158,
"elongation_deg": 180,
"moon": {
"sign": "Sagittarius",
"sign_index": 9,
"degree_in_sign": 9.9295
},
"sun": {
"sign": "Gemini",
"sign_index": 3,
"degree_in_sign": 9.9295
}
},
{
"type": "lunation",
"phase": "new_moon",
"datetime_utc": "2026-06-15T02:54:10Z",
"julian_day_ut": 2461206.62095431,
"elongation_deg": 0,
"moon": {
"sign": "Gemini",
"sign_index": 3,
"degree_in_sign": 24.0502
},
"sun": {
"sign": "Gemini",
"sign_index": 3,
"degree_in_sign": 24.0502
}
},
{
"type": "lunation",
"phase": "full_moon",
"datetime_utc": "2026-06-29T23:56:42Z",
"julian_day_ut": 2461221.49770298,
"elongation_deg": 180,
"moon": {
"sign": "Capricorn",
"sign_index": 10,
"degree_in_sign": 8.2474
},
"sun": {
"sign": "Cancer",
"sign_index": 4,
"degree_in_sign": 8.2474
}
}
],
"from": "2026-01-01T00:00:00Z",
"to": "2026-06-30T23:59:59Z",
"window_days": 181
},
"status": 200,
"is_error": false,
"message": "successful"
}Captured from a real call using the exact request above. Results sit under data.
Errors
Metering errors return { "error": "…", "message": "<code>", "is_error": true }. Show error to people and branch on message. See the error reference.