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
| Name | In | Type | Notes |
|---|---|---|---|
lang | query | string | one of en, hi · default "en" |
Response
JSON { data, meta, warnings }, where data is:
directionsarray of object requiredidstring requirednamestring required
padasarray of object requiredidstring requirednamestring requiredalso_known_asarray of string requiredpadainteger requiredsidestring requiredordinal_on_sideinteger requiredverdictstring requiredone of
favourable,mixed,unfavourableeffectstring requiredsourceobject or null requiredOne of:
- object
Fields
textstring requiredauthorstring requiredchapterinteger requiredversesstring requiredtranslationstring required
- null
- object
devatas_81array of object requiredidstring requirednamestring requiredalso_known_asarray of string requiredclassstring requiredringstring requiredpadasinteger requiredsquaresarray of integer required
room_typesarray of object requiredidstring requirednamestring requiredideal_zonesarray of string requiredacceptable_zonesarray of string requiredavoid_zonesarray of string requiredbasisstring requiredone of
classical,conventionsourceobject or null requiredOne of:
- object
Fields
textstring requiredauthorstring requiredchapterinteger requiredversesstring requiredtranslationstring required
- null
- object
scoringobject requiredverdict_pointsobject requiredFields
idealnumber requiredacceptablenumber requiredavoidnumber required
room_weightobject requiredFields
classicalnumber requiredconventionnumber required
formulastring required
textobject requiredtitlestring requiredauthorstring requiredchapterinteger requiredtranslationstring requiredpublic_domainboolean requirednotestring required
disclaimerstring 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
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
plotobject requiredwidth_mnumber requiredAlong the front, in metres.
> 0 · ≤ 100000
depth_mnumber requiredFrom the front to the back, in metres.
> 0 · ≤ 100000
facing_degnumber requiredThe compass bearing a person looks along when facing out through the front: 0 north, 90 east.
≥ 0 · ≤ 360
No other fields are accepted.
gridintegerThe mandala: 81 squares (verse 42) or 64 (verse 55).
one of
81,64· default81langstringone of
en,hi· default"en"
No other fields are accepted.
Response
JSON { data, meta, warnings }, where data is:
gridinteger requiredone of
81,64plotobject requiredwidth_mnumber requireddepth_mnumber requiredfacing_degnumber requiredfrontstring requiredThe compass direction nearest to facing_deg: each side of the plot is named this way.
one of
north,east,south,westskew_degnumber requiredHow far facing_deg is from front, in degrees.
east_west_mnumber requirednorth_south_mnumber requiredarea_m2number required
squareobject requiredeast_west_mnumber requirednorth_south_mnumber requiredarea_m2number required
devatasarray of object requiredidstring requirednamestring requiredclassstring requiredringstring requiredone of
outer,innerpadasinteger requiredsquaresarray of integer requiredsidestring or null requiredOne of:
- string
- null
padainteger or null requiredOne of:
- integer
- null
squaresarray of object requiredninteger requireddevatasarray of string requiredclassstring requiredfrom_left_mnumber requiredFrom the left corner, for someone outside looking at the front.
to_left_mnumber requiredfrom_front_mnumber requiredto_front_mnumber required
brahmasthanobject requiredsquaresarray of integer requiredfrom_left_mnumber requiredFrom the left corner, for someone outside looking at the front.
to_left_mnumber requiredfrom_front_mnumber requiredto_front_mnumber requiredarea_m2number requiredsourceobject or null requiredOne of:
- object
Fields
textstring requiredauthorstring requiredchapterinteger requiredversesstring requiredtranslationstring required
- null
- object
vamsasarray of object requiredfromobject requiredFields
devatastring requiredsquareinteger requiredfrom_left_mnumber requiredfrom_front_mnumber required
toobject requiredFields
devatastring requiredsquareinteger requiredfrom_left_mnumber requiredfrom_front_mnumber required
atimarmaarray of object requiredsquareinteger requiredfrom_left_mnumber requiredfrom_front_mnumber required
marma_area_m2number requiredVerse 64: one-eighth of a square. The text says not to build pillars on these points.
sourcesobject requiredlayoutobject or null requiredOne of:
- object
Fields
textstring requiredauthorstring requiredchapterinteger requiredversesstring requiredtranslationstring required
- null
- object
vamsasobject or null requiredOne of:
- object
Fields
textstring requiredauthorstring requiredchapterinteger requiredversesstring requiredtranslationstring required
- null
- object
atimarmaobject or null requiredOne of:
- object
Fields
textstring requiredauthorstring requiredchapterinteger requiredversesstring requiredtranslationstring required
- null
- object
notesarray 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
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
plotobject requiredwidth_mnumber requiredAlong the front, in metres.
> 0 · ≤ 100000
depth_mnumber requiredFrom the front to the back, in metres.
> 0 · ≤ 100000
facing_degnumber requiredThe compass bearing a person looks along when facing out through the front: 0 north, 90 east.
≥ 0 · ≤ 360
No other fields are accepted.
gridintegerThe mandala: 81 squares (verse 42) or 64 (verse 55).
one of
81,64· default81langstringone of
en,hi· default"en"themestringone of
light,dark· default"light"doorobjectwallstring requiredLeft and right as seen from outside, looking at the front.
one of
front,left,back,rightfrom_left_mnumber requiredThe door's centre, from the left end of that wall as seen from outside it.
≥ 0
width_mnumber> 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
Try it
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
plotobject requiredwidth_mnumber requiredAlong the front, in metres.
> 0 · ≤ 100000
depth_mnumber requiredFrom the front to the back, in metres.
> 0 · ≤ 100000
facing_degnumber requiredThe compass bearing a person looks along when facing out through the front: 0 north, 90 east.
≥ 0 · ≤ 360
No other fields are accepted.
doorobject requiredwallstring requiredLeft and right as seen from outside, looking at the front.
one of
front,left,back,rightfrom_left_mnumber requiredThe door's centre, from the left end of that wall as seen from outside it.
≥ 0
width_mnumber> 0 · ≤ 100
No other fields are accepted.
gridintegerThe mandala: 81 squares (verse 42) or 64 (verse 55).
one of
81,64· default81langstringone of
en,hi· default"en"house_height_mnumberNeeded to judge obstructions (verse 76).
> 0 · ≤ 1000
obstructionsarray of objectWhat stands opposite the door.
at most 12 items
typestring requiredone of
road,tree,street_corner,well,pillar,gutterdistance_mnumber required≥ 0
No other fields are accepted.
No other fields are accepted.
Response
JSON { data, meta, warnings }, where data is:
gridinteger requiredone of
81,64plotobject requiredwidth_mnumber requireddepth_mnumber requiredfacing_degnumber requiredfrontstring requiredThe compass direction nearest to facing_deg: each side of the plot is named this way.
one of
north,east,south,westskew_degnumber requiredHow far facing_deg is from front, in degrees.
east_west_mnumber requirednorth_south_mnumber requiredarea_m2number required
doorobject requiredwallstring requiredcompassstring requiredfrom_left_mnumber requiredwidth_mnumber or null requiredOne of:
- number
- null
padainteger requiredClockwise from the north-east corner.
≥ 1 · ≤ 32
sidestring requiredone of
east,south,west,northordinal_on_sideinteger required≥ 1 · ≤ 8
devataobject requiredidstring requirednamestring required
also_known_asarray of string requiredverdictstring requiredone of
favourable,mixed,unfavourableeffectstring requiredspansarray of object requiredEach pada a wide door touches; empty when it stays in one.
padainteger requiredClockwise from the north-east corner.
≥ 1 · ≤ 32
sidestring requiredone of
east,south,west,northordinal_on_sideinteger required≥ 1 · ≤ 8
devataobject requiredFields
idstring requirednamestring required
also_known_asarray of string requiredverdictstring requiredone of
favourable,mixed,unfavourableeffectstring required
basisstring requiredone of
classical,conventionsourceobject or null requiredOne of:
- object
Fields
textstring requiredauthorstring requiredchapterinteger requiredversesstring requiredtranslationstring required
- null
- object
recommendedobject requiredon_this_wallarray of object requiredFields
wallstring requiredone of
front,left,back,rightcompassstring requiredfrom_left_mnumber requiredFrom the left end of this wall, seen from outside it.
to_left_mnumber requireddistance_mnumber or null requiredOne of:
- number
- null
devataobject requiredFields
idstring requirednamestring required
verdictstring requiredone of
favourable,mixed,unfavourableeffectstring required
on_other_wallsarray of object requiredFields
wallstring requiredone of
front,left,back,rightcompassstring requiredfrom_left_mnumber requiredFrom the left end of this wall, seen from outside it.
to_left_mnumber requireddistance_mnumber or null requiredOne of:
- number
- null
devataobject requiredFields
idstring requirednamestring required
verdictstring requiredone of
favourable,mixed,unfavourableeffectstring required
findingsarray of object requiredtopicstring requiredsubjectstring requiredverdictstring requiredone of
favourable,neutral,unfavourabletextstring requiredbasisstring requiredone of
classical,conventionsourceobject or null requiredOne of:
- object
Fields
textstring requiredauthorstring requiredchapterinteger requiredversesstring requiredtranslationstring required
- null
- object
disclaimerstring 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
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
lengthnumber required> 0 · ≤ 100000
breadthnumber required> 0 · ≤ 100000
perimeternumberDefault: twice length plus breadth.
> 0 · ≤ 400000
unitstringone of
hasta,metre· default"hasta"hasta_cmnumberThe cubit you work with, in cm: required with metres. Texts and regions differ, so the API does not choose one.
≥ 30 · ≤ 100
systemstringone of
manasara,perimeter_texts,utpala· default"manasara"langstringone of
en,hi· default"en"
No other fields are accepted.
Response
JSON { data, meta, warnings }, where data is:
systemstring requiredone of
manasara,perimeter_texts,utpalameasuresobject requiredlength_hastanumber requiredbreadth_hastanumber requiredperimeter_hastanumber requiredarea_sq_hastanumber required
formulasarray of object requiredidstring requiredone of
aya,vyaya,vyaya_alt,rksha,yoni,vara,tithi,vayasbasestring requiredbase_valuenumber requiredmultiplierinteger requireddivisorinteger requiredtakesstring requiredone of
remainder,quotientproductnumber requiredremaindernumber requiredresultnumber requiredmemberobject or null requiredOne of:
- object
Fields
idstring requirednamestring requireddirectionstring
- null
- object
findingsarray of object requiredtopicstring requiredverdictstring requiredone of
favourable,unfavourabletextstring requiredbasisstring requiredone of
classical,conventionnotestring or null requiredOne of:
- string
- null
passes_allboolean requiredThe yoni and every aya-over-vyaya test favourable. Rksha, vara, tithi and vayas are reported without a verdict: the source gives none.
nearby_passingarray of object requiredWhole-cubit measures within 3 cubits that pass, nearest first. Empty for utpala.
length_hastainteger requiredbreadth_hastainteger requiredchange_hastanumber required
sourceobject requiredtextstring requiredviastring requiredWhere we read the formulas: a modern study, not the Sanskrit text itself.
basisstring requiredone of
classical,convention
disclaimerstring 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
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
plotobject requiredwidth_mnumber requiredAlong the front, in metres.
> 0 · ≤ 100000
depth_mnumber requiredFrom the front to the back, in metres.
> 0 · ≤ 100000
facing_degnumber requiredThe compass bearing a person looks along when facing out through the front: 0 north, 90 east.
≥ 0 · ≤ 360
No other fields are accepted.
langstringone of
en,hi· default"en"irregular_shapebooleanhigher_sidestringWhich part of the ground stands higher; none when it is level.
one of
none,north,northeast,east,southeast,south,southwest,west,northwestwaterarray of stringWhere water lies.
no repeats
cutsarray of stringCorners cut away.
no repeats
extensionsarray of stringCorners that extend out.
no repeats
road_sidesarray of stringSides with a road.
no repeats
crossroadsbooleanFour roads meet close by.
No other fields are accepted.
Response
JSON { data, meta, warnings }, where data is:
plotobject requiredwidth_mnumber requireddepth_mnumber requiredfacing_degnumber requiredfrontstring requiredThe compass direction nearest to facing_deg: each side of the plot is named this way.
one of
north,east,south,westskew_degnumber requiredHow far facing_deg is from front, in degrees.
east_west_mnumber requirednorth_south_mnumber requiredarea_m2number required
length_to_breadthnumber requiredfindingsarray of object requiredtopicstring requiredsubjectstring requiredverdictstring requiredone of
favourable,neutral,unfavourabletextstring requiredbasisstring requiredone of
classical,conventionsourceobject or null requiredOne of:
- object
Fields
textstring requiredauthorstring requiredchapterinteger requiredversesstring requiredtranslationstring required
- null
- object
countsobject requiredfavourableinteger requiredneutralinteger requiredunfavourableinteger requiredclassicalinteger requiredconventioninteger required
disclaimerstring 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
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
plotobjectwidth_mnumber requiredAlong the front, in metres.
> 0 · ≤ 100000
depth_mnumber requiredFrom the front to the back, in metres.
> 0 · ≤ 100000
facing_degnumber requiredThe compass bearing a person looks along when facing out through the front: 0 north, 90 east.
≥ 0 · ≤ 360
No other fields are accepted.
langstringone of
en,hi· default"en"roomsarray of object requiredat least 1 item · at most 60 items
typestring requiredone of
puja,kitchen,utensil_store,treasury,granary,master_bedroom,bedroom,living,dining,study,toilet,staircase,garage,overhead_tank,septic_tankzonestringone of
north,northeast,east,southeast,south,southwest,west,northwest,centerfrom_left_mnumberWith from_front_m and plot, in place of zone.
≥ 0
from_front_mnumber≥ 0
No other fields are accepted.
No other fields are accepted.
Response
JSON { data, meta, warnings }, where data is:
scoreinteger required≥ 0 · ≤ 100
scoringobject requiredverdict_pointsobject requiredFields
idealnumber requiredacceptablenumber requiredavoidnumber required
room_weightobject requiredFields
classicalnumber requiredconventionnumber required
formulastring required
roomsarray of object requiredtypestring requirednamestring requiredzonestring requiredverdictstring requiredone of
ideal,acceptable,avoidideal_zonesarray of string requiredacceptable_zonesarray of string requiredavoid_zonesarray of string requiredbasisstring requiredone of
classical,conventionsourceobject or null requiredOne of:
- object
Fields
textstring requiredauthorstring requiredchapterinteger requiredversesstring requiredtranslationstring required
- null
- object
notestring or null requiredOne of:
- string
- null
remedystring or null requiredOne of:
- string
- null
zone_rulestring requireddisclaimerstring 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": []
}