Shodasamsa chart (D16 Chart) SVG Image URL
Generate Shodasamsa (D16) divisional horoscope charts as SVG images and receive a direct Amazon S3 URL in the API response. Customize North Indian or South Indian chart layouts, fonts, colors, planetary display settings, and supported languages. Easily integrate D16 chart images into astrology websites, applications, dashboards, and PDF reports.
Overview
The Shodasamsa Chart (D16) is a divisional chart in Vedic astrology, created by dividing each zodiac sign into sixteen equal parts, resulting in 192 divisions across the zodiac.
Traditionally, the D16 chart is studied to understand vehicles, comforts, luxuries, material pleasures, and overall happiness and contentment. Astrologers examine planetary placements and combinations in this chart as part of a broader horoscope analysis.
This API generates a D16 Shodasamsa chart as an SVG image using the native's birth date, time, latitude, longitude, and timezone. The generated image is stored on Amazon S3, and the API returns a URL to access the SVG image.
Unlike the D16 SVG Code endpoint, which returns SVG markup directly, this endpoint provides a hosted SVG image URL. Developers can use this URL as an image source in websites, mobile applications, dashboards, and dynamically generated PDF reports.
The API supports both North Indian and South Indian chart layouts. Developers can customize chart appearance through options for fonts, background colors, borders, planetary labels, chart headings, and native details. You can also configure the ayanamsha, observation point, and preferred language.
The endpoint supports 14 languages, including English, Telugu, Hindi, Tamil, Kannada, Malayalam, Odia, Gujarati, Punjabi, Bengali, Marathi, Assamese, Urdu, and Nepali.
The API response contains a status code and the generated SVG image URL in the output field. Use this URL directly to display the D16 chart in your application.
Request Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
year
|
integer | Yes | Year number, eg: 2023 | 2023 |
month
|
integer | Yes | Month number,with no leading zero | 7 |
date
|
integer | Yes | Day number,with no leading zero | 5 |
hours
|
integer | Yes | Hours number,with no leading zero | 1 |
minutes
|
integer | Yes | Minutes number,with no leading zero | 1 |
seconds
|
integer | Yes | Seconds number, with no leading zero | 0 |
latitude
|
float | Yes | Latitude number, in the range from -90 to 90 | 12.86 |
longitude
|
float | Yes | Longitude number, in the range from -180 to 180 | 123.5 |
timezone
|
float | Yes | Timezone of birth location, eg: 5.5 | 5.5 |
config
|
object | No | Contains optional configuration values | |
ayanamsha
|
string | No | Either "tropical" or "sayana" or "lahiri" | Either "tropical" or "sayana" or "lahiri" |
language
|
string | No | Valid 2 letter ISO 639-1 language code | Either "en" For English or "te" for Telugu or "hi" for Hindi or "ta" for Tamil or "kn" for Kannada or "ml" for Malayalam or "or" for Odia or "gu" for Gujarati or "pa" for Punjabi or "bn" for Bengali or "mr" for Marathi or "as" for Assamese or "ur" for Urdu or "ne" for Nepali |
observation_point
|
string | No | Geocentric positions are calculated with respect to the center of Earth. Topocentric positions are calculated with respect to the actual given place | Either "topocentric" or "geocentric" |
chart_config
|
object | No | Configuration properties of Chart | |
font_family
|
string | No | Font name | Mallana or Roboto |
hide_time_location
|
boolean | No | Whether to write or hide Time and Location information on chart | "True" or "False" |
hide_outer_planets
|
boolean | No | Whether to hide Outer Planets or not | "True" or "False" |
chart_style
|
string | No | Chart Style | "south_india" or "north_india" |
sign_number_font_color
|
string | No | HEX color code to be used for Sign Numbers (works for north_india chart only) | #A5243D |
native_name
|
string | No | Native Name | Mr Ram Charan |
native_name_font_size
|
string | No | Font Size to be used to show Native Name | 20px |
native_details_font_size
|
string | No | Font size to be used to print Native Details | 22px |
chart_border_width
|
integer | No | Border width of Chart | 1 |
planet_name_font_size
|
string | No | Font size to be used to show Planet names | 22px |
chart_heading_font_size
|
string | No | Font Size to be used to show Chart Heading | 25px |
chart_background_color
|
string | No | HEX color code to be used for Chart Background | #FEE1C7 |
chart_border_color
|
string | No | HEX color code to be used for chart borders | #B5A886 |
native_details_font_color
|
string | No | HEX color code to be used to show Native details | #000000 |
native_name_font_color
|
string | No | HEX color code to be uses to show native name | #231F20 |
planet_name_font_color
|
string | No | HEX color code to be used tp show Planet names | #BC412B |
chart_heading_font_color
|
string | No | HEX color code to be used to show Chart Heading | #2D3319 |
Supported Languages
This API endpoint supports the following languages.
Use the corresponding 2-letter language code
in the language parameter when making your request.
| Language | Code |
|---|---|
| English |
en
|
| Telugu |
te
|
| Hindi |
hi
|
| Tamil |
ta
|
| Kannada |
kn
|
| Malayalam |
ml
|
| Odia |
or
|
| Gujarati |
gu
|
| Punjabi |
pa
|
| Bengali |
bn
|
| Marathi |
mr
|
| Assamese |
as
|
| Urdu |
ur
|
| Nepali |
ne
|
To request the response in Telugu, use
te as the language code:
{
"language": "te"
}
Request Example
{
"year": 2024,
"month": 1,
"date": 1,
"hours": 10,
"minutes": 30,
"seconds": 31,
"latitude": 17.38333,
"longitude": 78.4666,
"timezone": 5.5,
"config": {
"observation_point": "topocentric", /* geocentric / topocentric */
"ayanamsha": "lahiri", /* lahiri / sayana */
"language":"te" /* en / te / hi / ta / kn / ml / or / gu / pa / bn / mr / as / ur / ne */
},
"chart_config" : {
"font_family":"Mallanna", /* Mallanna / Roboto */
"hide_time_location":"False", /* True / False */
"hide_outer_planets":"False", /* True / False */
"chart_style":"south_india", /* south_india / north_india */
"sign_number_font_color":"#A5243D",/* works for north_india chart only */
"native_name":"Mr. Ram Charan",
"native_name_font_size": "20px",
"native_details_font_size":"15px",
"chart_border_width":1,
"planet_name_font_size": "20px",
"chart_heading_font_size":"25px",
"chart_background_color":"#FEE1C7",
"chart_border_color":"#B5A886",
"native_details_font_color":"#000",
"native_name_font_color": "#231F20",
"planet_name_font_color": "#BC412B",
"chart_heading_font_color":"#2D3319"
}
}
Response Examples
Example responses returned by this API.
{
"statusCode": 200,
"output": "https://jyotish-software.s3.ap-south-1.amazonaws.com/Chart_1787660389187.svg"
}
Code Examples
Use the following examples to integrate this API into your application.
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://json.freeastrologyapi.com/d16-chart-url',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"year": 2020,
"month": 2,
"date": 8,
"hours": 14,
"minutes": 45,
"seconds": 0,
"latitude": 17.38333,
"longitude": 78.4666,
"timezone": 5.5,
"config": {
"observation_point": "topocentric",
"ayanamsha": "lahiri",
"language":"en"
},
"chart_config" : {
"font_family":"Roboto",
"hide_time_location":"False",
"hide_outer_planets":"False",
"chart_style":"north_india",
"sign_number_font_color":"#A5243D",
"native_name":"Mr. Ram Charan",
"native_name_font_size": "20px",
"native_details_font_size":"15px",
"chart_border_width":1,
"planet_name_font_size": "20px",
"chart_heading_font_size":"25px",
"chart_background_color":"#FEE1C7",
"chart_border_color":"#B5A886",
"native_details_font_color":"#000",
"native_name_font_color": "#231F20",
"planet_name_font_color": "#BC412B",
"chart_heading_font_color":"#2D3319"
}
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'x-api-key: YOUR_API_KEY_HERE'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
import json
url = "https://json.freeastrologyapi.com/d16-chart-url"
payload = json.dumps({
"year": 2020,
"month": 2,
"date": 8,
"hours": 14,
"minutes": 45,
"seconds": 0,
"latitude": 17.38333,
"longitude": 78.4666,
"timezone": 5.5,
"config": {
"observation_point": "topocentric",
"ayanamsha": "lahiri",
"language": "en"
},
"chart_config": {
"font_family": "Roboto",
"hide_time_location": "False",
"hide_outer_planets": "False",
"chart_style": "north_india",
"sign_number_font_color": "#A5243D",
"native_name": "Mr. Ram Charan",
"native_name_font_size": "20px",
"native_details_font_size": "15px",
"chart_border_width": 1,
"planet_name_font_size": "20px",
"chart_heading_font_size": "25px",
"chart_background_color": "#FEE1C7",
"chart_border_color": "#B5A886",
"native_details_font_color": "#000",
"native_name_font_color": "#231F20",
"planet_name_font_color": "#BC412B",
"chart_heading_font_color": "#2D3319"
}
})
headers = {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY_HERE'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://json.freeastrologyapi.com/d16-chart-url',
'headers': {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY_HERE'
},
body: JSON.stringify({
"year": 2020,
"month": 2,
"date": 8,
"hours": 14,
"minutes": 45,
"seconds": 0,
"latitude": 17.38333,
"longitude": 78.4666,
"timezone": 5.5,
"config": {
"observation_point": "topocentric",
"ayanamsha": "lahiri",
"language": "en"
},
"chart_config": {
"font_family": "Roboto",
"hide_time_location": "False",
"hide_outer_planets": "False",
"chart_style": "north_india",
"sign_number_font_color": "#A5243D",
"native_name": "Mr. Ram Charan",
"native_name_font_size": "20px",
"native_details_font_size": "15px",
"chart_border_width": 1,
"planet_name_font_size": "20px",
"chart_heading_font_size": "25px",
"chart_background_color": "#FEE1C7",
"chart_border_color": "#B5A886",
"native_details_font_color": "#000",
"native_name_font_color": "#231F20",
"planet_name_font_color": "#BC412B",
"chart_heading_font_color": "#2D3319"
}
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});