API reference › Vastu

Vastu Plot Analysis API

Findings on a plot: proportion, shape, slope, water, cut corners, extensions and roads, each classical or convention

POST/v1/vastu/plot

1 credit · Secret key (test or live) · getVastuPlot

Request body

  • plot object required
    • width_m number required

      Along the front, in metres.

      > 0 · ≤ 100000

    • depth_m number required

      From the front to the back, in metres.

      > 0 · ≤ 100000

    • facing_deg number required

      The compass bearing a person looks along when facing out through the front: 0 north, 90 east.

      ≥ 0 · ≤ 360

    No other fields are accepted.

  • lang string

    one of en, hi · default "en"

  • irregular_shape boolean
  • higher_side string

    Which part of the ground stands higher; none when it is level.

    one of none, north, northeast, east, southeast, south, southwest, west, northwest

  • water array of string

    Where water lies.

    no repeats

  • cuts array of string

    Corners cut away.

    no repeats

  • extensions array of string

    Corners that extend out.

    no repeats

  • road_sides array of string

    Sides with a road.

    no repeats

  • crossroads boolean

    Four roads meet close by.

No other fields are accepted.

Response

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

  • plot object required
    • width_m number required
    • depth_m number required
    • facing_deg number required
    • front string required

      The compass direction nearest to facing_deg: each side of the plot is named this way.

      one of north, east, south, west

    • skew_deg number required

      How far facing_deg is from front, in degrees.

    • east_west_m number required
    • north_south_m number required
    • area_m2 number required
  • length_to_breadth number required
  • findings array of object required
    • topic string required
    • subject string required
    • verdict string required

      one of favourable, neutral, unfavourable

    • text string required
    • basis string required

      one of classical, convention

    • source object or null required

      One of:

      1. object
        Fields
        • text string required
        • author string required
        • chapter integer required
        • verses string required
        • translation string required
      2. null
  • counts object required
    • favourable integer required
    • neutral integer required
    • unfavourable integer required
    • classical integer required
    • convention integer required
  • disclaimer string required

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

Example request

curl -X POST 'https://api.astrologics.in/v1/vastu/plot' \
  -H 'Authorization: Bearer al_test_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"plot":{"width_m":20,"depth_m":25,"facing_deg":90},"higher_side":"southwest","water":["northeast"],"cuts":["southeast"],"road_sides":["east"]}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/vastu/plot", {
  method: "POST",
  headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    "plot": {
      "width_m": 20,
      "depth_m": 25,
      "facing_deg": 90
    },
    "higher_side": "southwest",
    "water": [
      "northeast"
    ],
    "cuts": [
      "southeast"
    ],
    "road_sides": [
      "east"
    ]
  }),
});
console.log(JSON.stringify(await res.json(), null, 2));
Python
import json
import urllib.error
import urllib.request

body = {
    "plot": {
        "width_m": 20,
        "depth_m": 25,
        "facing_deg": 90,
    },
    "higher_side": "southwest",
    "water": [
        "northeast",
    ],
    "cuts": [
        "southeast",
    ],
    "road_sides": [
        "east",
    ],
}

req = urllib.request.Request(
    "https://api.astrologics.in/v1/vastu/plot",
    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/vastu/plot');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS => '{"plot":{"width_m":20,"depth_m":25,"facing_deg":90},"higher_side":"southwest","water":["northeast"],"cuts":["southeast"],"road_sides":["east"]}',
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;

Example response

200 OK · 2,527 characters
{
  "data": {
    "plot": {
      "width_m": 20,
      "depth_m": 25,
      "facing_deg": 90,
      "front": "east",
      "skew_deg": 0,
      "east_west_m": 25,
      "north_south_m": 20,
      "area_m2": 500
    },
    "length_to_breadth": 1.25,
    "findings": [
      {
        "topic": "proportion",
        "subject": "1.25",
        "verdict": "favourable",
        "text": "Length is one-quarter more than breadth, a proportion the text lists.",
        "basis": "classical",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "4, 13",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "topic": "level",
        "subject": "southwest",
        "verdict": "favourable",
        "text": "South-west higher is what most consultants ask for today.",
        "basis": "convention",
        "source": null
      },
      {
        "topic": "water",
        "subject": "northeast",
        "verdict": "favourable",
        "text": "Water in the north-east: the text promises more sons.",
        "basis": "classical",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "119",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "topic": "cut",
        "subject": "southeast",
        "verdict": "unfavourable",
        "text": "A cut south-east takes the right arm: the text warns of loss of wealth and harm to the women of the house.",
        "basis": "classical",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "52, 67",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "topic": "road",
        "subject": "east",
        "verdict": "favourable",
        "text": "A road on the east is generally preferred.",
        "basis": "convention",
        "source": null
      }
    ],
    "counts": {
      "favourable": 4,
      "neutral": 0,
      "unfavourable": 1,
      "classical": 3,
      "convention": 2
    },
    "disclaimer": "Traditional statements from the cited text, reported as the text gives them. They are not predictions or professional building advice."
  },
  "meta": {
    "request_id": "req_example",
    "api_version": "v1",
    "engine_version": "2026.10.10",
    "mode": "live",
    "credits_charged": 1
  },
  "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 Vastu

Get a free API key Vastu product page