Ir para o conteúdo
POST/api/astro/eclipse/range/1 crédito

Eclipses em um intervalo de datas

Todos os eclipses entre duas datas, sem lacunas. Para calendários e linhas do tempo de eclipses de vários anos. A janela é limitada a vinte anos, cerca de 140 eclipses — acima disso, uma única resposta fica grande demais para um cliente lidar com conforto. Os dois tipos vêm em ordem cronológica de fato, a menos que você filtre por kind.

https://api.occultapi.com/api/astro/eclipse/range/
Testar requisição

Autenticação

Envie sua chave no cabeçalho X-API-Key. A chave é uma credencial de servidor — nunca a coloque no JavaScript do navegador nem num app mobile.

X-API-Key: yt_live_a1b2c3d4_…
Content-Type: application/json

Campos da requisição

CampoTipoObrigatórioObservações
date_timestring (date-time)obrigatório

O momento a calcular, em ISO 8601. SEMPRE inclua um deslocamento ou um Z no final - um valor sem fuso horário é lido como Asia/Kolkata (UTC+05:30), não como UTC, e pode retornar o resultado do dia anterior com um 200. '2026-09-01T06:00:00Z' e '2026-09-01 06:00:00' são instantes diferentes e dão respostas diferentes.

end_date_timestring (date-time)obrigatório
directionstringopcional

Direção da busca a partir de date_time: para a frente ou para trás.

afterbefore
elevationnumber (double)opcional
keysarrayopcional

Quais cálculos retornar, como uma lista de nomes. Veja a tabela de chaves deste endpoint; um nome não reconhecido rejeita a requisição inteira. Uma chamada custa um crédito, não importa quantas chaves você peça, então solicite tudo o que precisa de uma vez em vez de fazer várias chamadas.

kindstringopcional
bothsolarlunar
latitudenumber (double)opcional

Latitude do local, em graus decimais. Positivo é norte, negativo é sul. Exemplo: 26.9124 para Jaipur, 40.7128 para Nova York. Minutos e segundos não são aceitos - converta antes.

longitudenumber (double)opcional

Longitude do local, em graus decimais. Positivo é leste, negativo é oeste. Exemplo: 75.7873 para Jaipur, -74.0060 para Nova York. Atenção ao sinal: sem o sinal de menos, Nova York vai parar na China.

timezone_as_floatnumber (double)opcional

Deslocamento UTC do local, em horas, como número decimal. Exemplo: 5.5 para a Índia (UTC+05:30), -5 para Nova York no inverno, 5.75 para o Nepal. Este valor NÃO é conferido com date_time: se os dois divergirem, você recebe uma resposta bem-sucedida para o momento errado. Por isso, tire os dois da mesma fonte. Use o deslocamento em vigor naquela data, não o de hoje: quem nasceu no verão, em um país com horário de verão, precisa do deslocamento de verão.

min -12 · max 14

Exemplo de requisição

curl -X POST https://api.occultapi.com/api/astro/eclipse/range/ \
  -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":"2027-12-31T23:59:59+00:00","timezone_as_float":0,"kind":"both"}'

Resposta

{
  "data": {
    "from": "2026-01-01T00:00:00Z",
    "to": "2027-12-31T23:59:59Z",
    "kind": "both",
    "count": 9,
    "eclipses": [
      {
        "kind": "solar",
        "type": "annular",
        "centrality": "central",
        "maximum": "2026-02-17T12:11:53Z",
        "times": {
          "maximum": "2026-02-17T12:11:53Z",
          "local_apparent_noon": "2026-02-17T11:18:50Z",
          "begin": "2026-02-17T09:56:47Z",
          "end": "2026-02-17T14:27:40Z",
          "totality_begin": "2026-02-17T11:43:04Z",
          "totality_end": "2026-02-17T12:41:05Z",
          "centre_line_begin": "2026-02-17T11:48:27Z",
          "centre_line_end": "2026-02-17T12:35:44Z"
        }
      },
      {
        "kind": "lunar",
        "type": "total",
        "centrality": null,
        "maximum": "2026-03-03T11:33:42Z",
        "times": {
          "maximum": "2026-03-03T11:33:42Z",
          "partial_begin": "2026-03-03T09:50:06Z",
          "partial_end": "2026-03-03T13:17:18Z",
          "totality_begin": "2026-03-03T11:04:34Z",
          "totality_end": "2026-03-03T12:02:51Z",
          "penumbral_begin": "2026-03-03T08:44:25Z",
          "penumbral_end": "2026-03-03T14:23:08Z"
        }
      },
      {
        "kind": "solar",
        "type": "total",
        "centrality": "central",
        "maximum": "2026-08-12T17:45:57Z",
        "times": {
          "maximum": "2026-08-12T17:45:57Z",
          "local_apparent_noon": "2026-08-12T17:03:51Z",
          "begin": "2026-08-12T15:34:30Z",
          "end": "2026-08-12T19:57:57Z",
          "totality_begin": "2026-08-12T16:58:05Z",
          "totality_end": "2026-08-12T18:34:00Z",
          "centre_line_begin": "2026-08-12T17:00:06Z",
          "centre_line_end": "2026-08-12T18:32:01Z"
        }
      },
      {
        "kind": "lunar",
        "type": "partial",
        "centrality": null,
        "maximum": "2026-08-28T04:12:58Z",
        "times": {
          "maximum": "2026-08-28T04:12:58Z",
          "partial_begin": "2026-08-28T02:33:53Z",
          "partial_end": "2026-08-28T05:52:03Z",
          "penumbral_begin": "2026-08-28T01:23:57Z",
          "penumbral_end": "2026-08-28T07:01:50Z"
        }
      },
      {
        "kind": "solar",
        "type": "annular",
        "centrality": "central",
        "maximum": "2027-02-06T15:59:40Z",
        "times": {
          "maximum": "2027-02-06T15:59:40Z",
          "local_apparent_noon": "2027-02-06T15:44:31Z",
          "begin": "2027-02-06T12:57:51Z",
          "end": "2027-02-06T19:01:40Z",
          "totality_begin": "2027-02-06T14:04:05Z",
          "totality_end": "2027-02-06T17:55:27Z",
          "centre_line_begin": "2027-02-06T14:07:14Z",
          "centre_line_end": "2027-02-06T17:52:20Z"
        }
      },
      {
        "kind": "lunar",
        "type": "penumbral",
        "centrality": null,
        "maximum": "2027-02-20T23:12:51Z",
        "times": {
          "maximum": "2027-02-20T23:12:51Z",
          "penumbral_begin": "2027-02-20T21:12:23Z",
          "penumbral_end": "2027-02-21T01:13:22Z"
        }
      },
      {
        "kind": "lunar",
        "type": "penumbral",
        "centrality": null,
        "maximum": "2027-07-18T16:03:00Z",
        "times": {
          "maximum": "2027-07-18T16:03:00Z",
          "penumbral_begin": "2027-07-18T15:57:14Z",
          "penumbral_end": "2027-07-18T16:08:46Z"
        }
      },
      {
        "kind": "solar",
        "type": "total",
        "centrality": "central",
        "maximum": "2027-08-02T10:06:39Z",
        "times": {
          "maximum": "2027-08-02T10:06:39Z",
          "local_apparent_noon": "2027-08-02T10:01:00Z",
          "begin": "2027-08-02T07:30:17Z",
          "end": "2027-08-02T12:43:08Z",
          "totality_begin": "2027-08-02T08:23:29Z",
          "totality_end": "2027-08-02T11:49:56Z",
          "centre_line_begin": "2027-08-02T08:25:07Z",
          "centre_line_end": "2027-08-02T11:48:18Z"
        }
      },
      {
        "kind": "lunar",
        "type": "penumbral",
        "centrality": null,
        "maximum": "2027-08-17T07:13:51Z",
        "times": {
          "maximum": "2027-08-17T07:13:51Z",
          "penumbral_begin": "2027-08-17T05:24:31Z",
          "penumbral_end": "2027-08-17T09:03:11Z"
        }
      }
    ]
  },
  "status": 200,
  "is_error": false,
  "message": "successful"
}

Capturada de uma chamada real, com exatamente a requisição acima. Os resultados ficam em data.

Erros

Erros de consumo de créditos retornam { "error": "…", "message": "<code>", "is_error": true }. Mostre error para o usuário e use message para decidir o que fazer no código. Consulte a referência de erros.