/api/astro/sunrise/1 créditoNascer 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/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/jsonCampos da requisição
| Campo | Tipo | Obrigatório | Observações |
|---|---|---|---|
| date_time | string (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. |
| latitude | number (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 |
| longitude | number (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_float | number (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 |
| keys | array | opcional | 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.