/api/astro/planet-horizon/1 créditoCoordenadas horizontais dos planetas
Onde um corpo está no céu neste momento: azimute, altitude e se ele está de fato acima do horizonte. As coordenadas horizontais são o que você precisa para apontar para algo — uma câmera, um telescópio ou um dedo. O azimute é dado em graus no sentido horário a partir do norte, e a altitude é dada em graus acima do horizonte e fica negativa assim que o corpo se põe. `above_horizon` e um rumo da bússola de dezesseis pontos são calculados aqui, em vez de ficarem por sua conta, porque "está acima do horizonte?" é a pergunta real, e uma altitude negativa parece uma posição perfeitamente válida na tela. Aceita o deslocamento UTC como `timezone_as_float` ou como `time_zone`; o endpoint pai só aceita o segundo.
https://api.occultapi.com/api/astro/planet-horizon/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. |
| altitude | number (double) | opcional | Elevação do OBSERVADOR em metros, não a altitude de um corpo. |
| 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. |
| latitude | number (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 |
| longitude | number (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_names | array | opcional | Corpos a incluir na resposta, por exemplo ["SUN", "MOON", "MARS"]. |
| time_zone | number (double) | opcional | Deslocamento UTC. Use este ou timezone_as_float; um espelha o outro. min -12 · max 14 |
| timezone_as_float | number (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/planet-horizon/ \
-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,"planet_names":["SUN","MOON","MARS"]}'Resposta
{
"data": {
"observer": {
"latitude": 26.9124,
"longitude": 75.7873,
"elevation_m": 0
},
"bodies": {
"SUN": {
"azimuth": 268.533017,
"compass": "W",
"altitude": 14.482392,
"above_horizon": true
},
"MOON": {
"azimuth": 284.783473,
"compass": "WNW",
"altitude": 0.890481,
"above_horizon": true
},
"MARS": {
"azimuth": 313.736218,
"compass": "NW",
"altitude": -22.802352,
"above_horizon": false
}
}
},
"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.