Ir para o conteúdo
POST/api/astro/moon-illumination/1 crédito

Iluminação e fase da Lua

Quanto da Lua está iluminado, como uma fração de verdade. Calculado a partir da elongação entre o Sol e a Lua: lit = (1 - cos(elongation)) / 2, que vale 0 na lua nova, 0.5 em qualquer um dos quartos e 1 na lua cheia. Vem tanto como fração quanto como porcentagem, junto com a elongação, o ângulo de fase, se a Lua está crescente e o nome convencional da fase. Este endpoint existe porque a chave do motor chamada `get_illumination` não retorna a iluminação. Ela retorna a MAGNITUDE APARENTE — cerca de -26.7 para o Sol e entre -6 e -12 para a Lua, conforme a fase. Uma fração não pode ser negativa nem valer -26, e qualquer tela que use esse campo como "porcentagem iluminada" mostra valores sem sentido. Esse valor continua vindo aqui, com o nome que merece: apparent_magnitude, em que menor significa mais brilhante.

https://api.occultapi.com/api/astro/moon-illumination/
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.

altitudenumber (double)opcional

Elevação do OBSERVADOR em metros, não a altitude de um corpo.

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.

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.

min -89.9 · max 89.9

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.

min -180 · max 180

planet_namesarrayopcional

Ignorado. Este endpoint sempre usa o Sol e a Lua.

time_zonenumber (double)opcional

Deslocamento UTC. Use este ou timezone_as_float; um espelha o outro.

min -12 · max 14

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/moon-illumination/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date_time":"2026-09-09T12:00:00+00:00","latitude":26.9124,"longitude":75.7873,"timezone_as_float":0}'

Resposta

{
  "data": {
    "illuminated_fraction": 0.034082,
    "illuminated_percent": 3.4082,
    "elongation_degrees": 21.277,
    "phase_angle_degrees": 338.723,
    "waxing": false,
    "phase_name": "New moon",
    "apparent_magnitude": {
      "moon": -6.123776,
      "sun": -26.726421
    },
    "longitudes": {
      "sun": 166.834,
      "moon": 145.557
    },
    "notes": {
      "apparent_magnitude": "The engine key named get_illumination returns apparent magnitude, not illumination. Smaller is brighter; it is negative for both of these bodies. Use illuminated_fraction for how much of the disc is lit."
    }
  },
  "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.