Astrology Transits API

AstroAPI uses Western (tropical), geocentric astrology by default. Sidereal or Vedic-style calculations are not applied unless explicitly enabled and documented.

The Transits API calculates planetary positions for a specified date and compares them to a natal chart. Designed for passive, server-to-server usage using API key authentication.

Endpoint

POST https://api.astroapi.io/api/astro/transits

Include Authorization: Bearer <API_KEY>.

Required Request Fields

  • birth.date — ISO date (YYYY-MM-DD)
  • birth.time — 24-hour time (HH:MM)
  • birth.lat — latitude (decimal)
  • birth.lon — longitude (decimal)
  • transitDate — ISO date (YYYY-MM-DD)

How Transits Work

Planetary positions are calculated for the requested transit date and returned alongside full chart context, including house systems, aspects, lunar nodes, and metadata.

Example Request

{
  "birth": {
    "date": "1990-01-01",
    "time": "12:00",
    "lat": 40.7128,
    "lon": -74.0060
  },
  "transitDate": "2025-01-01"
}

Example Response

{
  "type": "transits",
  "input": {
    "birth": {
      "date": "1990-01-01",
      "time": "12:00",
      "lat": 40.7128,
      "lon": -74.006
    },
    "transitDate": "2025-01-01"
  },
  "transits": {
    "status": "ok",
    "planets": {
      "Sun": { "lon": 0, "sign": "Aries" },
      "Moon": { "lon": 1.4707, "sign": "Aries" }
    },
    "houses": {
      "ascendant": 94.64,
      "mc": 208.91,
      "systems": {
        "placidus": {
          "houses": {
            "1": 94.64,
            "2": 132.89,
            "3": 176.10,
            "4": 28.91,
            "5": 51.95,
            "6": 84.23,
            "7": 274.64,
            "8": 312.89,
            "9": 356.10,
            "10": 208.91,
            "11": 231.95,
            "12": 264.23
          }
        }
      }
    },
    "aspects": [],
    "nodes": {},
    "metadata": {}
  }
}

Quick Test / curl

Use this curl command to quickly test the Houses API endpoint with your API key:

curl -i https://api.astroapi.io/api/astro/transits \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY_HERE" \
  -d '{
    "birth": {
      "date": "2000-01-01",
      "time": "12:00",
      "lat": 33.7488,
      "lon": -84.3877
    },
    "transitDate": "2025-12-30"
  }'

Common Uses

  • Daily and monthly horoscopes
  • Transit-based alerts and notifications
  • Timing and forecasting dashboards
  • Predictive astrology systems

Interpretation, scoring, and predictive analytics are handled client-side. This API provides raw transit calculation data only.

// JavaScript — Transits API
fetch("https://api.astroapi.io/api/astro/transits", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
  },
  body: JSON.stringify({
    birth: {
      date: "1990-01-01",
      time: "12:00",
      lat: 40.7128,
      lon: -74.0060
    },
    transitDate: "2025-01-01"
  })
})
  .then(res => res.json())
  .then(data => console.log(data));
# Python — Transits API
import requests

url = "https://api.astroapi.io/api/astro/transits"

payload = {
  "birth": {
    "date": "1990-01-01",
    "time": "12:00",
    "lat": 40.7128,
    "lon": -74.0060
  },
  "transitDate": "2025-01-01"
}

headers = {
  "Content-Type": "application/json",
  "Authorization": "Bearer YOUR_API_KEY"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())