Skip to content
POST/api/astro/eclipse/attributes/1 credit

Eclipse attributes at a moment

How deep an eclipse is at one instant, seen from one place. A snapshot rather than a search: at this second, from these coordinates, what fraction of the disc is covered, how high the body stands above the horizon, what the magnitude is, and which Saros series the eclipse belongs to. Obscuration changes minute by minute through an eclipse, so stepping this endpoint across the event gives you the coverage curve — what a live tracker needs and what a list of contact times cannot give. Distinct from /api/astro/eclipse/local/, which searches for the next eclipse visible from a place and returns its contact times. This one measures a moment you already have: pass it a maximum from /local/ or /upcoming/ for the depth at the peak. Set kind to "lunar" for umbral and penumbral magnitude instead. There is no obscuration for a lunar eclipse — that is a solar concept, and the field is absent rather than zero. If no eclipse is touching that place at that instant the response says so, rather than returning a page of zeros that reads like a real measurement.

https://yogataraapi.prahlad.app/api/astro/eclipse/attributes/
Test Request

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/json

Request fields

FieldTypeRequiredNotes
date_timestring (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.

latitudenumber (double)required

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.

min -89.9 · max 89.9

longitudenumber (double)required

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.

min -180 · max 180

directionstringoptional

Search forward from date_time, or backward.

afterbefore
elevationnumber (double)optional
keysarrayoptional

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.

kindstringoptional

Which body's eclipse to measure at this moment.

solarlunar
timezone_as_floatnumber (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/eclipse/attributes/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date_time":"2026-08-12T17:46:00+00:00","timezone_as_float":0,"latitude":64.1466,"longitude":-21.9426,"kind":"solar"}'

Response

{
  "data": {
    "kind": "solar",
    "in_progress": true,
    "type": "partial",
    "moment": "2026-08-12T17:46:00Z",
    "place": {
      "latitude": 64.1466,
      "longitude": -21.9426,
      "elevation": 0
    },
    "attributes": {
      "solar_diameter_fraction_covered": 0.9694113526477836,
      "lunar_to_solar_diameter_ratio": 1.0392513179040108,
      "obscuration": 0.9698071068665648,
      "core_shadow_diameter_km": -132.45757926321468,
      "sun_azimuth": 72.06950998795764,
      "sun_true_altitude": 24.78900312370976,
      "sun_apparent_altitude": 24.824074556487865,
      "moon_elongation": 0.026420359347729915,
      "magnitude_nasa": 0.9694113526477836,
      "saros_series": 126,
      "saros_member": 48
    },
    "saros": {
      "series": 126,
      "member": 48
    }
  },
  "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.