Reports
Client-ready PDF reports under your own name, logo and colour, in English or Hindi. Built for one response and not stored.
A client-ready kundli as a PDF, under your name, logo and colour
POST/v1/reports/kundli.pdf
10 credits · Secret key (test or live) · getKundliReport · Page for this operation
Needs a birth time. Charts, avakhada, planets, Vimshottari mahadashas, yogas and doshas. With lang hi the labels and tables are Hindi; yoga rules and dosha notes stay in English, because we hold no reviewed Hindi for them. Nothing is stored.
Request body
birthBirth requireddatestring (date) requirede.g.
"1990-08-13"timestringpattern
^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$· e.g."06:30"time_accuracystringWith "unknown", lagna- and house-dependent fields are omitted and listed in warnings — never filled with a noon default.
one of
exact,approximate,unknown· default"exact"placeCoordinates or object or object requiredCoordinates, a place_id from /v1/places/search, or a free-text query. A vague query returns 422 place_ambiguous with candidates; the API never guesses.
One of:
- Coordinates
Fields
latitudenumber required≥ -90 · ≤ 90
longitudenumber required≥ -180 · ≤ 180
No other fields are accepted.
- object
Fields
place_idstring required
No other fields are accepted.
- object
Fields
querystring requiredat least 2 characters · at most 120 characters
No other fields are accepted.
- Coordinates
timezonestring"auto" (from coordinates AND date), an IANA name, or a fixed offset like "+05:30".
default
"auto"
No other fields are accepted.
brandobject requirednamestring requiredPrinted at the top of every page.
at least 1 characters · at most 80 characters
taglinestringat most 120 characters
contactstringPrinted at the foot of every page.
at most 120 characters
colorstringAccent colour, as #rrggbb.
pattern
^#[0-9a-fA-F]{6}$logo_base64stringA PNG or JPEG in base64, up to about 150 KB.
at most 200000 characters
No other fields are accepted.
client_namestringat least 1 characters · at most 80 characters
langstringone of
en,hi· default"en"stylestringone of
north,south· default"north"
No other fields are accepted.
Response
application/pdf
Errors: 400, 401, 403, 404, 422, 429, 500. See error codes.
Example request
curl -X POST 'https://api.astrologics.in/v1/reports/kundli.pdf' \
-H 'Authorization: Bearer al_test_YOUR_KEY' \
-H 'Content-Type: application/json' \
-d '{"birth":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}},"brand":{"name":"Sample Jyotish Studio","contact":"hello@example.com","color":"#1f4e79"},"client_name":"Sample Client","lang":"en"}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/reports/kundli.pdf", {
method: "POST",
headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
body: JSON.stringify({
"birth": {
"date": "1990-08-13",
"time": "06:30",
"place": {
"latitude": 28.6139,
"longitude": 77.209
}
},
"brand": {
"name": "Sample Jyotish Studio",
"contact": "hello@example.com",
"color": "#1f4e79"
},
"client_name": "Sample Client",
"lang": "en"
}),
});
console.log(await res.text());Python
import json
import urllib.error
import urllib.request
body = {
"birth": {
"date": "1990-08-13",
"time": "06:30",
"place": {
"latitude": 28.6139,
"longitude": 77.209,
},
},
"brand": {
"name": "Sample Jyotish Studio",
"contact": "hello@example.com",
"color": "#1f4e79",
},
"client_name": "Sample Client",
"lang": "en",
}
req = urllib.request.Request(
"https://api.astrologics.in/v1/reports/kundli.pdf",
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/reports/kundli.pdf');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"birth":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}},"brand":{"name":"Sample Jyotish Studio","contact":"hello@example.com","color":"#1f4e79"},"client_name":"Sample Client","lang":"en"}',
CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;Example response
Returns a PDF document. Save the response body as a file.
Try it
A client-ready matching report as a PDF: Ashtakoot, Dashakoot and Manglik
POST/v1/reports/match.pdf
10 credits · Secret key (test or live) · getMatchReport · Page for this operation
Needs both birth times. With lang hi the labels and Dashakoot are Hindi; Ashtakoot notes and Manglik notes stay in English. Nothing is stored.
Request body
person_aBirth requireddatestring (date) requirede.g.
"1990-08-13"timestringpattern
^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$· e.g."06:30"time_accuracystringWith "unknown", lagna- and house-dependent fields are omitted and listed in warnings — never filled with a noon default.
one of
exact,approximate,unknown· default"exact"placeCoordinates or object or object requiredCoordinates, a place_id from /v1/places/search, or a free-text query. A vague query returns 422 place_ambiguous with candidates; the API never guesses.
One of:
- Coordinates
Fields
latitudenumber required≥ -90 · ≤ 90
longitudenumber required≥ -180 · ≤ 180
No other fields are accepted.
- object
Fields
place_idstring required
No other fields are accepted.
- object
Fields
querystring requiredat least 2 characters · at most 120 characters
No other fields are accepted.
- Coordinates
timezonestring"auto" (from coordinates AND date), an IANA name, or a fixed offset like "+05:30".
default
"auto"
No other fields are accepted.
person_bBirth requireddatestring (date) requirede.g.
"1990-08-13"timestringpattern
^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$· e.g."06:30"time_accuracystringWith "unknown", lagna- and house-dependent fields are omitted and listed in warnings — never filled with a noon default.
one of
exact,approximate,unknown· default"exact"placeCoordinates or object or object requiredCoordinates, a place_id from /v1/places/search, or a free-text query. A vague query returns 422 place_ambiguous with candidates; the API never guesses.
One of:
- Coordinates
Fields
latitudenumber required≥ -90 · ≤ 90
longitudenumber required≥ -180 · ≤ 180
No other fields are accepted.
- object
Fields
place_idstring required
No other fields are accepted.
- object
Fields
querystring requiredat least 2 characters · at most 120 characters
No other fields are accepted.
- Coordinates
timezonestring"auto" (from coordinates AND date), an IANA name, or a fixed offset like "+05:30".
default
"auto"
No other fields are accepted.
brandobject requirednamestring requiredPrinted at the top of every page.
at least 1 characters · at most 80 characters
taglinestringat most 120 characters
contactstringPrinted at the foot of every page.
at most 120 characters
colorstringAccent colour, as #rrggbb.
pattern
^#[0-9a-fA-F]{6}$logo_base64stringA PNG or JPEG in base64, up to about 150 KB.
at most 200000 characters
No other fields are accepted.
name_astringat least 1 characters · at most 80 characters
name_bstringat least 1 characters · at most 80 characters
langstringone of
en,hi· default"en"
No other fields are accepted.
Response
application/pdf
Errors: 400, 401, 403, 404, 422, 429, 500. See error codes.
Example request
curl -X POST 'https://api.astrologics.in/v1/reports/match.pdf' \
-H 'Authorization: Bearer al_test_YOUR_KEY' \
-H 'Content-Type: application/json' \
-d '{"person_a":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}},"person_b":{"date":"1992-03-02","time":"14:10","place":{"latitude":19.076,"longitude":72.8777}},"brand":{"name":"Sample Jyotish Studio"},"lang":"hi"}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/reports/match.pdf", {
method: "POST",
headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
body: JSON.stringify({
"person_a": {
"date": "1990-08-13",
"time": "06:30",
"place": {
"latitude": 28.6139,
"longitude": 77.209
}
},
"person_b": {
"date": "1992-03-02",
"time": "14:10",
"place": {
"latitude": 19.076,
"longitude": 72.8777
}
},
"brand": {
"name": "Sample Jyotish Studio"
},
"lang": "hi"
}),
});
console.log(await res.text());Python
import json
import urllib.error
import urllib.request
body = {
"person_a": {
"date": "1990-08-13",
"time": "06:30",
"place": {
"latitude": 28.6139,
"longitude": 77.209,
},
},
"person_b": {
"date": "1992-03-02",
"time": "14:10",
"place": {
"latitude": 19.076,
"longitude": 72.8777,
},
},
"brand": {
"name": "Sample Jyotish Studio",
},
"lang": "hi",
}
req = urllib.request.Request(
"https://api.astrologics.in/v1/reports/match.pdf",
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/reports/match.pdf');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"person_a":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}},"person_b":{"date":"1992-03-02","time":"14:10","place":{"latitude":19.076,"longitude":72.8777}},"brand":{"name":"Sample Jyotish Studio"},"lang":"hi"}',
CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;Example response
Returns a PDF document. Save the response body as a file.
Try it
A client-ready Vastu report as a PDF: mandala, plot, door and rooms
POST/v1/reports/vastu.pdf
10 credits · Secret key (test or live) · getVastuReport · Page for this operation
The plot and mandala always; the ground, door and rooms when you send them. English or Hindi throughout. Nothing is stored.
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.
brandobject requirednamestring requiredPrinted at the top of every page.
at least 1 characters · at most 80 characters
taglinestringat most 120 characters
contactstringPrinted at the foot of every page.
at most 120 characters
colorstringAccent colour, as #rrggbb.
pattern
^#[0-9a-fA-F]{6}$logo_base64stringA PNG or JPEG in base64, up to about 150 KB.
at most 200000 characters
No other fields are accepted.
client_namestringat least 1 characters · at most 80 characters
langstringone of
en,hi· default"en"gridintegerThe mandala: 81 squares (verse 42) or 64 (verse 55).
one of
81,64· default81groundobjectirregular_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.
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.
roomsarray of objectat 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
application/pdf
Errors: 400, 401, 403, 404, 422, 429, 500. See error codes.
Example request
curl -X POST 'https://api.astrologics.in/v1/reports/vastu.pdf' \
-H 'Authorization: Bearer al_test_YOUR_KEY' \
-H 'Content-Type: application/json' \
-d '{"plot":{"width_m":20,"depth_m":25,"facing_deg":90},"brand":{"name":"Sample Vastu Studio"},"door":{"wall":"front","from_left_m":10,"width_m":1.2},"rooms":[{"type":"kitchen","zone":"southeast"},{"type":"puja","zone":"northeast"}],"lang":"hi"}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/reports/vastu.pdf", {
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
},
"brand": {
"name": "Sample Vastu Studio"
},
"door": {
"wall": "front",
"from_left_m": 10,
"width_m": 1.2
},
"rooms": [
{
"type": "kitchen",
"zone": "southeast"
},
{
"type": "puja",
"zone": "northeast"
}
],
"lang": "hi"
}),
});
console.log(await res.text());Python
import json
import urllib.error
import urllib.request
body = {
"plot": {
"width_m": 20,
"depth_m": 25,
"facing_deg": 90,
},
"brand": {
"name": "Sample Vastu Studio",
},
"door": {
"wall": "front",
"from_left_m": 10,
"width_m": 1.2,
},
"rooms": [
{
"type": "kitchen",
"zone": "southeast",
},
{
"type": "puja",
"zone": "northeast",
},
],
"lang": "hi",
}
req = urllib.request.Request(
"https://api.astrologics.in/v1/reports/vastu.pdf",
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/reports/vastu.pdf');
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},"brand":{"name":"Sample Vastu Studio"},"door":{"wall":"front","from_left_m":10,"width_m":1.2},"rooms":[{"type":"kitchen","zone":"southeast"},{"type":"puja","zone":"northeast"}],"lang":"hi"}',
CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;Example response
Returns a PDF document. Save the response body as a file.