Astrology API

Transits API

The exact transits to a natal chart over a window of up to 92 days, with the moment each is exact, the sign ingresses and the stations. One day's transits come free with the daily horoscope endpoint.

✦ Swiss Ephemeris✦ Daily transits on the free key✦ Birth data never stored

Updated · Next review

Request

A real request for the demonstration chart, for one month:

curl -X POST https://api.natalchart.ai/v1/transits \
  -H "Authorization: Bearer $NATALCHART_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"birth":{"date":"1991-09-06","time":"18:30","latitude":50.4501,"longitude":30.5234},"from":"2026-09-18","to":"2026-10-18"}'

Response

Part of the answer to that request: the main fields, with every list cut to its first three items.

{
  "window": {
    "from": "2026-09-18",
    "to": "2026-10-18"
  },
  "events": [
    {
      "kind": "aspect",
      "at": "2026-09-19T10:10:33.151Z",
      "date": "2026-09-19",
      "position": "14°06′ Libra",
      "house": 8,
      "body": "Mercury",
      "target": "Neptune",
      "aspect": "Square",
      "exactness": 0,
      "targetPosition": "14°06′ Capricorn",
      "targetHouse": 11,
      "significance": "low"
    },
    {
      "kind": "aspect",
      "at": "2026-09-22T09:53:49.800Z",
      "date": "2026-09-22",
      "position": "18°00′ Leo",
      "house": 7,
      "body": "Jupiter",
      "target": "Pluto",
      "aspect": "Square",
      "exactness": 0,
      "targetPosition": "18°00′ Scorpio",
      "targetHouse": 8,
      "significance": "low"
    },
    {
      "kind": "aspect",
      "at": "2026-09-23T20:47:58.234Z",
      "date": "2026-09-23",
      "position": "0°51′ Libra",
      "house": 7,
      "body": "Sun",
      "target": "Saturn",
      "aspect": "Trine",
      "exactness": 0,
      "targetPosition": "0°51′ Aquarius",
      "targetHouse": 12,
      "significance": "low"
    }
  ]
}

What comes back

  • window: the dates you asked for.
  • events: up to 60 exact aspects from transiting bodies to natal ones, sign ingresses and stations, in date order, each with its moment in UTC, its position and the houses involved. When a window holds more, the most significant are kept.
  • activeOnFirstDay: the transits already within orb on the first day, with the orbs used.
  • Each event carries a significance (high, medium or low) from the bodies involved.

Limits

  • API Pro only, at most 92 days and 60 events per request. On the free key the endpoint answers 403 with a link to upgrade.
  • Births from 1800 to 2399. The houses of a transit need a birth time; without one they are left out.
  • Each exact moment is searched with the Swiss Ephemeris and given in UTC.
  • Birth data is read, used and forgotten: request bodies are never stored.

In an AI assistant

Through the MCP server at https://www.natalchart.ai/mcp, assistants call the transits tool for a period and daily_transits for a single day, and read real transits instead of guessing them.

The rest of the API

The same key opens the whole astrology API: natal charts, daily transits, synastry, transits for a period, solar returns, best days and astrocartography. Every endpoint, field and error is in the documentation, and the pricing page says what counts as a request.

Questions

Is there a free transits API?

Yes, for one day at a time: the daily endpoint returns every transit to a natal chart for a date, with its orb, its phase and the moment it is exact, on the free key (10 requests a day). Transits over a period of up to 92 days are part of API Pro, $6.99 a month.

Can I get the transits for a whole year?

Send consecutive windows of up to 92 days: four requests cover a year.

Does it write the forecast text?

No. It returns the transits, dates and positions a forecast is written from. Your text, or your language model, does the writing.

Ready to see your real chart?

Generate my free chart