API reference › Western

Western Natal Chart API

A tropical birth chart: planets, angles, Placidus or other houses, dignities and element balance

POST/v1/western/chart

2 credits · Secret key (test or live) · getWesternChart

Sun to Pluto and the true node, as apparent longitudes of date. With an unknown birth time, angles, houses and each planet's house are null, and the Moon can be up to about 6° off.

Request body

  • birth Birth required
    • date string (date) required

      e.g. "1990-08-13"

    • time string

      pattern ^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$ · e.g. "06:30"

    • time_accuracy string

      With "unknown", lagna- and house-dependent fields are omitted and listed in warnings — never filled with a noon default.

      one of exact, approximate, unknown · default "exact"

    • place Coordinates or object or object required

      Coordinates, a place_id from /v1/places/search, or a free-text query. A vague query returns 422 place_ambiguous with candidates; the API never guesses.

      One of:

      1. Coordinates
        Fields
        • latitude number required

          ≥ -90 · ≤ 90

        • longitude number required

          ≥ -180 · ≤ 180

        No other fields are accepted.

      2. object
        Fields
        • place_id string required

        No other fields are accepted.

      3. object
        Fields
        • query string required

          at least 2 characters · at most 120 characters

        No other fields are accepted.

    • timezone string

      "auto" (from coordinates AND date), an IANA name, or a fixed offset like "+05:30".

      default "auto"

    No other fields are accepted.

  • house_system string

    one of placidus, equal, whole_sign, porphyry · default "placidus"

  • options object
    • lang string required

      one of en, hi · default "en"

    No other fields are accepted.

No other fields are accepted.

Response

JSON { data, meta, warnings }, where data is:

  • moment string (date-time) required
  • frame string required

    one of tropical

  • house_system string or null required

    One of:

    1. string
    2. null
  • planets array of object required
    • id string required
    • name string required
    • longitude number required
    • sign string required
    • sign_name string required
    • degree number required
    • formatted string required
    • speed number required

      Degrees a day.

    • retrograde boolean required
    • house integer or null required

      One of:

      1. integer
      2. null
    • dignity string or null required

      One of:

      1. string
      2. null
  • angles object or null required

    One of:

    1. object
      Fields
      • ascendant object required
        Fields
        • longitude number required
        • sign string required
        • sign_name string required
        • degree number required
        • formatted string required
      • midheaven object required
        Fields
        • longitude number required
        • sign string required
        • sign_name string required
        • degree number required
        • formatted string required
      • descendant object required
        Fields
        • longitude number required
        • sign string required
        • sign_name string required
        • degree number required
        • formatted string required
      • imum_coeli object required
        Fields
        • longitude number required
        • sign string required
        • sign_name string required
        • degree number required
        • formatted string required
    2. null
  • houses array of object or null required

    One of:

    1. array of object
      Fields
      • house integer required
      • longitude number required
      • sign string required
      • sign_name string required
      • degree number required
      • formatted string required
    2. null
  • balance object required
    • elements object required
      Fields
      • fire integer required
      • earth integer required
      • air integer required
      • water integer required
    • modalities object required
      Fields
      • cardinal integer required
      • fixed integer required
      • mutable integer required

Errors: 400, 401, 403, 404, 422, 429, 500. See error codes.

Example request

curl -X POST 'https://api.astrologics.in/v1/western/chart' \
  -H 'Authorization: Bearer al_test_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"birth":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}}}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/western/chart", {
  method: "POST",
  headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    "birth": {
      "date": "1990-08-13",
      "time": "06:30",
      "place": {
        "latitude": 28.6139,
        "longitude": 77.209
      }
    }
  }),
});
console.log(JSON.stringify(await res.json(), null, 2));
Python
import json
import urllib.error
import urllib.request

body = {
    "birth": {
        "date": "1990-08-13",
        "time": "06:30",
        "place": {
            "latitude": 28.6139,
            "longitude": 77.209,
        },
    },
}

req = urllib.request.Request(
    "https://api.astrologics.in/v1/western/chart",
    method="POST",
    headers={"Authorization": "Bearer al_test_YOUR_KEY", "Content-Type": "application/json"},
    data=json.dumps(body).encode(),
)
try:
    with urllib.request.urlopen(req) as res:
        print(json.dumps(json.load(res), indent=2, ensure_ascii=False))
except urllib.error.HTTPError as err:
    print(err.code, err.read().decode())
PHP
<?php
$ch = curl_init('https://api.astrologics.in/v1/western/chart');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS => '{"birth":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}}}',
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;

Example response

200 OK · 7,459 characters
{
  "data": {
    "moment": "1990-08-13T01:00:00.000Z",
    "frame": "tropical",
    "house_system": "placidus",
    "planets": [
      {
        "id": "sun",
        "name": "Sun",
        "longitude": 140.0441,
        "sign": "leo",
        "sign_name": "Leo",
        "degree": 20.0441,
        "formatted": "20°02′ Leo",
        "speed": 0.96,
        "retrograde": false,
        "house": 12,
        "dignity": "domicile"
      },
      {
        "id": "moon",
        "name": "Moon",
        "longitude": 41.8257,
        "sign": "taurus",
        "sign_name": "Taurus",
        "degree": 11.8257,
        "formatted": "11°49′ Taurus",
        "speed": 14.1674,
        "retrograde": false,
        "house": 9,
        "dignity": "exaltation"
      },
      {
        "id": "mercury",
        "name": "Mercury",
        "longitude": 167.3675,
        "sign": "virgo",
        "sign_name": "Virgo",
        "degree": 17.3675,
        "formatted": "17°22′ Virgo",
        "speed": 0.891,
        "retrograde": false,
        "house": 1,
        "dignity": "domicile"
      },
      {
        "id": "venus",
        "name": "Venus",
        "longitude": 118.9285,
        "sign": "cancer",
        "sign_name": "Cancer",
        "degree": 28.9285,
        "formatted": "28°55′ Cancer",
        "speed": 1.2195,
        "retrograde": false,
        "house": 11,
        "dignity": null
      },
      {
        "id": "mars",
        "name": "Mars",
        "longitude": 49.9573,
        "sign": "taurus",
        "sign_name": "Taurus",
        "degree": 19.9573,
        "formatted": "19°57′ Taurus",
        "speed": 0.5855,
        "retrograde": false,
        "house": 9,
        "dignity": "detriment"
      },
      {
        "id": "jupiter",
        "name": "Jupiter",
        "longitude": 118.8702,
        "sign": "cancer",
        "sign_name": "Cancer",
        "degree": 28.8702,
        "formatted": "28°52′ Cancer",
        "speed": 0.2159,
        "retrograde": false,
        "house": 11,
        "dignity": "exaltation"
      },
      {
        "id": "saturn",
        "name": "Saturn",
        "longitude": 290.0026,
        "sign": "capricorn",
        "sign_name": "Capricorn",
        "degree": 20.0026,
        "formatted": "20°00′ Capricorn",
        "speed": -0.0587,
        "retrograde": true,
        "house": 5,
        "dignity": "domicile"
      },
      {
        "id": "uranus",
        "name": "Uranus",
        "longitude": 276.03,
        "sign": "capricorn",
        "sign_name": "Capricorn",
        "degree": 6.03,
        "formatted": "6°01′ Capricorn",
        "speed": -0.0252,
        "retrograde": true,
        "house": 5,
        "dignity": null
      },
      {
        "id": "neptune",
        "name": "Neptune",
        "longitude": 282.2409,
        "sign": "capricorn",
        "sign_name": "Capricorn",
        "degree": 12.2409,
        "formatted": "12°14′ Capricorn",
        "speed": -0.0199,
        "retrograde": true,
        "house": 5,
        "dignity": null
      },
      {
        "id": "pluto",
        "name": "Pluto",
        "longitude": 225.0615,
        "sign": "scorpio",
        "sign_name": "Scorpio",
        "degree": 15.0615,
        "formatted": "15°03′ Scorpio",
        "speed": 0.0102,
        "retrograde": false,
        "house": 3,
        "dignity": null
      },
      {
        "id": "north_node",
        "name": "North Node",
        "longitude": 307.2231,
        "sign": "aquarius",
        "sign_name": "Aquarius",
        "degree": 7.2231,
        "formatted": "7°13′ Aquarius",
        "speed": -0.0061,
        "retrograde": true,
        "house": 6,
        "dignity": null
      },
      {
        "id": "south_node",
        "name": "South Node",
        "longitude": 127.2231,
        "sign": "leo",
        "sign_name": "Leo",
        "degree": 7.2231,
        "formatted": "7°13′ Leo",
        "speed": -0.0061,
        "retrograde": true,
        "house": 12,
        "dignity": null
      }
    ],
    "angles": {
      "ascendant": {
        "longitude": 148.0037,
        "sign": "leo",
        "sign_name": "Leo",
        "degree": 28.0037,
        "formatted": "28°00′ Leo"
      },
      "midheaven": {
        "longitude": 55.7525,
        "sign": "taurus",
        "sign_name": "Taurus",
        "degree": 25.7525,
        "formatted": "25°45′ Taurus"
      },
      "descendant": {
        "longitude": 328.0037,
        "sign": "aquarius",
        "sign_name": "Aquarius",
        "degree": 28.0037,
        "formatted": "28°00′ Aquarius"
      },
      "imum_coeli": {
        "longitude": 235.7525,
        "sign": "scorpio",
        "sign_name": "Scorpio",
        "degree": 25.7525,
        "formatted": "25°45′ Scorpio"
      }
    },
    "houses": [
      {
        "house": 1,
        "longitude": 148.0037,
        "sign": "leo",
        "sign_name": "Leo",
        "degree": 28.0037,
        "formatted": "28°00′ Leo"
      },
      {
        "house": 2,
        "longitude": 173.8098,
        "sign": "virgo",
        "sign_name": "Virgo",
        "degree": 23.8098,
        "formatted": "23°48′ Virgo"
      },
      {
        "house": 3,
        "longitude": 203.4981,
        "sign": "libra",
        "sign_name": "Libra",
        "degree": 23.4981,
        "formatted": "23°29′ Libra"
      },
      {
        "house": 4,
        "longitude": 235.7525,
        "sign": "scorpio",
        "sign_name": "Scorpio",
        "degree": 25.7525,
        "formatted": "25°45′ Scorpio"
      },
      {
        "house": 5,
        "longitude": 268.1471,
        "sign": "sagittarius",
        "sign_name": "Sagittarius",
        "degree": 28.1471,
        "formatted": "28°08′ Sagittarius"
      },
      {
        "house": 6,
        "longitude": 299.0623,
        "sign": "capricorn",
        "sign_name": "Capricorn",
        "degree": 29.0623,
        "formatted": "29°03′ Capricorn"
      },
      {
        "house": 7,
        "longitude": 328.0037,
        "sign": "aquarius",
        "sign_name": "Aquarius",
        "degree": 28.0037,
        "formatted": "28°00′ Aquarius"
      },
      {
        "house": 8,
        "longitude": 353.8098,
        "sign": "pisces",
        "sign_name": "Pisces",
        "degree": 23.8098,
        "formatted": "23°48′ Pisces"
      },
      {
        "house": 9,
        "longitude": 23.4981,
        "sign": "aries",
        "sign_name": "Aries",
        "degree": 23.4981,
        "formatted": "23°29′ Aries"
      },
      {
        "house": 10,
        "longitude": 55.7525,
        "sign": "taurus",
        "sign_name": "Taurus",
        "degree": 25.7525,
        "formatted": "25°45′ Taurus"
      },
      {
        "house": 11,
        "longitude": 88.1471,
        "sign": "gemini",
        "sign_name": "Gemini",
        "degree": 28.1471,
        "formatted": "28°08′ Gemini"
      },
      {
        "house": 12,
        "longitude": 119.0623,
        "sign": "cancer",
        "sign_name": "Cancer",
        "degree": 29.0623,
        "formatted": "29°03′ Cancer"
      }
    ],
    "balance": {
      "elements": {
        "fire": 1,
        "earth": 6,
        "air": 0,
        "water": 3
      },
      "modalities": {
        "cardinal": 5,
        "fixed": 4,
        "mutable": 1
      }
    }
  },
  "meta": {
    "request_id": "req_example",
    "api_version": "v1",
    "engine_version": "2026.10.10",
    "mode": "live",
    "credits_charged": 2
  },
  "warnings": []
}
Try it

Leave empty to use the shared demo key (limited). Test keys only: never charged. Kept in this browser tab and sent through this site to the API. Create one

More in Western

Get a free API key Western product page