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

Cruzamentos de trânsito

Este endpoint busca momentos, em vez de descrever um mapa em um horário fixo. Ele responde a perguntas do tipo: quando o Sol atinge 0 grau de Áries da próxima vez, quando Marte cruza pela próxima vez um determinado grau entre duas datas, quando Saturno e o Sol voltam a compartilhar uma longitude eclíptica e onde exatamente um corpo está em um instante. Duas das chaves são seletores de modo, e não cálculos. `set_default_transit` seleciona as efemérides tropicais simples e `set_sidereal_transit`, as siderais; ambas retornam null. As chaves de uma requisição são avaliadas na ordem em que você as lista, então coloque o seletor primeiro se quiser que as buscas seguintes sejam siderais. Os campos `planet`, `celestial`, `celestial1` e `celestial2` usam nomes de efemérides em maiúsculas (`SUN`, `MOON`, `MEAN_NODE`, `TRUE_NODE`, `CHIRON`, os pontos uranianos e várias luas planetárias), um vocabulário diferente dos nomes `Sun`/`Moon` usados na maioria dos outros endpoints desta API. `tz` é um simples deslocamento em horas aplicado a todo timestamp retornado, `when` define se a busca é feita depois ('after') ou antes ('before') do horário de referência, e `datetime_start`/`datetime_end` delimitam a janela de `planet_transit`.

https://api.occultapi.com/api/astro/transit/
Testar requisição
Dados de Cruzamentos de trânsito exibidos numa interface
Os dados deste endpoint exibidos numa interface real. A API entrega os valores; o layout é você quem monta.

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.

datetime_endstring (date-time)obrigatório
datetime_startstring (date-time)obrigatório
keysarrayobrigatório

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.

planetstringobrigatório
SUNMOONMERCURYVENUSMARSJUPITERSATURNURANUSNEPTUNEPLUTOMEAN_NODETRUE_NODE

36 valores aceitos, que cobrem os 10 planetas, os dois nodos lunares, 6 asteroides, 9 corpos uranianos/fictícios e 9 luas planetárias. Um nome não reconhecido é mapeado silenciosamente para None em vez de gerar erro, o que depois falha mais a fundo, dentro do motor de efemérides. Observe que os nodos usam as formas com sublinhado MEAN_NODE / TRUE_NODE (não existe alias 'RAHU'/'KETU').

tznumber (double)obrigatório

min -12 · max 14

celestialstringopcional
SUNMOONMERCURYVENUSMARSJUPITERSATURNURANUSNEPTUNEPLUTOMEAN_NODETRUE_NODE

36 valores aceitos, que cobrem os 10 planetas, os dois nodos lunares, 6 asteroides, 9 corpos uranianos/fictícios e 9 luas planetárias. Um nome não reconhecido é mapeado silenciosamente para None em vez de gerar erro, o que depois falha mais a fundo, dentro do motor de efemérides. Observe que os nodos usam as formas com sublinhado MEAN_NODE / TRUE_NODE (não existe alias 'RAHU'/'KETU').

celestial1stringopcional
SUNMOONMERCURYVENUSMARSJUPITERSATURNURANUSNEPTUNEPLUTOMEAN_NODETRUE_NODE

36 valores aceitos, que cobrem os 10 planetas, os dois nodos lunares, 6 asteroides, 9 corpos uranianos/fictícios e 9 luas planetárias. Um nome não reconhecido é mapeado silenciosamente para None em vez de gerar erro, o que depois falha mais a fundo, dentro do motor de efemérides. Observe que os nodos usam as formas com sublinhado MEAN_NODE / TRUE_NODE (não existe alias 'RAHU'/'KETU').

celestial2stringopcional
SUNMOONMERCURYVENUSMARSJUPITERSATURNURANUSNEPTUNEPLUTOMEAN_NODETRUE_NODE

36 valores aceitos, que cobrem os 10 planetas, os dois nodos lunares, 6 asteroides, 9 corpos uranianos/fictícios e 9 luas planetárias. Um nome não reconhecido é mapeado silenciosamente para None em vez de gerar erro, o que depois falha mais a fundo, dentro do motor de efemérides. Observe que os nodos usam as formas com sublinhado MEAN_NODE / TRUE_NODE (não existe alias 'RAHU'/'KETU').

degrnumber (double)opcional
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

nakshatrasstringopcional
special

PARÂMETRO MORTO na camada HTTP: o TransitView nunca o repassa, então enviá-lo não tem efeito. No motor, o único valor com significado é o literal 'special', que seleciona a tabela nakshatras_special, de 28 entradas, em vez da padrão, de 27 entradas.

whenstringopcional
afterbefore

O padrão do motor é 'after'. Usado pelas chaves 'solar_crossing', 'find_moon_crossing', 'moon_node_crossing' e 'celestial_conjunction'.

x2crossnumber (double)opcional

Chaves disponíveis (8)

Liste em keys só os cálculos que você quer. Uma chave desconhecida faz a requisição inteira ser rejeitada. O custo é 1 crédito, não importa quantas chaves você peça — então agrupe tudo numa chamada só.

ChaveCampos extras exigidosDescrição
celestial_conjunctioncelestial1, celestial2, datetime_start, whenO primeiro momento após `datetime_start` em que `celestial1` e `celestial2` compartilham uma longitude eclíptica. Retorna um objeto com `long1` e `long2`, as duas longitudes no momento encontrado — próximas, mas não exatamente iguais, já que a busca converge até uma tolerância — e `date`, o timestamp ISO.
find_moon_crossingx2cross, date_time, tz, whenO instante em que a Lua atinge a longitude eclíptica indicada em `x2cross`, buscando para a frente ou para trás a partir de `date_time`, conforme `when`. Retorna um único timestamp ISO deslocado por `tz`. Como a Lua se move cerca de 13 graus por dia, a resposta normalmente fica a menos de um mês do horário de referência.
moon_node_crossingdate_time, tz, whenO cruzamento seguinte ou anterior do nodo lunar, buscando a partir de `date_time` na direção indicada por `when`. Retorna um objeto com `date`, o timestamp ISO deslocado por `tz`, junto com `long` e `lat`, a longitude e a latitude eclípticas nesse momento. Útil para localizar temporadas de eclipses.
planet_transitdegr, planet, datetime_start, datetime_end, tzO momento em que o corpo indicado em `planet` cruza a longitude eclíptica informada em `degr`, buscado entre `datetime_start` e `datetime_end`. Retorna um único timestamp ISO deslocado por `tz`, ou null quando o corpo nunca atinge esse grau dentro da janela. Diferentemente dos cruzamentos do Sol e da Lua, este é delimitado, então informe um intervalo amplo o suficiente para conter o evento.
set_default_transit—Um seletor de modo, não um cálculo: define as efemérides como tropicais (sem ayanamsa aplicado) para o restante da requisição. Retorna null. As chaves são avaliadas na ordem em que você as lista, então coloque-o antes das chaves de cruzamento que ele deve afetar.
set_sidereal_transit—Um seletor de modo, não um cálculo: define as efemérides como siderais, de modo que os cruzamentos e as posições seguintes na mesma requisição são medidos em relação ao ayanamsa, e não ao ponto zero tropical. Retorna null e deve ser listado antes das chaves que deve afetar.
solar_crossingx2cross, date_time, tz, whenO instante em que o Sol atinge a longitude eclíptica indicada em `x2cross`, buscando para a frente ou para trás a partir de `date_time`, conforme `when`. Retorna um único timestamp ISO com o deslocamento em horas de `tz` aplicado. Passe 0 para encontrar um ano-novo sideral, ou uma longitude solar natal para encontrar um aniversário com precisão de minuto.
transit_detailscelestial, date_time, tzOs dados posicionais completos do corpo indicado em `celestial` em `date_time`. Retorna um objeto com `longitude` como string de exibição pré-formatada, `nakshatra` e seu `nakshatra_lord`, `padam` (a quarta parte do nakshatra, 1-4), `full_degree` (a longitude sideral dividida por 30, ou seja, o número do signo mais a fração já percorrida dele), `latitude_shara` como `{degrees, minutes, seconds}`, `speed` em graus por dia como string, `right_ascension` no formato 'hh.mm.ss.ss' e `declination_kranti` em graus como string.

Exemplo de requisição

curl -X POST https://api.occultapi.com/api/astro/transit/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date_time":"2024-11-20T06:52:42.466Z","keys":["set_sidereal_transit","planet_transit","solar_crossing","celestial_conjunction","transit_details"],"latitude":26.1046,"longitude":75.7873,"tz":5.5,"planet":"MARS","datetime_start":"2024-11-20T06:52:42.466Z","datetime_end":"2040-11-20T06:52:42.466Z","degr":0,"x2cross":0,"celestial1":"SATURN","celestial2":"SUN","celestial":"MARS","when":"after"}'

Resposta

{
  "data": {
    "set_sidereal_transit": null,
    "planet_transit": "2026-05-11T12:38:41+05:30",
    "solar_crossing": "2025-04-14T03:21:25+05:30",
    "celestial_conjunction": {
      "long1": 327.886,
      "long2": 327.877,
      "date": "2025-03-12T10:13:52.466000Z"
    },
    "transit_details": {
      "longitude": "4° Mesh 4'° 25\"",
      "nakshatra": "Makha",
      "padam": 2,
      "nakshatra_lord": "Ketu",
      "full_degree": 4.15,
      "latitude_shara": {
        "degrees": 2,
        "minutes": 5,
        "seconds": 52.8
      },
      "speed": "0.2",
      "right_ascension": "08.29.10.92",
      "declination_kranti": "21.19"
    }
  },
  "status": 200,
  "is_error": false,
  "message": "successful"
}

Capturada de uma chamada real, com exatamente a requisição acima. Os resultados ficam em data, sob cada chave que você pediu.

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.