Natal Chart
curl -X POST https://api.astroway.info/v1/chart \ -H "X-Api-Key: aw_live_..." \ -H "Content-Type: application/json" \ -d '{ "date": "1990-05-15", "time": "14:30:00", "timezoneOffset": 3, "latitude": 50.45, "longitude": 30.52 }'const res = await fetch('https://api.astroway.info/v1/chart', { method: 'POST', headers: { 'X-Api-Key': process.env.ASTROWAY_API_KEY, 'Content-Type': 'application/json', }, body: JSON.stringify({ "date": "1990-05-15", "time": "14:30:00", "timezoneOffset": 3, "latitude": 50.45, "longitude": 30.52 }),});const { ok, data, error } = await res.json();if (!ok) throw new Error(error.message);console.log(data);import os, requests
r = requests.post( 'https://api.astroway.info/v1/chart', headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY'], 'Content-Type': 'application/json'}, json={ 'date': "1990-05-15", 'time': "14:30:00", 'timezoneOffset': 3, 'latitude': 50.45, 'longitude': 30.52 },)result = r.json()if not result['ok']: raise RuntimeError(result['error']['message'])print(result['data'])<?phpuse GuzzleHttp\Client;
$client = new Client(['base_uri' => 'https://api.astroway.info/v1/']);$r = $client->post('chart', [ 'headers' => ['X-Api-Key' => getenv('ASTROWAY_API_KEY')], 'json' => [ 'date' => '1990-05-15', 'time' => '14:30:00', 'timezoneOffset' => 3, 'latitude' => 50.45, 'longitude' => 30.52, ],]);$result = json_decode($r->getBody(), true);if (!$result['ok']) throw new \RuntimeException($result['error']['message']);print_r($result['data']);Calculate a full natal chart: planets, house cusps, aspects, sect, and angular data for a given birth moment. When the birth time is unknown, send timeUnknown: true instead of time and the response carries planets and aspects with houses, angles and sect set to null, plus a timeUnknown block giving the range the Moon covers that day.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”Birth data where the clock time may be unknown. Either pass time (HH:mm:ss), or set timeUnknown: true and omit it. In the second case the response carries planets and aspects but no houses, angles or sect.
object
Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC.
Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.
Example
{ "date": "1990-05-15", "time": "14:30:00", "timezoneOffset": 3, "latitude": 50.45, "longitude": 30.52}Responses
Section titled “ Responses ”Successful calculation
object
object
object
object
object
object
object
object
object
object
object
object
Example
{ "ok": true, "data": { "input": { "name": "", "date": "1990-05-15", "time": "14:30:00", "timezoneOffset": 3, "latitude": 50.45, "longitude": 30.52, "houseSystem": "P", "city": "", "cosmogram": false }, "julianDay": 2448026.9791666665, "siderealTime": 3.029043551629416, "planets": [ { "id": 0, "name": "Sun", "longitude": 54.37601980167181, "latitude": -0.000020054940759470553, "distance": 1.0108955908980104, "speedLong": 0.9642248003676466, "speedLat": 0.00003805311526169511, "speedDist": 0.00022039347866615117, "isRetrograde": false, "declination": 18.867035147029778, "rightAscension": 52.00919841916813 } ], "houses": { "system": "P", "cusps": [ 169.9679500481848 ], "ascendant": 169.9679500481848, "mc": 77.07426201523143, "armc": 75.95565327444125, "vertex": 336.6271586045666, "equatorialAsc": 164.74875654391414, "coAscWK": 149.27468505332592, "coAscMunkasey": 168.73706704232438, "polarAsc": 329.2746850533259 }, "aspects": [ { "planet1": "Sun", "planet2": "Moon", "planet1Id": 0, "planet2Id": 1, "type": { "name": "Trine", "i18nKey": "aspect_trine", "angle": 120, "orb": 12, "symbol": "△", "isMajor": true, "color": "#3366cc" }, "exactAngle": 117.47133202515602, "orb": 2.5286679748439838, "isApplying": false } ], "houseAspects": [ { "planetName": "Sun", "planetId": 0, "houseIndex": 0, "cuspLongitude": 169.9679500481848, "type": { "name": "Trine", "i18nKey": "aspect_trine", "angle": 120, "orb": 12, "symbol": "△", "isMajor": true, "color": "#3366cc" }, "exactAngle": 115.59193024651299, "orb": 4.408069753487013, "isApplying": false } ], "parallelAspects": [ { "planet1": "Moon", "planet2": "Saturn", "planet1Id": 1, "planet2Id": 6, "type": "parallel", "exactDiff": 0.9889902750346735, "orb": 0.9889902750346735 } ], "antiscia": [ { "planetId": 0, "planetName": "Sun", "antiscion": 125.62398019832818, "contraAntiscion": 305.6239801983282 } ], "antisciaAspects": [], "chartSect": "diurnal", "meta": { "engineVersion": "2.10.03", "calculatedAt": "2026-08-23T22:03:43.067Z" } }}Validation error
Example
{ "ok": false, "error": { "code": "INVALID_INPUT", "message": "Validation failed: date: Date must be YYYY-MM-DD", "details": [ { "path": "date", "message": "Date must be YYYY-MM-DD" } ] }}Missing or invalid API key
Example
{ "ok": false, "error": { "code": "INVALID_API_KEY", "message": "Invalid API key" }}