Five Millennium Canon of Solar Eclipses

Key data from NASA's solar eclipse catalog queryable as JSON

NASA's Five Millennium Canon of Solar Eclipses provides details of all solar eclipses occurring over the period -1999 to +3000 (2000 BCE to 3000 CE). This public domain data is available at 5MCSE.

An extract of this data - specifically the summary data for each solar eclipse - is available via a web service.

Acknowledgement:

Request format

Request eclipses between a start and end year as follows:

axios({
	"method": "GET",
	"url": "https://api.radiantdrift.com/solar-eclipse/catalog/[YEAR_FROM]/[YEAR_TO]",
	"params": {
		"apiKey": [YOUR_API_KEY],
		["saros": [SAROS_CYCLE],]
		["primaryType": [ECLIPSE_TYPE]]
	},
	"headers": {
		"Accept-Encoding": "deflate, gzip, br",
		"Cache-Control": "max-age=86400"
	}
})

You can optionally specify a Saros cycle number and/or an eclipse type, where valid eclipse types are:

  • P Partial Eclipse

  • A Annular Eclipse

  • T Total Eclipse

  • H Hybrid or Annular/Total Eclipse

Example

The following request returns the Hybrid eclipses in Saros cycle 137 between the years 1000 and 2500:

GET https://api.radiantdrift.com/solar-eclipse/catalog/1000/2500?saros=137&primaryType=H

The expected response is as follows (abbreviated for length):

{
  "query": {
    "name": "solar-eclipse/catalog/1000/2500",
    "yearFrom": 1000,
    "yearTo": 2500,
    "credit": "Eclipse Predictions by Fred Espenak, NASA's GSFC",
    "eclipseType": "H",
    "saros": "137"
  },
  "response": [
    {
      "catalog": 8821,
      "year": 1713,
      "month": "Dec",
      "day": 17,
      "greatestTD": 0.669675926,
      "deltaT": 9,
      "lunation": -3538,
      "saros": 137,
      "eclipseType": "H",
      "qle": "p-",
      "gamma": 0.7249,
      "mag": 1.0094,
      "sLat": "23N",
      "sLng": "65W",
      "sunAlt": 43,
      "pathWidthKM": "47",
      "sCentralDuration": "00m56s",
      "lat": 23,
      "lng": -65,
      "centraDurationSec": 56,
      "isoDate": "1713-12-17T00:00:00Z",
      "eclipseTypeQualifier": null,
      "eclipseTypePrimary": "H",
      "countryISO": null,
      "mrgID": 1912,
      "tzID": "Etc/GMT+4"
    },
    {
      "catalog": 8867,
      "year": 1731,
      "month": "Dec",
      "day": 29,
      "greatestTD": 0.03255787,
      "deltaT": 11,
      "lunation": -3315,
      "saros": 137,
      "eclipseType": "H",
...
  ]
}

In this case, the array included in the response property conforms to the following Typescript type:

export type FiveMCSERecord = {
  catalog: number;
  year: number;
  month: string;
  day: number;
  greatestTD: number;
  deltaT: number;
  lunation: number;
  saros: number;
  eclipseType: string;
  qle: string;
  gamma: number;
  mag: number;
  sLat: string;
  sLng: string;
  sunAlt: number;
  pathWidthKM: string | null;
  sCentralDuration: string | null;
  lat: number;
  lng: number;
  centraDurationSec: number;
  isoDate: string;
  eclipseTypeQualifier: string | null;
  eclipseTypePrimary: string;
  countryISO: string | null;
  mrgID: number | null;
  tzID: string;
}

Fields

Except as noted below, the fields returned in the response correspond directly to the source NASA data, except that field names are camel-cased. Please refer to the Key to Catalog of Solar Eclipses for details.

Last updated