Vastu

Vastu for a real plot: the mandala in metres, the door's pada, plot and room findings. Rules cite their source, Brihat Samhita chapter 53 for most; anything else is labelled convention.

The 32 padas with their door effects and verses, the 45 devatas, the room rules and the score's weights

GET/v1/vastu/reference

1 credit · Secret or publishable key · getVastuReference · Page for this operation

Parameters

NameInTypeNotes
langquerystring one of en, hi · default "en"

Response

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

  • directions array of object required
    • id string required
    • name string required
  • padas array of object required
    • id string required
    • name string required
    • also_known_as array of string required
    • pada integer required
    • side string required
    • ordinal_on_side integer required
    • verdict string required

      one of favourable, mixed, unfavourable

    • effect string required
    • 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
  • devatas_81 array of object required
    • id string required
    • name string required
    • also_known_as array of string required
    • class string required
    • ring string required
    • padas integer required
    • squares array of integer required
  • room_types array of object required
    • id string required
    • name string required
    • ideal_zones array of string required
    • acceptable_zones array of string required
    • avoid_zones array of 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
  • scoring object required
    • verdict_points object required
      Fields
      • ideal number required
      • acceptable number required
      • avoid number required
    • room_weight object required
      Fields
      • classical number required
      • convention number required
    • formula string required
  • text object required
    • title string required
    • author string required
    • chapter integer required
    • translation string required
    • public_domain boolean required
    • note string required
  • disclaimer string required

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

Example request

curl 'https://api.astrologics.in/v1/vastu/reference' \
  -H 'Authorization: Bearer al_test_YOUR_KEY'
Node.js
const res = await fetch("https://api.astrologics.in/v1/vastu/reference", {
  headers: { Authorization: "Bearer al_test_YOUR_KEY" },
});
console.log(JSON.stringify(await res.json(), null, 2));
Python
import json
import urllib.error
import urllib.request

req = urllib.request.Request(
    "https://api.astrologics.in/v1/vastu/reference",
    method="GET",
    headers={"Authorization": "Bearer al_test_YOUR_KEY"},
)
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/reference');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY'],
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;

Example response

200 OK · 33,251 characters
{
  "data": {
    "directions": [
      {
        "id": "north",
        "name": "north"
      },
      {
        "id": "northeast",
        "name": "north-east"
      },
      {
        "id": "east",
        "name": "east"
      },
      {
        "id": "southeast",
        "name": "south-east"
      },
      {
        "id": "south",
        "name": "south"
      },
      {
        "id": "southwest",
        "name": "south-west"
      },
      {
        "id": "west",
        "name": "west"
      },
      {
        "id": "northwest",
        "name": "north-west"
      },
      {
        "id": "center",
        "name": "centre"
      }
    ],
    "padas": [
      {
        "id": "agni",
        "name": "Agni",
        "also_known_as": [
          "Shikhi"
        ],
        "pada": 1,
        "side": "east",
        "ordinal_on_side": 1,
        "verdict": "unfavourable",
        "effect": "Injury from fire.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "43, 72",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "parjanya",
        "name": "Parjanya",
        "also_known_as": [],
        "pada": 2,
        "side": "east",
        "ordinal_on_side": 2,
        "verdict": "mixed",
        "effect": "Birth of daughters.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "43, 72",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "jayanta",
        "name": "Jayanta",
        "also_known_as": [],
        "pada": 3,
        "side": "east",
        "ordinal_on_side": 3,
        "verdict": "favourable",
        "effect": "Gain of great wealth.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "43, 72",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "indra",
        "name": "Indra",
        "also_known_as": [
          "Mahendra"
        ],
        "pada": 4,
        "side": "east",
        "ordinal_on_side": 4,
        "verdict": "favourable",
        "effect": "Friendship of the ruler.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "43, 72",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "surya",
        "name": "Surya",
        "also_known_as": [],
        "pada": 5,
        "side": "east",
        "ordinal_on_side": 5,
        "verdict": "unfavourable",
        "effect": "Increase of anger.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "43, 72",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "satya",
        "name": "Satya",
        "also_known_as": [],
        "pada": 6,
        "side": "east",
        "ordinal_on_side": 6,
        "verdict": "unfavourable",
        "effect": "The habit of lying.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "43, 72",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "bhrisha",
        "name": "Bhrisha",
        "also_known_as": [],
        "pada": 7,
        "side": "east",
        "ordinal_on_side": 7,
        "verdict": "unfavourable",
        "effect": "Cruelty.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "43, 72",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "antariksha",
        "name": "Antariksha",
        "also_known_as": [],
        "pada": 8,
        "side": "east",
        "ordinal_on_side": 8,
        "verdict": "unfavourable",
        "effect": "Theft.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "43, 72",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "vayu",
        "name": "Vayu",
        "also_known_as": [
          "Anila"
        ],
        "pada": 9,
        "side": "south",
        "ordinal_on_side": 1,
        "verdict": "unfavourable",
        "effect": "Few sons.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 73",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "pusha",
        "name": "Pusha",
        "also_known_as": [],
        "pada": 10,
        "side": "south",
        "ordinal_on_side": 2,
        "verdict": "unfavourable",
        "effect": "Servitude.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 73",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "vitatha",
        "name": "Vitatha",
        "also_known_as": [],
        "pada": 11,
        "side": "south",
        "ordinal_on_side": 3,
        "verdict": "unfavourable",
        "effect": "Loss of social standing.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 73",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "brihatkshata",
        "name": "Brihatkshata",
        "also_known_as": [
          "Grihakshata"
        ],
        "pada": 12,
        "side": "south",
        "ordinal_on_side": 4,
        "verdict": "mixed",
        "effect": "Excess in eating and drinking, with more sons.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 73",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "yama",
        "name": "Yama",
        "also_known_as": [],
        "pada": 13,
        "side": "south",
        "ordinal_on_side": 5,
        "verdict": "unfavourable",
        "effect": "Anger.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 73",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "gandharva",
        "name": "Gandharva",
        "also_known_as": [],
        "pada": 14,
        "side": "south",
        "ordinal_on_side": 6,
        "verdict": "unfavourable",
        "effect": "Ingratitude.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 73",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "bhringaraja",
        "name": "Bhringaraja",
        "also_known_as": [],
        "pada": 15,
        "side": "south",
        "ordinal_on_side": 7,
        "verdict": "unfavourable",
        "effect": "Poverty.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 73",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "mriga",
        "name": "Mriga",
        "also_known_as": [],
        "pada": 16,
        "side": "south",
        "ordinal_on_side": 8,
        "verdict": "unfavourable",
        "effect": "Loss of sons and of valour.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 73",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "pitri",
        "name": "Pitri",
        "also_known_as": [],
        "pada": 17,
        "side": "west",
        "ordinal_on_side": 1,
        "verdict": "unfavourable",
        "effect": "Suffering of sons.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 74",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "dauvarika",
        "name": "Dauvarika",
        "also_known_as": [],
        "pada": 18,
        "side": "west",
        "ordinal_on_side": 2,
        "verdict": "unfavourable",
        "effect": "More enemies.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 74",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "sugriva",
        "name": "Sugriva",
        "also_known_as": [],
        "pada": 19,
        "side": "west",
        "ordinal_on_side": 3,
        "verdict": "unfavourable",
        "effect": "Lack of wealth and sons.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 74",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "kusumadanta",
        "name": "Kusumadanta",
        "also_known_as": [
          "Pushpadanta"
        ],
        "pada": 20,
        "side": "west",
        "ordinal_on_side": 4,
        "verdict": "favourable",
        "effect": "More sons, wealth and strength.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 74",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "varuna",
        "name": "Varuna",
        "also_known_as": [],
        "pada": 21,
        "side": "west",
        "ordinal_on_side": 5,
        "verdict": "favourable",
        "effect": "Opulence.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 74",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "asura",
        "name": "Asura",
        "also_known_as": [],
        "pada": 22,
        "side": "west",
        "ordinal_on_side": 6,
        "verdict": "unfavourable",
        "effect": "Fear of rulers.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 74",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "shosha",
        "name": "Shosha",
        "also_known_as": [],
        "pada": 23,
        "side": "west",
        "ordinal_on_side": 7,
        "verdict": "unfavourable",
        "effect": "Loss of wealth.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 74",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "papayakshma",
        "name": "Papayakshma",
        "also_known_as": [],
        "pada": 24,
        "side": "west",
        "ordinal_on_side": 8,
        "verdict": "unfavourable",
        "effect": "Disease.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 74",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "roga",
        "name": "Roga",
        "also_known_as": [],
        "pada": 25,
        "side": "north",
        "ordinal_on_side": 1,
        "verdict": "unfavourable",
        "effect": "More cruelty, and more kinsmen.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 75",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "ahi",
        "name": "Ahi",
        "also_known_as": [
          "Naga"
        ],
        "pada": 26,
        "side": "north",
        "ordinal_on_side": 2,
        "verdict": "unfavourable",
        "effect": "More enemies.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 75",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "mukhya",
        "name": "Mukhya",
        "also_known_as": [],
        "pada": 27,
        "side": "north",
        "ordinal_on_side": 3,
        "verdict": "favourable",
        "effect": "Gain of wealth and sons.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 75",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "bhallata",
        "name": "Bhallata",
        "also_known_as": [],
        "pada": 28,
        "side": "north",
        "ordinal_on_side": 4,
        "verdict": "favourable",
        "effect": "Possession of all virtues.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 75",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "soma",
        "name": "Soma",
        "also_known_as": [],
        "pada": 29,
        "side": "north",
        "ordinal_on_side": 5,
        "verdict": "favourable",
        "effect": "Gain of sons and wealth.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 75",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "bhujaga",
        "name": "Bhujaga",
        "also_known_as": [],
        "pada": 30,
        "side": "north",
        "ordinal_on_side": 6,
        "verdict": "unfavourable",
        "effect": "Conflict with sons.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 75",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "aditi",
        "name": "Aditi",
        "also_known_as": [],
        "pada": 31,
        "side": "north",
        "ordinal_on_side": 7,
        "verdict": "unfavourable",
        "effect": "Harm to the women of the house.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 75",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "diti",
        "name": "Diti",
        "also_known_as": [],
        "pada": 32,
        "side": "north",
        "ordinal_on_side": 8,
        "verdict": "unfavourable",
        "effect": "Loss of wealth.",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "44-45, 75",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      }
    ],
    "devatas_81": [
      {
        "id": "agni",
        "name": "Agni",
        "also_known_as": [
          "Shikhi"
        ],
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          1
        ]
      },
      {
        "id": "parjanya",
        "name": "Parjanya",
        "also_known_as": [],
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          2
        ]
      },
      {
        "id": "jayanta",
        "name": "Jayanta",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          3,
          12
        ]
      },
      {
        "id": "indra",
        "name": "Indra",
        "also_known_as": [
          "Mahendra"
        ],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          4,
          13
        ]
      },
      {
        "id": "surya",
        "name": "Surya",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          5,
          14
        ]
      },
      {
        "id": "satya",
        "name": "Satya",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          6,
          15
        ]
      },
      {
        "id": "bhrisha",
        "name": "Bhrisha",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          7,
          16
        ]
      },
      {
        "id": "antariksha",
        "name": "Antariksha",
        "also_known_as": [],
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          8
        ]
      },
      {
        "id": "vayu",
        "name": "Vayu",
        "also_known_as": [
          "Anila"
        ],
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          9
        ]
      },
      {
        "id": "pusha",
        "name": "Pusha",
        "also_known_as": [],
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          18
        ]
      },
      {
        "id": "vitatha",
        "name": "Vitatha",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          26,
          27
        ]
      },
      {
        "id": "brihatkshata",
        "name": "Brihatkshata",
        "also_known_as": [
          "Grihakshata"
        ],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          35,
          36
        ]
      },
      {
        "id": "yama",
        "name": "Yama",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          44,
          45
        ]
      },
      {
        "id": "gandharva",
        "name": "Gandharva",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          53,
          54
        ]
      },
      {
        "id": "bhringaraja",
        "name": "Bhringaraja",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          62,
          63
        ]
      },
      {
        "id": "mriga",
        "name": "Mriga",
        "also_known_as": [],
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          72
        ]
      },
      {
        "id": "pitri",
        "name": "Pitri",
        "also_known_as": [],
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          81
        ]
      },
      {
        "id": "dauvarika",
        "name": "Dauvarika",
        "also_known_as": [],
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          80
        ]
      },
      {
        "id": "sugriva",
        "name": "Sugriva",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          70,
          79
        ]
      },
      {
        "id": "kusumadanta",
        "name": "Kusumadanta",
        "also_known_as": [
          "Pushpadanta"
        ],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          69,
          78
        ]
      },
      {
        "id": "varuna",
        "name": "Varuna",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          68,
          77
        ]
      },
      {
        "id": "asura",
        "name": "Asura",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          67,
          76
        ]
      },
      {
        "id": "shosha",
        "name": "Shosha",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          66,
          75
        ]
      },
      {
        "id": "papayakshma",
        "name": "Papayakshma",
        "also_known_as": [],
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          74
        ]
      },
      {
        "id": "roga",
        "name": "Roga",
        "also_known_as": [],
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          73
        ]
      },
      {
        "id": "ahi",
        "name": "Ahi",
        "also_known_as": [
          "Naga"
        ],
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          64
        ]
      },
      {
        "id": "mukhya",
        "name": "Mukhya",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          55,
          56
        ]
      },
      {
        "id": "bhallata",
        "name": "Bhallata",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          46,
          47
        ]
      },
      {
        "id": "soma",
        "name": "Soma",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          37,
          38
        ]
      },
      {
        "id": "bhujaga",
        "name": "Bhujaga",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          28,
          29
        ]
      },
      {
        "id": "aditi",
        "name": "Aditi",
        "also_known_as": [],
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          19,
          20
        ]
      },
      {
        "id": "diti",
        "name": "Diti",
        "also_known_as": [],
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          10
        ]
      },
      {
        "id": "brahma",
        "name": "Brahma",
        "also_known_as": [],
        "class": "brahma",
        "ring": "inner",
        "padas": 9,
        "squares": [
          31,
          32,
          33,
          40,
          41,
          42,
          49,
          50,
          51
        ]
      },
      {
        "id": "aryaman",
        "name": "Aryaman",
        "also_known_as": [],
        "class": "tripada",
        "ring": "inner",
        "padas": 3,
        "squares": [
          22,
          23,
          24
        ]
      },
      {
        "id": "vivasvan",
        "name": "Vivasvan",
        "also_known_as": [],
        "class": "tripada",
        "ring": "inner",
        "padas": 3,
        "squares": [
          34,
          43,
          52
        ]
      },
      {
        "id": "mitra",
        "name": "Mitra",
        "also_known_as": [],
        "class": "tripada",
        "ring": "inner",
        "padas": 3,
        "squares": [
          58,
          59,
          60
        ]
      },
      {
        "id": "prithvidhara",
        "name": "Prithvidhara",
        "also_known_as": [],
        "class": "tripada",
        "ring": "inner",
        "padas": 3,
        "squares": [
          30,
          39,
          48
        ]
      },
      {
        "id": "apa",
        "name": "Apa",
        "also_known_as": [],
        "class": "padika",
        "ring": "inner",
        "padas": 1,
        "squares": [
          11
        ]
      },
      {
        "id": "apavatsa",
        "name": "Apavatsa",
        "also_known_as": [],
        "class": "padika",
        "ring": "inner",
        "padas": 1,
        "squares": [
          21
        ]
      },
      {
        "id": "savitra",
        "name": "Savitra",
        "also_known_as": [],
        "class": "padika",
        "ring": "inner",
        "padas": 1,
        "squares": [
          17
        ]
      },
      {
        "id": "savita",
        "name": "Savita",
        "also_known_as": [],
        "class": "padika",
        "ring": "inner",
        "padas": 1,
        "squares": [
          25
        ]
      },
      {
        "id": "jaya",
        "name": "Jaya",
        "also_known_as": [],
        "class": "padika",
        "ring": "inner",
        "padas": 1,
        "squares": [
          71
        ]
      },
      {
        "id": "indra_inner",
        "name": "Indra",
        "also_known_as": [],
        "class": "padika",
        "ring": "inner",
        "padas": 1,
        "squares": [
          61
        ]
      },
      {
        "id": "rudra",
        "name": "Rudra",
        "also_known_as": [],
        "class": "padika",
        "ring": "inner",
        "padas": 1,
        "squares": [
          65
        ]
      },
      {
        "id": "rajayakshma",
        "name": "Rajayakshma",
        "also_known_as": [],
        "class": "padika",
        "ring": "inner",
        "padas": 1,
        "squares": [
          57
        ]
      }
    ],
    "room_types": [
      {
        "id": "puja",
        "name": "Prayer room",
        "ideal_zones": [
          "northeast"
        ],
        "acceptable_zones": [
          "north",
          "east"
        ],
        "avoid_zones": [
          "south",
          "southwest",
          "southeast",
          "northwest",
          "west",
          "center"
        ],
        "basis": "classical",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "118",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "kitchen",
        "name": "Kitchen",
        "ideal_zones": [
          "southeast"
        ],
        "acceptable_zones": [
          "northwest"
        ],
        "avoid_zones": [
          "northeast",
          "center",
          "north",
          "southwest"
        ],
        "basis": "classical",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "118",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "utensil_store",
        "name": "Store for household goods",
        "ideal_zones": [
          "southwest"
        ],
        "acceptable_zones": [
          "south",
          "west"
        ],
        "avoid_zones": [
          "northeast",
          "center"
        ],
        "basis": "classical",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "118",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "treasury",
        "name": "Treasury or safe room",
        "ideal_zones": [
          "northwest"
        ],
        "acceptable_zones": [
          "north"
        ],
        "avoid_zones": [
          "northeast",
          "center",
          "southeast"
        ],
        "basis": "classical",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "118",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "granary",
        "name": "Granary",
        "ideal_zones": [
          "northwest"
        ],
        "acceptable_zones": [
          "west",
          "southwest"
        ],
        "avoid_zones": [
          "northeast",
          "center"
        ],
        "basis": "classical",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "118",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      },
      {
        "id": "master_bedroom",
        "name": "Main bedroom",
        "ideal_zones": [
          "southwest"
        ],
        "acceptable_zones": [
          "south",
          "west"
        ],
        "avoid_zones": [
          "northeast",
          "southeast",
          "center"
        ],
        "basis": "convention",
        "source": null
      },
      {
        "id": "bedroom",
        "name": "Bedroom",
        "ideal_zones": [
          "west",
          "south"
        ],
        "acceptable_zones": [
          "northwest",
          "southwest",
          "north",
          "east"
        ],
        "avoid_zones": [
          "northeast",
          "center"
        ],
        "basis": "convention",
        "source": null
      },
      {
        "id": "living",
        "name": "Living room",
        "ideal_zones": [
          "north",
          "east",
          "northeast"
        ],
        "acceptable_zones": [
          "northwest",
          "west"
        ],
        "avoid_zones": [
          "southwest"
        ],
        "basis": "convention",
        "source": null
      },
      {
        "id": "dining",
        "name": "Dining room",
        "ideal_zones": [
          "west"
        ],
        "acceptable_zones": [
          "east",
          "south",
          "north"
        ],
        "avoid_zones": [
          "northeast",
          "center"
        ],
        "basis": "convention",
        "source": null
      },
      {
        "id": "study",
        "name": "Study",
        "ideal_zones": [
          "west",
          "north",
          "east"
        ],
        "acceptable_zones": [
          "northwest",
          "northeast"
        ],
        "avoid_zones": [
          "southeast",
          "center"
        ],
        "basis": "convention",
        "source": null
      },
      {
        "id": "toilet",
        "name": "Toilet or bathroom",
        "ideal_zones": [
          "northwest",
          "west"
        ],
        "acceptable_zones": [
          "south",
          "southeast"
        ],
        "avoid_zones": [
          "northeast",
          "center",
          "southwest"
        ],
        "basis": "convention",
        "source": null
      },
      {
        "id": "staircase",
        "name": "Staircase",
        "ideal_zones": [
          "south",
          "west",
          "southwest"
        ],
        "acceptable_zones": [
          "northwest",
          "southeast"
        ],
        "avoid_zones": [
          "northeast",
          "center"
        ],
        "basis": "convention",
        "source": null
      },
      {
        "id": "garage",
        "name": "Garage or parking",
        "ideal_zones": [
          "northwest",
          "southeast"
        ],
        "acceptable_zones": [
          "north",
          "east",
          "west",
          "south"
        ],
        "avoid_zones": [
          "southwest",
          "center"
        ],
        "basis": "convention",
        "source": null
      },
      {
        "id": "overhead_tank",
        "name": "Overhead water tank",
        "ideal_zones": [
          "southwest",
          "west"
        ],
        "acceptable_zones": [
          "south"
        ],
        "avoid_zones": [
          "northeast",
          "center"
        ],
        "basis": "convention",
        "source": null
      },
      {
        "id": "septic_tank",
        "name": "Septic tank",
        "ideal_zones": [
          "northwest"
        ],
        "acceptable_zones": [
          "west"
        ],
        "avoid_zones": [
          "northeast",
          "center",
          "southwest",
          "southeast"
        ],
        "basis": "convention",
        "source": null
      }
    ],
    "scoring": {
      "verdict_points": {
        "ideal": 1,
        "acceptable": 0.5,
        "avoid": 0
      },
      "room_weight": {
        "classical": 2,
        "convention": 1
      },
      "formula": "100 × sum(points × weight) / sum(weight), rounded"
    },
    "text": {
      "title": "Brihat Samhita",
      "author": "Varahamihira",
      "chapter": 53,
      "translation": "N. Chidambaram Iyer, 1884",
      "public_domain": true,
      "note": "Verse numbers follow this translation and can differ in other editions."
    },
    "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

The Vastu Purusha Mandala over a real plot: every square in metres, the brahmasthan, the vamsa lines and the atimarma points

POST/v1/vastu/mandala

2 credits · Secret key (test or live) · getVastuMandala · Page for this operation

The grid sits on the plot's own sides; each side is named by the nearest compass direction. On grid 64 the text names no inner god square by square, so those squares give their class only.

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.

  • grid integer

    The mandala: 81 squares (verse 42) or 64 (verse 55).

    one of 81, 64 · default 81

  • lang string

    one of en, hi · default "en"

No other fields are accepted.

Response

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

  • grid integer required

    one of 81, 64

  • 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
  • square object required
    • east_west_m number required
    • north_south_m number required
    • area_m2 number required
  • devatas array of object required
    • id string required
    • name string required
    • class string required
    • ring string required

      one of outer, inner

    • padas integer required
    • squares array of integer required
    • side string or null required

      One of:

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

      One of:

      1. integer
      2. null
  • squares array of object required
    • n integer required
    • devatas array of string required
    • class string required
    • from_left_m number required

      From the left corner, for someone outside looking at the front.

    • to_left_m number required
    • from_front_m number required
    • to_front_m number required
  • brahmasthan object required
    • squares array of integer required
    • from_left_m number required

      From the left corner, for someone outside looking at the front.

    • to_left_m number required
    • from_front_m number required
    • to_front_m number required
    • area_m2 number required
    • 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
  • vamsas array of object required
    • from object required
      Fields
      • devata string required
      • square integer required
      • from_left_m number required
      • from_front_m number required
    • to object required
      Fields
      • devata string required
      • square integer required
      • from_left_m number required
      • from_front_m number required
  • atimarma array of object required
    • square integer required
    • from_left_m number required
    • from_front_m number required
  • marma_area_m2 number required

    Verse 64: one-eighth of a square. The text says not to build pillars on these points.

  • sources object required
    • layout 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
    • vamsas 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
    • atimarma 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
  • notes array of string required

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

Example request

curl -X POST 'https://api.astrologics.in/v1/vastu/mandala' \
  -H 'Authorization: Bearer al_test_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"plot":{"width_m":18,"depth_m":27,"facing_deg":90}}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/vastu/mandala", {
  method: "POST",
  headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    "plot": {
      "width_m": 18,
      "depth_m": 27,
      "facing_deg": 90
    }
  }),
});
console.log(JSON.stringify(await res.json(), null, 2));
Python
import json
import urllib.error
import urllib.request

body = {
    "plot": {
        "width_m": 18,
        "depth_m": 27,
        "facing_deg": 90,
    },
}

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

Example response

200 OK · 32,703 characters
{
  "data": {
    "grid": 81,
    "plot": {
      "width_m": 18,
      "depth_m": 27,
      "facing_deg": 90,
      "front": "east",
      "skew_deg": 0,
      "east_west_m": 27,
      "north_south_m": 18,
      "area_m2": 486
    },
    "square": {
      "east_west_m": 3,
      "north_south_m": 2,
      "area_m2": 6
    },
    "devatas": [
      {
        "id": "agni",
        "name": "Agni",
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          1
        ],
        "side": "east",
        "pada": 1
      },
      {
        "id": "parjanya",
        "name": "Parjanya",
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          2
        ],
        "side": "east",
        "pada": 2
      },
      {
        "id": "jayanta",
        "name": "Jayanta",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          3,
          12
        ],
        "side": "east",
        "pada": 3
      },
      {
        "id": "indra",
        "name": "Indra",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          4,
          13
        ],
        "side": "east",
        "pada": 4
      },
      {
        "id": "surya",
        "name": "Surya",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          5,
          14
        ],
        "side": "east",
        "pada": 5
      },
      {
        "id": "satya",
        "name": "Satya",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          6,
          15
        ],
        "side": "east",
        "pada": 6
      },
      {
        "id": "bhrisha",
        "name": "Bhrisha",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          7,
          16
        ],
        "side": "east",
        "pada": 7
      },
      {
        "id": "antariksha",
        "name": "Antariksha",
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          8
        ],
        "side": "east",
        "pada": 8
      },
      {
        "id": "vayu",
        "name": "Vayu",
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          9
        ],
        "side": "south",
        "pada": 9
      },
      {
        "id": "pusha",
        "name": "Pusha",
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          18
        ],
        "side": "south",
        "pada": 10
      },
      {
        "id": "vitatha",
        "name": "Vitatha",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          26,
          27
        ],
        "side": "south",
        "pada": 11
      },
      {
        "id": "brihatkshata",
        "name": "Brihatkshata",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          35,
          36
        ],
        "side": "south",
        "pada": 12
      },
      {
        "id": "yama",
        "name": "Yama",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          44,
          45
        ],
        "side": "south",
        "pada": 13
      },
      {
        "id": "gandharva",
        "name": "Gandharva",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          53,
          54
        ],
        "side": "south",
        "pada": 14
      },
      {
        "id": "bhringaraja",
        "name": "Bhringaraja",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          62,
          63
        ],
        "side": "south",
        "pada": 15
      },
      {
        "id": "mriga",
        "name": "Mriga",
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          72
        ],
        "side": "south",
        "pada": 16
      },
      {
        "id": "pitri",
        "name": "Pitri",
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          81
        ],
        "side": "west",
        "pada": 17
      },
      {
        "id": "dauvarika",
        "name": "Dauvarika",
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          80
        ],
        "side": "west",
        "pada": 18
      },
      {
        "id": "sugriva",
        "name": "Sugriva",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          70,
          79
        ],
        "side": "west",
        "pada": 19
      },
      {
        "id": "kusumadanta",
        "name": "Kusumadanta",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          69,
          78
        ],
        "side": "west",
        "pada": 20
      },
      {
        "id": "varuna",
        "name": "Varuna",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          68,
          77
        ],
        "side": "west",
        "pada": 21
      },
      {
        "id": "asura",
        "name": "Asura",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          67,
          76
        ],
        "side": "west",
        "pada": 22
      },
      {
        "id": "shosha",
        "name": "Shosha",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          66,
          75
        ],
        "side": "west",
        "pada": 23
      },
      {
        "id": "papayakshma",
        "name": "Papayakshma",
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          74
        ],
        "side": "west",
        "pada": 24
      },
      {
        "id": "roga",
        "name": "Roga",
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          73
        ],
        "side": "north",
        "pada": 25
      },
      {
        "id": "ahi",
        "name": "Ahi",
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          64
        ],
        "side": "north",
        "pada": 26
      },
      {
        "id": "mukhya",
        "name": "Mukhya",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          55,
          56
        ],
        "side": "north",
        "pada": 27
      },
      {
        "id": "bhallata",
        "name": "Bhallata",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          46,
          47
        ],
        "side": "north",
        "pada": 28
      },
      {
        "id": "soma",
        "name": "Soma",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          37,
          38
        ],
        "side": "north",
        "pada": 29
      },
      {
        "id": "bhujaga",
        "name": "Bhujaga",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          28,
          29
        ],
        "side": "north",
        "pada": 30
      },
      {
        "id": "aditi",
        "name": "Aditi",
        "class": "dvipada",
        "ring": "outer",
        "padas": 2,
        "squares": [
          19,
          20
        ],
        "side": "north",
        "pada": 31
      },
      {
        "id": "diti",
        "name": "Diti",
        "class": "padika",
        "ring": "outer",
        "padas": 1,
        "squares": [
          10
        ],
        "side": "north",
        "pada": 32
      },
      {
        "id": "brahma",
        "name": "Brahma",
        "class": "brahma",
        "ring": "inner",
        "padas": 9,
        "squares": [
          31,
          32,
          33,
          40,
          41,
          42,
          49,
          50,
          51
        ],
        "side": null,
        "pada": null
      },
      {
        "id": "aryaman",
        "name": "Aryaman",
        "class": "tripada",
        "ring": "inner",
        "padas": 3,
        "squares": [
          22,
          23,
          24
        ],
        "side": null,
        "pada": null
      },
      {
        "id": "vivasvan",
        "name": "Vivasvan",
        "class": "tripada",
        "ring": "inner",
        "padas": 3,
        "squares": [
          34,
          43,
          52
        ],
        "side": null,
        "pada": null
      },
      {
        "id": "mitra",
        "name": "Mitra",
        "class": "tripada",
        "ring": "inner",
        "padas": 3,
        "squares": [
          58,
          59,
          60
        ],
        "side": null,
        "pada": null
      },
      {
        "id": "prithvidhara",
        "name": "Prithvidhara",
        "class": "tripada",
        "ring": "inner",
        "padas": 3,
        "squares": [
          30,
          39,
          48
        ],
        "side": null,
        "pada": null
      },
      {
        "id": "apa",
        "name": "Apa",
        "class": "padika",
        "ring": "inner",
        "padas": 1,
        "squares": [
          11
        ],
        "side": null,
        "pada": null
      },
      {
        "id": "apavatsa",
        "name": "Apavatsa",
        "class": "padika",
        "ring": "inner",
        "padas": 1,
        "squares": [
          21
        ],
        "side": null,
        "pada": null
      },
      {
        "id": "savitra",
        "name": "Savitra",
        "class": "padika",
        "ring": "inner",
        "padas": 1,
        "squares": [
          17
        ],
        "side": null,
        "pada": null
      },
      {
        "id": "savita",
        "name": "Savita",
        "class": "padika",
        "ring": "inner",
        "padas": 1,
        "squares": [
          25
        ],
        "side": null,
        "pada": null
      },
      {
        "id": "jaya",
        "name": "Jaya",
        "class": "padika",
        "ring": "inner",
        "padas": 1,
        "squares": [
          71
        ],
        "side": null,
        "pada": null
      },
      {
        "id": "indra_inner",
        "name": "Indra",
        "class": "padika",
        "ring": "inner",
        "padas": 1,
        "squares": [
          61
        ],
        "side": null,
        "pada": null
      },
      {
        "id": "rudra",
        "name": "Rudra",
        "class": "padika",
        "ring": "inner",
        "padas": 1,
        "squares": [
          65
        ],
        "side": null,
        "pada": null
      },
      {
        "id": "rajayakshma",
        "name": "Rajayakshma",
        "class": "padika",
        "ring": "inner",
        "padas": 1,
        "squares": [
          57
        ],
        "side": null,
        "pada": null
      }
    ],
    "squares": [
      {
        "n": 1,
        "devatas": [
          "agni"
        ],
        "class": "padika",
        "from_left_m": 16,
        "to_left_m": 18,
        "from_front_m": 0,
        "to_front_m": 3
      },
      {
        "n": 2,
        "devatas": [
          "parjanya"
        ],
        "class": "padika",
        "from_left_m": 14,
        "to_left_m": 16,
        "from_front_m": 0,
        "to_front_m": 3
      },
      {
        "n": 3,
        "devatas": [
          "jayanta"
        ],
        "class": "dvipada",
        "from_left_m": 12,
        "to_left_m": 14,
        "from_front_m": 0,
        "to_front_m": 3
      },
      {
        "n": 4,
        "devatas": [
          "indra"
        ],
        "class": "dvipada",
        "from_left_m": 10,
        "to_left_m": 12,
        "from_front_m": 0,
        "to_front_m": 3
      },
      {
        "n": 5,
        "devatas": [
          "surya"
        ],
        "class": "dvipada",
        "from_left_m": 8,
        "to_left_m": 10,
        "from_front_m": 0,
        "to_front_m": 3
      },
      {
        "n": 6,
        "devatas": [
          "satya"
        ],
        "class": "dvipada",
        "from_left_m": 6,
        "to_left_m": 8,
        "from_front_m": 0,
        "to_front_m": 3
      },
      {
        "n": 7,
        "devatas": [
          "bhrisha"
        ],
        "class": "dvipada",
        "from_left_m": 4,
        "to_left_m": 6,
        "from_front_m": 0,
        "to_front_m": 3
      },
      {
        "n": 8,
        "devatas": [
          "antariksha"
        ],
        "class": "padika",
        "from_left_m": 2,
        "to_left_m": 4,
        "from_front_m": 0,
        "to_front_m": 3
      },
      {
        "n": 9,
        "devatas": [
          "vayu"
        ],
        "class": "padika",
        "from_left_m": 0,
        "to_left_m": 2,
        "from_front_m": 0,
        "to_front_m": 3
      },
      {
        "n": 10,
        "devatas": [
          "diti"
        ],
        "class": "padika",
        "from_left_m": 16,
        "to_left_m": 18,
        "from_front_m": 3,
        "to_front_m": 6
      },
      {
        "n": 11,
        "devatas": [
          "apa"
        ],
        "class": "padika",
        "from_left_m": 14,
        "to_left_m": 16,
        "from_front_m": 3,
        "to_front_m": 6
      },
      {
        "n": 12,
        "devatas": [
          "jayanta"
        ],
        "class": "dvipada",
        "from_left_m": 12,
        "to_left_m": 14,
        "from_front_m": 3,
        "to_front_m": 6
      },
      {
        "n": 13,
        "devatas": [
          "indra"
        ],
        "class": "dvipada",
        "from_left_m": 10,
        "to_left_m": 12,
        "from_front_m": 3,
        "to_front_m": 6
      },
      {
        "n": 14,
        "devatas": [
          "surya"
        ],
        "class": "dvipada",
        "from_left_m": 8,
        "to_left_m": 10,
        "from_front_m": 3,
        "to_front_m": 6
      },
      {
        "n": 15,
        "devatas": [
          "satya"
        ],
        "class": "dvipada",
        "from_left_m": 6,
        "to_left_m": 8,
        "from_front_m": 3,
        "to_front_m": 6
      },
      {
        "n": 16,
        "devatas": [
          "bhrisha"
        ],
        "class": "dvipada",
        "from_left_m": 4,
        "to_left_m": 6,
        "from_front_m": 3,
        "to_front_m": 6
      },
      {
        "n": 17,
        "devatas": [
          "savitra"
        ],
        "class": "padika",
        "from_left_m": 2,
        "to_left_m": 4,
        "from_front_m": 3,
        "to_front_m": 6
      },
      {
        "n": 18,
        "devatas": [
          "pusha"
        ],
        "class": "padika",
        "from_left_m": 0,
        "to_left_m": 2,
        "from_front_m": 3,
        "to_front_m": 6
      },
      {
        "n": 19,
        "devatas": [
          "aditi"
        ],
        "class": "dvipada",
        "from_left_m": 16,
        "to_left_m": 18,
        "from_front_m": 6,
        "to_front_m": 9
      },
      {
        "n": 20,
        "devatas": [
          "aditi"
        ],
        "class": "dvipada",
        "from_left_m": 14,
        "to_left_m": 16,
        "from_front_m": 6,
        "to_front_m": 9
      },
      {
        "n": 21,
        "devatas": [
          "apavatsa"
        ],
        "class": "padika",
        "from_left_m": 12,
        "to_left_m": 14,
        "from_front_m": 6,
        "to_front_m": 9
      },
      {
        "n": 22,
        "devatas": [
          "aryaman"
        ],
        "class": "tripada",
        "from_left_m": 10,
        "to_left_m": 12,
        "from_front_m": 6,
        "to_front_m": 9
      },
      {
        "n": 23,
        "devatas": [
          "aryaman"
        ],
        "class": "tripada",
        "from_left_m": 8,
        "to_left_m": 10,
        "from_front_m": 6,
        "to_front_m": 9
      },
      {
        "n": 24,
        "devatas": [
          "aryaman"
        ],
        "class": "tripada",
        "from_left_m": 6,
        "to_left_m": 8,
        "from_front_m": 6,
        "to_front_m": 9
      },
      {
        "n": 25,
        "devatas": [
          "savita"
        ],
        "class": "padika",
        "from_left_m": 4,
        "to_left_m": 6,
        "from_front_m": 6,
        "to_front_m": 9
      },
      {
        "n": 26,
        "devatas": [
          "vitatha"
        ],
        "class": "dvipada",
        "from_left_m": 2,
        "to_left_m": 4,
        "from_front_m": 6,
        "to_front_m": 9
      },
      {
        "n": 27,
        "devatas": [
          "vitatha"
        ],
        "class": "dvipada",
        "from_left_m": 0,
        "to_left_m": 2,
        "from_front_m": 6,
        "to_front_m": 9
      },
      {
        "n": 28,
        "devatas": [
          "bhujaga"
        ],
        "class": "dvipada",
        "from_left_m": 16,
        "to_left_m": 18,
        "from_front_m": 9,
        "to_front_m": 12
      },
      {
        "n": 29,
        "devatas": [
          "bhujaga"
        ],
        "class": "dvipada",
        "from_left_m": 14,
        "to_left_m": 16,
        "from_front_m": 9,
        "to_front_m": 12
      },
      {
        "n": 30,
        "devatas": [
          "prithvidhara"
        ],
        "class": "tripada",
        "from_left_m": 12,
        "to_left_m": 14,
        "from_front_m": 9,
        "to_front_m": 12
      },
      {
        "n": 31,
        "devatas": [
          "brahma"
        ],
        "class": "brahma",
        "from_left_m": 10,
        "to_left_m": 12,
        "from_front_m": 9,
        "to_front_m": 12
      },
      {
        "n": 32,
        "devatas": [
          "brahma"
        ],
        "class": "brahma",
        "from_left_m": 8,
        "to_left_m": 10,
        "from_front_m": 9,
        "to_front_m": 12
      },
      {
        "n": 33,
        "devatas": [
          "brahma"
        ],
        "class": "brahma",
        "from_left_m": 6,
        "to_left_m": 8,
        "from_front_m": 9,
        "to_front_m": 12
      },
      {
        "n": 34,
        "devatas": [
          "vivasvan"
        ],
        "class": "tripada",
        "from_left_m": 4,
        "to_left_m": 6,
        "from_front_m": 9,
        "to_front_m": 12
      },
      {
        "n": 35,
        "devatas": [
          "brihatkshata"
        ],
        "class": "dvipada",
        "from_left_m": 2,
        "to_left_m": 4,
        "from_front_m": 9,
        "to_front_m": 12
      },
      {
        "n": 36,
        "devatas": [
          "brihatkshata"
        ],
        "class": "dvipada",
        "from_left_m": 0,
        "to_left_m": 2,
        "from_front_m": 9,
        "to_front_m": 12
      },
      {
        "n": 37,
        "devatas": [
          "soma"
        ],
        "class": "dvipada",
        "from_left_m": 16,
        "to_left_m": 18,
        "from_front_m": 12,
        "to_front_m": 15
      },
      {
        "n": 38,
        "devatas": [
          "soma"
        ],
        "class": "dvipada",
        "from_left_m": 14,
        "to_left_m": 16,
        "from_front_m": 12,
        "to_front_m": 15
      },
      {
        "n": 39,
        "devatas": [
          "prithvidhara"
        ],
        "class": "tripada",
        "from_left_m": 12,
        "to_left_m": 14,
        "from_front_m": 12,
        "to_front_m": 15
      },
      {
        "n": 40,
        "devatas": [
          "brahma"
        ],
        "class": "brahma",
        "from_left_m": 10,
        "to_left_m": 12,
        "from_front_m": 12,
        "to_front_m": 15
      },
      {
        "n": 41,
        "devatas": [
          "brahma"
        ],
        "class": "brahma",
        "from_left_m": 8,
        "to_left_m": 10,
        "from_front_m": 12,
        "to_front_m": 15
      },
      {
        "n": 42,
        "devatas": [
          "brahma"
        ],
        "class": "brahma",
        "from_left_m": 6,
        "to_left_m": 8,
        "from_front_m": 12,
        "to_front_m": 15
      },
      {
        "n": 43,
        "devatas": [
          "vivasvan"
        ],
        "class": "tripada",
        "from_left_m": 4,
        "to_left_m": 6,
        "from_front_m": 12,
        "to_front_m": 15
      },
      {
        "n": 44,
        "devatas": [
          "yama"
        ],
        "class": "dvipada",
        "from_left_m": 2,
        "to_left_m": 4,
        "from_front_m": 12,
        "to_front_m": 15
      },
      {
        "n": 45,
        "devatas": [
          "yama"
        ],
        "class": "dvipada",
        "from_left_m": 0,
        "to_left_m": 2,
        "from_front_m": 12,
        "to_front_m": 15
      },
      {
        "n": 46,
        "devatas": [
          "bhallata"
        ],
        "class": "dvipada",
        "from_left_m": 16,
        "to_left_m": 18,
        "from_front_m": 15,
        "to_front_m": 18
      },
      {
        "n": 47,
        "devatas": [
          "bhallata"
        ],
        "class": "dvipada",
        "from_left_m": 14,
        "to_left_m": 16,
        "from_front_m": 15,
        "to_front_m": 18
      },
      {
        "n": 48,
        "devatas": [
          "prithvidhara"
        ],
        "class": "tripada",
        "from_left_m": 12,
        "to_left_m": 14,
        "from_front_m": 15,
        "to_front_m": 18
      },
      {
        "n": 49,
        "devatas": [
          "brahma"
        ],
        "class": "brahma",
        "from_left_m": 10,
        "to_left_m": 12,
        "from_front_m": 15,
        "to_front_m": 18
      },
      {
        "n": 50,
        "devatas": [
          "brahma"
        ],
        "class": "brahma",
        "from_left_m": 8,
        "to_left_m": 10,
        "from_front_m": 15,
        "to_front_m": 18
      },
      {
        "n": 51,
        "devatas": [
          "brahma"
        ],
        "class": "brahma",
        "from_left_m": 6,
        "to_left_m": 8,
        "from_front_m": 15,
        "to_front_m": 18
      },
      {
        "n": 52,
        "devatas": [
          "vivasvan"
        ],
        "class": "tripada",
        "from_left_m": 4,
        "to_left_m": 6,
        "from_front_m": 15,
        "to_front_m": 18
      },
      {
        "n": 53,
        "devatas": [
          "gandharva"
        ],
        "class": "dvipada",
        "from_left_m": 2,
        "to_left_m": 4,
        "from_front_m": 15,
        "to_front_m": 18
      },
      {
        "n": 54,
        "devatas": [
          "gandharva"
        ],
        "class": "dvipada",
        "from_left_m": 0,
        "to_left_m": 2,
        "from_front_m": 15,
        "to_front_m": 18
      },
      {
        "n": 55,
        "devatas": [
          "mukhya"
        ],
        "class": "dvipada",
        "from_left_m": 16,
        "to_left_m": 18,
        "from_front_m": 18,
        "to_front_m": 21
      },
      {
        "n": 56,
        "devatas": [
          "mukhya"
        ],
        "class": "dvipada",
        "from_left_m": 14,
        "to_left_m": 16,
        "from_front_m": 18,
        "to_front_m": 21
      },
      {
        "n": 57,
        "devatas": [
          "rajayakshma"
        ],
        "class": "padika",
        "from_left_m": 12,
        "to_left_m": 14,
        "from_front_m": 18,
        "to_front_m": 21
      },
      {
        "n": 58,
        "devatas": [
          "mitra"
        ],
        "class": "tripada",
        "from_left_m": 10,
        "to_left_m": 12,
        "from_front_m": 18,
        "to_front_m": 21
      },
      {
        "n": 59,
        "devatas": [
          "mitra"
        ],
        "class": "tripada",
        "from_left_m": 8,
        "to_left_m": 10,
        "from_front_m": 18,
        "to_front_m": 21
      },
      {
        "n": 60,
        "devatas": [
          "mitra"
        ],
        "class": "tripada",
        "from_left_m": 6,
        "to_left_m": 8,
        "from_front_m": 18,
        "to_front_m": 21
      },
      {
        "n": 61,
        "devatas": [
          "indra_inner"
        ],
        "class": "padika",
        "from_left_m": 4,
        "to_left_m": 6,
        "from_front_m": 18,
        "to_front_m": 21
      },
      {
        "n": 62,
        "devatas": [
          "bhringaraja"
        ],
        "class": "dvipada",
        "from_left_m": 2,
        "to_left_m": 4,
        "from_front_m": 18,
        "to_front_m": 21
      },
      {
        "n": 63,
        "devatas": [
          "bhringaraja"
        ],
        "class": "dvipada",
        "from_left_m": 0,
        "to_left_m": 2,
        "from_front_m": 18,
        "to_front_m": 21
      },
      {
        "n": 64,
        "devatas": [
          "ahi"
        ],
        "class": "padika",
        "from_left_m": 16,
        "to_left_m": 18,
        "from_front_m": 21,
        "to_front_m": 24
      },
      {
        "n": 65,
        "devatas": [
          "rudra"
        ],
        "class": "padika",
        "from_left_m": 14,
        "to_left_m": 16,
        "from_front_m": 21,
        "to_front_m": 24
      },
      {
        "n": 66,
        "devatas": [
          "shosha"
        ],
        "class": "dvipada",
        "from_left_m": 12,
        "to_left_m": 14,
        "from_front_m": 21,
        "to_front_m": 24
      },
      {
        "n": 67,
        "devatas": [
          "asura"
        ],
        "class": "dvipada",
        "from_left_m": 10,
        "to_left_m": 12,
        "from_front_m": 21,
        "to_front_m": 24
      },
      {
        "n": 68,
        "devatas": [
          "varuna"
        ],
        "class": "dvipada",
        "from_left_m": 8,
        "to_left_m": 10,
        "from_front_m": 21,
        "to_front_m": 24
      },
      {
        "n": 69,
        "devatas": [
          "kusumadanta"
        ],
        "class": "dvipada",
        "from_left_m": 6,
        "to_left_m": 8,
        "from_front_m": 21,
        "to_front_m": 24
      },
      {
        "n": 70,
        "devatas": [
          "sugriva"
        ],
        "class": "dvipada",
        "from_left_m": 4,
        "to_left_m": 6,
        "from_front_m": 21,
        "to_front_m": 24
      },
      {
        "n": 71,
        "devatas": [
          "jaya"
        ],
        "class": "padika",
        "from_left_m": 2,
        "to_left_m": 4,
        "from_front_m": 21,
        "to_front_m": 24
      },
      {
        "n": 72,
        "devatas": [
          "mriga"
        ],
        "class": "padika",
        "from_left_m": 0,
        "to_left_m": 2,
        "from_front_m": 21,
        "to_front_m": 24
      },
      {
        "n": 73,
        "devatas": [
          "roga"
        ],
        "class": "padika",
        "from_left_m": 16,
        "to_left_m": 18,
        "from_front_m": 24,
        "to_front_m": 27
      },
      {
        "n": 74,
        "devatas": [
          "papayakshma"
        ],
        "class": "padika",
        "from_left_m": 14,
        "to_left_m": 16,
        "from_front_m": 24,
        "to_front_m": 27
      },
      {
        "n": 75,
        "devatas": [
          "shosha"
        ],
        "class": "dvipada",
        "from_left_m": 12,
        "to_left_m": 14,
        "from_front_m": 24,
        "to_front_m": 27
      },
      {
        "n": 76,
        "devatas": [
          "asura"
        ],
        "class": "dvipada",
        "from_left_m": 10,
        "to_left_m": 12,
        "from_front_m": 24,
        "to_front_m": 27
      },
      {
        "n": 77,
        "devatas": [
          "varuna"
        ],
        "class": "dvipada",
        "from_left_m": 8,
        "to_left_m": 10,
        "from_front_m": 24,
        "to_front_m": 27
      },
      {
        "n": 78,
        "devatas": [
          "kusumadanta"
        ],
        "class": "dvipada",
        "from_left_m": 6,
        "to_left_m": 8,
        "from_front_m": 24,
        "to_front_m": 27
      },
      {
        "n": 79,
        "devatas": [
          "sugriva"
        ],
        "class": "dvipada",
        "from_left_m": 4,
        "to_left_m": 6,
        "from_front_m": 24,
        "to_front_m": 27
      },
      {
        "n": 80,
        "devatas": [
          "dauvarika"
        ],
        "class": "padika",
        "from_left_m": 2,
        "to_left_m": 4,
        "from_front_m": 24,
        "to_front_m": 27
      },
      {
        "n": 81,
        "devatas": [
          "pitri"
        ],
        "class": "padika",
        "from_left_m": 0,
        "to_left_m": 2,
        "from_front_m": 24,
        "to_front_m": 27
      }
    ],
    "brahmasthan": {
      "squares": [
        31,
        32,
        33,
        40,
        41,
        42,
        49,
        50,
        51
      ],
      "from_left_m": 6,
      "to_left_m": 12,
      "from_front_m": 9,
      "to_front_m": 18,
      "area_m2": 54,
      "source": {
        "text": "Brihat Samhita",
        "author": "Varahamihira",
        "chapter": 53,
        "verses": "55-56, 66",
        "translation": "N. Chidambaram Iyer, 1884"
      }
    },
    "vamsas": [
      {
        "from": {
          "devata": "roga",
          "square": 73,
          "from_left_m": 17,
          "from_front_m": 25.5
        },
        "to": {
          "devata": "vayu",
          "square": 9,
          "from_left_m": 1,
          "from_front_m": 1.5
        }
      },
      {
        "from": {
          "devata": "pitri",
          "square": 81,
          "from_left_m": 1,
          "from_front_m": 25.5
        },
        "to": {
          "devata": "agni",
          "square": 1,
          "from_left_m": 17,
          "from_front_m": 1.5
        }
      },
      {
        "from": {
          "devata": "vitatha",
          "square": 27,
          "from_left_m": 1,
          "from_front_m": 7.5
        },
        "to": {
          "devata": "shosha",
          "square": 75,
          "from_left_m": 13,
          "from_front_m": 25.5
        }
      },
      {
        "from": {
          "devata": "mukhya",
          "square": 55,
          "from_left_m": 17,
          "from_front_m": 19.5
        },
        "to": {
          "devata": "bhrisha",
          "square": 7,
          "from_left_m": 5,
          "from_front_m": 1.5
        }
      },
      {
        "from": {
          "devata": "jayanta",
          "square": 3,
          "from_left_m": 13,
          "from_front_m": 1.5
        },
        "to": {
          "devata": "bhringaraja",
          "square": 63,
          "from_left_m": 1,
          "from_front_m": 19.5
        }
      },
      {
        "from": {
          "devata": "aditi",
          "square": 19,
          "from_left_m": 17,
          "from_front_m": 7.5
        },
        "to": {
          "devata": "sugriva",
          "square": 79,
          "from_left_m": 5,
          "from_front_m": 25.5
        }
      }
    ],
    "atimarma": [
      {
        "square": 23,
        "from_left_m": 9,
        "from_front_m": 7.5
      },
      {
        "square": 31,
        "from_left_m": 11,
        "from_front_m": 10.5
      },
      {
        "square": 33,
        "from_left_m": 7,
        "from_front_m": 10.5
      },
      {
        "square": 39,
        "from_left_m": 13,
        "from_front_m": 13.5
      },
      {
        "square": 41,
        "from_left_m": 9,
        "from_front_m": 13.5
      },
      {
        "square": 43,
        "from_left_m": 5,
        "from_front_m": 13.5
      },
      {
        "square": 49,
        "from_left_m": 11,
        "from_front_m": 16.5
      },
      {
        "square": 51,
        "from_left_m": 7,
        "from_front_m": 16.5
      },
      {
        "square": 59,
        "from_left_m": 9,
        "from_front_m": 19.5
      }
    ],
    "marma_area_m2": 0.75,
    "sources": {
      "layout": {
        "text": "Brihat Samhita",
        "author": "Varahamihira",
        "chapter": 53,
        "verses": "42-50",
        "translation": "N. Chidambaram Iyer, 1884"
      },
      "vamsas": {
        "text": "Brihat Samhita",
        "author": "Varahamihira",
        "chapter": 53,
        "verses": "63",
        "translation": "N. Chidambaram Iyer, 1884"
      },
      "atimarma": {
        "text": "Brihat Samhita",
        "author": "Varahamihira",
        "chapter": 53,
        "verses": "57, 64",
        "translation": "N. Chidambaram Iyer, 1884"
      }
    },
    "notes": []
  },
  "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

The mandala drawn as SVG, north up, in English or Hindi, with the door marked

POST/v1/vastu/mandala.svg

2 credits · Secret key (test or live) · getVastuMandalaSvg · Page for this operation

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.

  • grid integer

    The mandala: 81 squares (verse 42) or 64 (verse 55).

    one of 81, 64 · default 81

  • lang string

    one of en, hi · default "en"

  • theme string

    one of light, dark · default "light"

  • door object
    • wall string required

      Left and right as seen from outside, looking at the front.

      one of front, left, back, right

    • from_left_m number required

      The door's centre, from the left end of that wall as seen from outside it.

      ≥ 0

    • width_m number

      > 0 · ≤ 100

    No other fields are accepted.

No other fields are accepted.

Response

image/svg+xml

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

Example request

curl -X POST 'https://api.astrologics.in/v1/vastu/mandala.svg' \
  -H 'Authorization: Bearer al_test_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"plot":{"width_m":18,"depth_m":27,"facing_deg":90},"door":{"wall":"front","from_left_m":10}}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/vastu/mandala.svg", {
  method: "POST",
  headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    "plot": {
      "width_m": 18,
      "depth_m": 27,
      "facing_deg": 90
    },
    "door": {
      "wall": "front",
      "from_left_m": 10
    }
  }),
});
console.log(await res.text());
Python
import json
import urllib.error
import urllib.request

body = {
    "plot": {
        "width_m": 18,
        "depth_m": 27,
        "facing_deg": 90,
    },
    "door": {
        "wall": "front",
        "from_left_m": 10,
    },
}

req = urllib.request.Request(
    "https://api.astrologics.in/v1/vastu/mandala.svg",
    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(res.read().decode())
except urllib.error.HTTPError as err:
    print(err.code, err.read().decode())
PHP
<?php
$ch = curl_init('https://api.astrologics.in/v1/vastu/mandala.svg');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS => '{"plot":{"width_m":18,"depth_m":27,"facing_deg":90},"door":{"wall":"front","from_left_m":10}}',
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;

Example response

The chart this example request returns

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

Which of the 32 padas a door falls on, the text's effect and verse, and the better stretches of wall

POST/v1/vastu/entrance

1 credit · Secret key (test or live) · getVastuEntrance · Page for this operation

On grid 81 each wall has nine squares and its last is the corner, the first pada of the next side (verses 43-45). On grid 64 each wall has eight equal stretches. Obstructions opposite the door are judged against twice the house height (verse 76).

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.

  • door object required
    • wall string required

      Left and right as seen from outside, looking at the front.

      one of front, left, back, right

    • from_left_m number required

      The door's centre, from the left end of that wall as seen from outside it.

      ≥ 0

    • width_m number

      > 0 · ≤ 100

    No other fields are accepted.

  • grid integer

    The mandala: 81 squares (verse 42) or 64 (verse 55).

    one of 81, 64 · default 81

  • lang string

    one of en, hi · default "en"

  • house_height_m number

    Needed to judge obstructions (verse 76).

    > 0 · ≤ 1000

  • obstructions array of object

    What stands opposite the door.

    at most 12 items

    • type string required

      one of road, tree, street_corner, well, pillar, gutter

    • distance_m number required

      ≥ 0

    No other fields are accepted.

No other fields are accepted.

Response

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

  • grid integer required

    one of 81, 64

  • 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
  • door object required
    • wall string required
    • compass string required
    • from_left_m number required
    • width_m number or null required

      One of:

      1. number
      2. null
  • pada integer required

    Clockwise from the north-east corner.

    ≥ 1 · ≤ 32

  • side string required

    one of east, south, west, north

  • ordinal_on_side integer required

    ≥ 1 · ≤ 8

  • devata object required
    • id string required
    • name string required
  • also_known_as array of string required
  • verdict string required

    one of favourable, mixed, unfavourable

  • effect string required
  • spans array of object required

    Each pada a wide door touches; empty when it stays in one.

    • pada integer required

      Clockwise from the north-east corner.

      ≥ 1 · ≤ 32

    • side string required

      one of east, south, west, north

    • ordinal_on_side integer required

      ≥ 1 · ≤ 8

    • devata object required
      Fields
      • id string required
      • name string required
    • also_known_as array of string required
    • verdict string required

      one of favourable, mixed, unfavourable

    • effect 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
  • recommended object required
    • on_this_wall array of object required
      Fields
      • wall string required

        one of front, left, back, right

      • compass string required
      • from_left_m number required

        From the left end of this wall, seen from outside it.

      • to_left_m number required
      • distance_m number or null required

        One of:

        1. number
        2. null
      • devata object required
        Fields
        • id string required
        • name string required
      • verdict string required

        one of favourable, mixed, unfavourable

      • effect string required
    • on_other_walls array of object required
      Fields
      • wall string required

        one of front, left, back, right

      • compass string required
      • from_left_m number required

        From the left end of this wall, seen from outside it.

      • to_left_m number required
      • distance_m number or null required

        One of:

        1. number
        2. null
      • devata object required
        Fields
        • id string required
        • name string required
      • verdict string required

        one of favourable, mixed, unfavourable

      • effect string 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
  • 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/entrance' \
  -H 'Authorization: Bearer al_test_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"plot":{"width_m":18,"depth_m":27,"facing_deg":90},"door":{"wall":"front","from_left_m":10,"width_m":1.2},"house_height_m":7,"obstructions":[{"type":"tree","distance_m":30}]}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/vastu/entrance", {
  method: "POST",
  headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    "plot": {
      "width_m": 18,
      "depth_m": 27,
      "facing_deg": 90
    },
    "door": {
      "wall": "front",
      "from_left_m": 10,
      "width_m": 1.2
    },
    "house_height_m": 7,
    "obstructions": [
      {
        "type": "tree",
        "distance_m": 30
      }
    ]
  }),
});
console.log(JSON.stringify(await res.json(), null, 2));
Python
import json
import urllib.error
import urllib.request

body = {
    "plot": {
        "width_m": 18,
        "depth_m": 27,
        "facing_deg": 90,
    },
    "door": {
        "wall": "front",
        "from_left_m": 10,
        "width_m": 1.2,
    },
    "house_height_m": 7,
    "obstructions": [
        {
            "type": "tree",
            "distance_m": 30,
        },
    ],
}

req = urllib.request.Request(
    "https://api.astrologics.in/v1/vastu/entrance",
    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/entrance');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS => '{"plot":{"width_m":18,"depth_m":27,"facing_deg":90},"door":{"wall":"front","from_left_m":10,"width_m":1.2},"house_height_m":7,"obstructions":[{"type":"tree","distance_m":30}]}',
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;

Example response

200 OK · 4,972 characters
{
  "data": {
    "grid": 81,
    "plot": {
      "width_m": 18,
      "depth_m": 27,
      "facing_deg": 90,
      "front": "east",
      "skew_deg": 0,
      "east_west_m": 27,
      "north_south_m": 18,
      "area_m2": 486
    },
    "door": {
      "wall": "front",
      "compass": "east",
      "from_left_m": 10,
      "width_m": 1.2
    },
    "pada": 5,
    "side": "east",
    "ordinal_on_side": 5,
    "devata": {
      "id": "surya",
      "name": "Surya"
    },
    "also_known_as": [],
    "verdict": "unfavourable",
    "effect": "Increase of anger.",
    "spans": [
      {
        "pada": 5,
        "side": "east",
        "ordinal_on_side": 5,
        "devata": {
          "id": "surya",
          "name": "Surya"
        },
        "also_known_as": [],
        "verdict": "unfavourable",
        "effect": "Increase of anger."
      },
      {
        "pada": 4,
        "side": "east",
        "ordinal_on_side": 4,
        "devata": {
          "id": "indra",
          "name": "Indra"
        },
        "also_known_as": [
          "Mahendra"
        ],
        "verdict": "favourable",
        "effect": "Friendship of the ruler."
      }
    ],
    "basis": "classical",
    "source": {
      "text": "Brihat Samhita",
      "author": "Varahamihira",
      "chapter": 53,
      "verses": "43, 72, 71",
      "translation": "N. Chidambaram Iyer, 1884"
    },
    "recommended": {
      "on_this_wall": [
        {
          "wall": "front",
          "compass": "east",
          "from_left_m": 10,
          "to_left_m": 12,
          "distance_m": 0,
          "devata": {
            "id": "indra",
            "name": "Indra"
          },
          "verdict": "favourable",
          "effect": "Friendship of the ruler."
        },
        {
          "wall": "front",
          "compass": "east",
          "from_left_m": 12,
          "to_left_m": 14,
          "distance_m": 2,
          "devata": {
            "id": "jayanta",
            "name": "Jayanta"
          },
          "verdict": "favourable",
          "effect": "Gain of great wealth."
        },
        {
          "wall": "front",
          "compass": "east",
          "from_left_m": 14,
          "to_left_m": 16,
          "distance_m": 4,
          "devata": {
            "id": "parjanya",
            "name": "Parjanya"
          },
          "verdict": "mixed",
          "effect": "Birth of daughters."
        }
      ],
      "on_other_walls": [
        {
          "wall": "back",
          "compass": "west",
          "from_left_m": 10,
          "to_left_m": 12,
          "distance_m": null,
          "devata": {
            "id": "kusumadanta",
            "name": "Kusumadanta"
          },
          "verdict": "favourable",
          "effect": "More sons, wealth and strength."
        },
        {
          "wall": "back",
          "compass": "west",
          "from_left_m": 8,
          "to_left_m": 10,
          "distance_m": null,
          "devata": {
            "id": "varuna",
            "name": "Varuna"
          },
          "verdict": "favourable",
          "effect": "Opulence."
        },
        {
          "wall": "right",
          "compass": "north",
          "from_left_m": 18,
          "to_left_m": 21,
          "distance_m": null,
          "devata": {
            "id": "mukhya",
            "name": "Mukhya"
          },
          "verdict": "favourable",
          "effect": "Gain of wealth and sons."
        },
        {
          "wall": "right",
          "compass": "north",
          "from_left_m": 15,
          "to_left_m": 18,
          "distance_m": null,
          "devata": {
            "id": "bhallata",
            "name": "Bhallata"
          },
          "verdict": "favourable",
          "effect": "Possession of all virtues."
        },
        {
          "wall": "right",
          "compass": "north",
          "from_left_m": 12,
          "to_left_m": 15,
          "distance_m": null,
          "devata": {
            "id": "soma",
            "name": "Soma"
          },
          "verdict": "favourable",
          "effect": "Gain of sons and wealth."
        }
      ]
    },
    "findings": [
      {
        "topic": "obstruction",
        "subject": "tree",
        "verdict": "neutral",
        "text": "A tree faces the door, beyond twice the house height (14 m); the text says no harm follows.",
        "basis": "classical",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "76",
          "translation": "N. Chidambaram Iyer, 1884"
        }
      }
    ],
    "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

The Ayadi formulas on a building's measures: every working shown, the yoni judged, and nearby measures that pass

POST/v1/vastu/ayadi

1 credit · Secret key (test or live) · getVastuAyadi · Page for this operation

Choose a tradition with system: the Manasara, the perimeter texts, or Utpala for the yoni alone. Texts differ, and each result shows its base, multiplier and divisor. Metres need your own cubit length in hasta_cm.

Request body

  • length number required

    > 0 · ≤ 100000

  • breadth number required

    > 0 · ≤ 100000

  • perimeter number

    Default: twice length plus breadth.

    > 0 · ≤ 400000

  • unit string

    one of hasta, metre · default "hasta"

  • hasta_cm number

    The cubit you work with, in cm: required with metres. Texts and regions differ, so the API does not choose one.

    ≥ 30 · ≤ 100

  • system string

    one of manasara, perimeter_texts, utpala · default "manasara"

  • lang string

    one of en, hi · default "en"

No other fields are accepted.

Response

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

  • system string required

    one of manasara, perimeter_texts, utpala

  • measures object required
    • length_hasta number required
    • breadth_hasta number required
    • perimeter_hasta number required
    • area_sq_hasta number required
  • formulas array of object required
    • id string required

      one of aya, vyaya, vyaya_alt, rksha, yoni, vara, tithi, vayas

    • base string required
    • base_value number required
    • multiplier integer required
    • divisor integer required
    • takes string required

      one of remainder, quotient

    • product number required
    • remainder number required
    • result number required
    • member object or null required

      One of:

      1. object
        Fields
        • id string required
        • name string required
        • direction string
      2. null
  • findings array of object required
    • topic string required
    • verdict string required

      one of favourable, unfavourable

    • text string required
    • basis string required

      one of classical, convention

    • note string or null required

      One of:

      1. string
      2. null
  • passes_all boolean required

    The yoni and every aya-over-vyaya test favourable. Rksha, vara, tithi and vayas are reported without a verdict: the source gives none.

  • nearby_passing array of object required

    Whole-cubit measures within 3 cubits that pass, nearest first. Empty for utpala.

    • length_hasta integer required
    • breadth_hasta integer required
    • change_hasta number required
  • source object required
    • text string required
    • via string required

      Where we read the formulas: a modern study, not the Sanskrit text itself.

    • basis string required

      one of classical, convention

  • 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/ayadi' \
  -H 'Authorization: Bearer al_test_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"length":40,"breadth":30,"system":"manasara"}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/vastu/ayadi", {
  method: "POST",
  headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    "length": 40,
    "breadth": 30,
    "system": "manasara"
  }),
});
console.log(JSON.stringify(await res.json(), null, 2));
Python
import json
import urllib.error
import urllib.request

body = {
    "length": 40,
    "breadth": 30,
    "system": "manasara",
}

req = urllib.request.Request(
    "https://api.astrologics.in/v1/vastu/ayadi",
    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/ayadi');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS => '{"length":40,"breadth":30,"system":"manasara"}',
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;

Example response

200 OK · 3,703 characters
{
  "data": {
    "system": "manasara",
    "measures": {
      "length_hasta": 40,
      "breadth_hasta": 30,
      "perimeter_hasta": 140,
      "area_sq_hasta": 1200
    },
    "formulas": [
      {
        "id": "aya",
        "base": "length",
        "base_value": 40,
        "multiplier": 8,
        "divisor": 12,
        "takes": "remainder",
        "product": 320,
        "remainder": 8,
        "result": 8,
        "member": null
      },
      {
        "id": "vyaya",
        "base": "breadth",
        "base_value": 30,
        "multiplier": 9,
        "divisor": 10,
        "takes": "remainder",
        "product": 270,
        "remainder": 0,
        "result": 0,
        "member": null
      },
      {
        "id": "rksha",
        "base": "length",
        "base_value": 40,
        "multiplier": 8,
        "divisor": 27,
        "takes": "remainder",
        "product": 320,
        "remainder": 23,
        "result": 23,
        "member": {
          "id": "dhanishta",
          "name": "Dhanishta"
        }
      },
      {
        "id": "yoni",
        "base": "breadth",
        "base_value": 30,
        "multiplier": 3,
        "divisor": 8,
        "takes": "remainder",
        "product": 90,
        "remainder": 2,
        "result": 2,
        "member": {
          "id": "dhuma",
          "name": "Dhuma",
          "direction": "southeast"
        }
      },
      {
        "id": "vara",
        "base": "circumference",
        "base_value": 140,
        "multiplier": 9,
        "divisor": 7,
        "takes": "remainder",
        "product": 1260,
        "remainder": 0,
        "result": 0,
        "member": {
          "id": "saturday",
          "name": "Saturday"
        }
      },
      {
        "id": "tithi",
        "base": "circumference",
        "base_value": 140,
        "multiplier": 9,
        "divisor": 30,
        "takes": "remainder",
        "product": 1260,
        "remainder": 0,
        "result": 0,
        "member": {
          "id": "purnima_or_amavasya",
          "name": "Purnima or Amavasya"
        }
      }
    ],
    "findings": [
      {
        "topic": "yoni",
        "verdict": "unfavourable",
        "text": "An even yoni, which the source calls bad.",
        "basis": "classical",
        "note": null
      },
      {
        "topic": "aya_over_vyaya",
        "verdict": "favourable",
        "text": "Aya is greater than vyaya, the usual test today.",
        "basis": "convention",
        "note": "The source says these remainders show gain and loss, but does not state this comparison. It is common practice."
      }
    ],
    "passes_all": false,
    "nearby_passing": [
      {
        "length_hasta": 40,
        "breadth_hasta": 29,
        "change_hasta": 1
      },
      {
        "length_hasta": 41,
        "breadth_hasta": 29,
        "change_hasta": 2
      },
      {
        "length_hasta": 40,
        "breadth_hasta": 27,
        "change_hasta": 3
      },
      {
        "length_hasta": 40,
        "breadth_hasta": 33,
        "change_hasta": 3
      },
      {
        "length_hasta": 38,
        "breadth_hasta": 29,
        "change_hasta": 3
      }
    ],
    "source": {
      "text": "Manasara",
      "via": "D. N. Shukla, Vastu-shastra (1960), ch. 6 (iv), reproducing Mallaya, Studies in Sanskrit Texts on Temple Architecture",
      "basis": "classical"
    },
    "disclaimer": "Traditional formulas, reported as the source 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

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 · Page for this operation

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

A verdict for each room by zone, what to prefer, and a score with published weights

POST/v1/vastu/rooms

1 credit · Secret key (test or live) · getVastuRooms · Page for this operation

The text places the prayer room, kitchen, household store, treasury and granary (verse 118) and protects the centre (verse 66); every other placement is present-day practice and says so. The score is ours: data.scoring gives its weights.

Request body

  • plot object
    • 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"

  • rooms array of object required

    at least 1 item · at most 60 items

    • type string required

      one of puja, kitchen, utensil_store, treasury, granary, master_bedroom, bedroom, living, dining, study, toilet, staircase, garage, overhead_tank, septic_tank

    • zone string

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

    • from_left_m number

      With from_front_m and plot, in place of zone.

      ≥ 0

    • from_front_m number

      ≥ 0

    No other fields are accepted.

No other fields are accepted.

Response

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

  • score integer required

    ≥ 0 · ≤ 100

  • scoring object required
    • verdict_points object required
      Fields
      • ideal number required
      • acceptable number required
      • avoid number required
    • room_weight object required
      Fields
      • classical number required
      • convention number required
    • formula string required
  • rooms array of object required
    • type string required
    • name string required
    • zone string required
    • verdict string required

      one of ideal, acceptable, avoid

    • ideal_zones array of string required
    • acceptable_zones array of string required
    • avoid_zones array of 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
    • note string or null required

      One of:

      1. string
      2. null
    • remedy string or null required

      One of:

      1. string
      2. null
  • zone_rule string 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/rooms' \
  -H 'Authorization: Bearer al_test_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"rooms":[{"type":"puja","zone":"northeast"},{"type":"kitchen","zone":"southeast"},{"type":"master_bedroom","zone":"southwest"},{"type":"toilet","zone":"northeast"}]}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/vastu/rooms", {
  method: "POST",
  headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    "rooms": [
      {
        "type": "puja",
        "zone": "northeast"
      },
      {
        "type": "kitchen",
        "zone": "southeast"
      },
      {
        "type": "master_bedroom",
        "zone": "southwest"
      },
      {
        "type": "toilet",
        "zone": "northeast"
      }
    ]
  }),
});
console.log(JSON.stringify(await res.json(), null, 2));
Python
import json
import urllib.error
import urllib.request

body = {
    "rooms": [
        {
            "type": "puja",
            "zone": "northeast",
        },
        {
            "type": "kitchen",
            "zone": "southeast",
        },
        {
            "type": "master_bedroom",
            "zone": "southwest",
        },
        {
            "type": "toilet",
            "zone": "northeast",
        },
    ],
}

req = urllib.request.Request(
    "https://api.astrologics.in/v1/vastu/rooms",
    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/rooms');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS => '{"rooms":[{"type":"puja","zone":"northeast"},{"type":"kitchen","zone":"southeast"},{"type":"master_bedroom","zone":"southwest"},{"type":"toilet","zone":"northeast"}]}',
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;

Example response

200 OK · 3,248 characters
{
  "data": {
    "score": 83,
    "scoring": {
      "verdict_points": {
        "ideal": 1,
        "acceptable": 0.5,
        "avoid": 0
      },
      "room_weight": {
        "classical": 2,
        "convention": 1
      },
      "formula": "100 × sum(points × weight) / sum(weight), rounded"
    },
    "rooms": [
      {
        "type": "puja",
        "name": "Prayer room",
        "zone": "northeast",
        "verdict": "ideal",
        "ideal_zones": [
          "northeast"
        ],
        "acceptable_zones": [
          "north",
          "east"
        ],
        "avoid_zones": [
          "south",
          "southwest",
          "southeast",
          "northwest",
          "west",
          "center"
        ],
        "basis": "classical",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "118",
          "translation": "N. Chidambaram Iyer, 1884"
        },
        "note": null,
        "remedy": null
      },
      {
        "type": "kitchen",
        "name": "Kitchen",
        "zone": "southeast",
        "verdict": "ideal",
        "ideal_zones": [
          "southeast"
        ],
        "acceptable_zones": [
          "northwest"
        ],
        "avoid_zones": [
          "northeast",
          "center",
          "north",
          "southwest"
        ],
        "basis": "classical",
        "source": {
          "text": "Brihat Samhita",
          "author": "Varahamihira",
          "chapter": 53,
          "verses": "118",
          "translation": "N. Chidambaram Iyer, 1884"
        },
        "note": null,
        "remedy": null
      },
      {
        "type": "master_bedroom",
        "name": "Main bedroom",
        "zone": "southwest",
        "verdict": "ideal",
        "ideal_zones": [
          "southwest"
        ],
        "acceptable_zones": [
          "south",
          "west"
        ],
        "avoid_zones": [
          "northeast",
          "southeast",
          "center"
        ],
        "basis": "convention",
        "source": null,
        "note": null,
        "remedy": null
      },
      {
        "type": "toilet",
        "name": "Toilet or bathroom",
        "zone": "northeast",
        "verdict": "avoid",
        "ideal_zones": [
          "northwest",
          "west"
        ],
        "acceptable_zones": [
          "south",
          "southeast"
        ],
        "avoid_zones": [
          "northeast",
          "center",
          "southwest"
        ],
        "basis": "convention",
        "source": null,
        "note": null,
        "remedy": "Prefer north-west or west. This API gives placements only, not ritual or product remedies; ask your Vastu consultant if the room cannot move."
      }
    ],
    "zone_rule": "A position is placed by dividing the plot in thirds both ways; this division is our convention.",
    "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