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

Nascer e pôr do sol

Nascer e pôr do sol para uma data e um local, com a duração do dia em segundos. Para a lua, use /api/astro/moonrise/. Envie uma data, uma latitude, uma longitude e o deslocamento UTC. Nada mais. Os mesmos valores podem ser obtidos por /api/astro/celestial/, mas apenas se você souber que deve pedir o SUN pelo nome, colocar o seletor da convenção de nascer em primeiro lugar no array keys e ler o elemento zero de um array de dois elementos cujo segundo elemento é uma tupla de efemérides com dez floats. Este endpoint usa o nascer hindu - borda superior do disco, sem refração -, a mesma convenção com que /api/astro/panchanga/ monta o seu dia, então aqui o pôr do sol menos o nascer do sol é igual ao day_length daquele endpoint com precisão de segundos. O pôr do sol retornado é sempre o que vem depois do nascer do sol. Qualquer um dos dois campos pode ser null: durante um dia ou uma noite polar, o sol não nasce nem se põe, e null indica isso. /api/astro/celestial/ retorna "2000-11-24T12:00:00Z" nesse caso, que é o dia juliano zero, e não um instante. Atenção a um limite: este endpoint responde pelo dia CIVIL que você indicou, enquanto o dia do panchanga vai de um nascer do sol ao seguinte. Peça um momento antes do nascer do sol e o panchanga ainda estará descrevendo o dia anterior, então o day_length dele vai diferir do intervalo daqui. Os dois estão corretos para a pergunta que cada um responde.

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

latitudenumber (double)obrigatório

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)obrigatório

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

timezone_as_floatnumber (double)obrigatório

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

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.

Exemplo de requisição

curl -X POST https://api.occultapi.com/api/astro/sunrise/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date_time":"2026-09-01T06:00:00+05:30","timezone_as_float":5.5,"latitude":26.9124,"longitude":75.7873}'

Resposta

{
  "data": {
    "sunrise": "2026-09-01T06:09:56+05:30",
    "sunset": "2026-09-01T18:43:30+05:30",
    "day_length_seconds": 45214
  },
  "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.