Western Astrology API

Twenty-one tropical endpoints on one key: the natal chart with ten planets, four house systems, aspects and dignities; synastry, composite and compatibility for two people; daily, weekly and monthly transits; solar, lunar and planetary returns; secondary progressions and solar arc; moon phases and sun-sign horoscopes. Swiss Ephemeris positions, returned as JSON.

Short answer: Asterwise is a REST API for Western (tropical) astrology. Send a birth date, time and place to POST /v1/western/natal and get the chart back as JSON: Sun through Pluto with sign, house, retrograde flag and dignity, the ascendant and midheaven, twelve house cusps in Placidus, Koch, Equal or Whole Sign, every active aspect with its orb, and the element and modality balance. Twenty-one endpoints cover charts, synastry, transits, returns and progressions. 500 free calls a month.

What a natal chart request returns

POST /v1/western/natal takes date, time, latitude, longitude, timezone and an optional house_system (placidus by default; koch, equal, whole_sign). It returns ten bodies, Sun through Pluto, each with longitude, sign, degree in sign, house, retrograde flag and essential dignity; the ascendant and MC; all twelve house cusps; every active aspect with type, exact angle, orb and whether it is applying; and the element, modality and hemisphere counts. The zodiac is always tropical and the response says so.

Request

curl -X POST https://api.asterwise.com/v1/western/natal \
  -H "Authorization: Bearer $ASTERWISE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"1985-11-12","time":"06:45","latitude":19.076,"longitude":72.8777,"timezone":"Asia/Kolkata","house_system":"placidus"}'

Response, abbreviated

{
  "success": true,
  "data": {
    "zodiac": "tropical",
    "house_system": "placidus",
    "ascendant": { "longitude": 228.957682, "sign": "Scorpio", "degree_in_sign": 18.957682 },
    "mc": { "longitude": 140.343251, "sign": "Leo", "degree_in_sign": 20.343251 },
    "planets": [
      { "name": "Sun", "longitude": 229.596712, "sign": "Scorpio", "degree_in_sign": 19.596712, "house": 1, "is_retrograde": false, "dignity": "peregrine" },
      { "name": "Moon", "longitude": 221.838294, "sign": "Scorpio", "degree_in_sign": 11.838294, "house": 12, "is_retrograde": false, "dignity": "fall" }
    ],
    "houses": [ { "house": 1, "cusp_longitude": 228.957682, "sign": "Scorpio" } ],
    "aspects": [ { "planet_a": "Jupiter", "planet_b": "Mars", "type": "trine", "exact_angle": 119.9635, "orb": 0.0365, "is_applying": false } ],
    "elements": { "fire": 2, "earth": 1, "air": 2, "water": 5, "dominant": "water" },
    "modalities": { "cardinal": 2, "fixed": 6, "mutable": 2, "dominant": "fixed" }
  }
}

This is the reference chart used across the site; its tropical longitudes are the ones checked against NASA JPL Horizons on the accuracy page. Full field list in the Western natal chart reference.

Two charts: synastry, composite and a compatibility score

POST /v1/western/synastry takes two births and returns every inter-chart aspect with type, exact angle and orb. POST /v1/western/composite returns the midpoint chart with its own planets, ascendant and aspects. POST /v1/western/compatibility reduces the pair to scores, and GET /v1/western/compatibility/zodiac compares two signs without birth data. The compatibility response for the reference chart and a second birth (24 March 1988, 14:30, New Delhi):

{
  "success": true,
  "data": {
    "overall_score": 52,
    "element_score": 43,
    "aspect_score": 62,
    "sun_sign_affinity": "challenging",
    "moon_sign_affinity": "challenging",
    "rising_sign_affinity": "challenging",
    "person1_sun": "Scorpio", "person2_sun": "Aries",
    "person1_moon": "Scorpio", "person2_moon": "Gemini",
    "key_aspects": [ ... ]
  }
}

The twenty-one endpoints

Every endpoint below is on every plan, including the free tier. Names link to the reference page with the full request and response schema.

Transits are computed against the natal chart for a start date and returned as transiting positions plus their aspects to natal planets, daily, weekly or monthly. Returns give the exact return instant in UTC and the full chart cast for it. Secondary progressions and solar arc directions return the progressed or directed positions, ascendant and MC for a target date. The Swiss Ephemeris page covers the astronomy under all of them.

What you can verify before you build

The tropical longitudes from the natal endpoint were checked against NASA JPL Horizons: 80 positions from 1950 to 2050, median difference 0.046 arcseconds, 79 of 80 within half an arcsecond, with the raw data and script published. The comparison pages put Asterwise beside seven other astrology APIs with a source on every row. Dates from 1800 to 2099 are accepted.

SDKs, MCP and no-code

Python and TypeScript SDKs are generated from the OpenAPI document, so every field above is typed. The MCP server exposes the same calculations as read-only tools for Claude, Cursor and other AI clients. If you also need the sidereal system, the Vedic astrology API runs on the same key.

Questions developers ask

What is a Western astrology API?
A Western astrology API computes tropical-zodiac charts from birth data over HTTP and returns them as JSON: the natal chart with planets, houses, aspects and dignities, synastry and composite charts for two people, transits for a date, solar and lunar returns, and progressions. Your application sends a date, time and place and receives the positions and aspects, so it never has to implement the astronomy itself.
Which house systems are supported?
Placidus (default), Koch, Equal and Whole Sign, chosen per request with the house_system field on the natal chart endpoint. The response names the system used and lists all twelve cusps.
Which planets and aspects are returned?
Ten bodies, Sun through Pluto, each with longitude, sign, house, retrograde flag and essential dignity. Aspects are returned with their type, exact angle, orb and whether they are applying or separating; the natal chart also reports element, modality and hemisphere balance.
Does it do synastry and compatibility?
Yes. Synastry returns the full inter-chart aspect list for two people; the composite endpoint builds the midpoint chart; the compatibility endpoint scores a pair with an overall score plus element and aspect scores and Sun, Moon and rising-sign affinities; and a sign-only endpoint compares two zodiac signs without birth data.
Is the zodiac tropical or sidereal?
Every endpoint under /v1/western/ is tropical; the response says so in its zodiac field. The same account also has the sidereal Vedic endpoints, so one key serves products that offer both systems.
Is there a free tier?
Yes. The Sandbox plan is free, includes 500 calls a month and every endpoint, needs no credit card and does not expire. Paid plans start at $10/month. See pricing.
How accurate are the positions?
Positions come from the Swiss Ephemeris. The tropical longitudes from this natal endpoint were checked against NASA JPL Horizons over 80 positions from 1950 to 2050: median difference 0.046 arcseconds, 79 of 80 within half an arcsecond. The raw data and the script to repeat the check are published. Read the accuracy check.
Can an AI assistant use it?
Yes. The same calculations are exposed as read-only tools on a remote MCP server (103 tools across the whole API), so Claude, Cursor or any MCP client can cast a natal chart, run synastry or read today's transits without guessing. Connect an AI client.

Start with 500 free calls a month, no card, no expiry. Every plan includes all 118 endpoints. See pricing or create a key.