Vastu Room Analysis API
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
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": []
}Try it
More in Vastu
- Vastu Pada and Devata Reference API: The 32 padas with their door effects and verses, the 45 devatas, the room rules and the score's weights
- Vastu Purusha Mandala API: The Vastu Purusha Mandala over a real plot: every square in metres, the brahmasthan, the vamsa lines and the atimarma points
- Vastu Mandala SVG API: The mandala drawn as SVG, north up, in English or Hindi, with the door marked
- Vastu Entrance (Door Pada) API: Which of the 32 padas a door falls on, the text's effect and verse, and the better stretches of wall
- Vastu Ayadi Calculation API: The Ayadi formulas on a building's measures: every working shown, the yoni judged, and nearby measures that pass
- Vastu Plot Analysis API: Findings on a plot: proportion, shape, slope, water, cut corners, extensions and roads, each classical or convention