POST

Vimsamsa chart (D20 Chart) SVG Image Code

Generate Vimsamsa (D20) divisional horoscope charts in SVG format using birth date, time, and geographical details. Customize North Indian or South Indian chart layouts, languages, fonts, colors, and planetary display settings. Integrate D20 charts into Vedic astrology applications for analyzing spirituality, religious inclinations, devotion, and spiritual progress.

/d20-chart-svg-code
Method
POST
Format
JSON
Auth
API Key
Credits
1

Overview

The D20 Chart SVG API generates a Vimsamsa (D20) divisional horoscope chart in scalable vector graphics (SVG) format using an individual's birth date, time, latitude, longitude, and timezone. In Vedic astrology, the Vimsamsa chart is derived by dividing each zodiac sign into twenty equal parts, resulting in 240 divisions across the zodiac.

The D20 chart is traditionally used to analyze spirituality, religious inclinations, devotion, spiritual practices, and progress on the spiritual path. Astrologers examine planetary placements in this divisional chart to gain additional insights into an individual's spiritual interests, religious activities, worship, and inclination towards spiritual development.

The API supports both North Indian and South Indian chart layouts. Developers can customize the chart appearance using options for font family, font sizes, background color, border color, planetary name colors, chart heading, and native details. You can also configure whether birth time and location information or outer planets should be displayed.

The API supports multiple languages, including English, Telugu, Hindi, Tamil, Kannada, Malayalam, Odia, Gujarati, Punjabi, Bengali, Marathi, Assamese, Urdu, and Nepali. Additional configuration options allow you to select the Ayanamsha system and choose between geocentric and topocentric planetary positions.

The response contains the generated SVG markup in the output field. You can embed this SVG directly into websites, mobile applications, and astrology software, or save it as an SVG file while retaining its scalability and visual quality.

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
Example

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.

English Response
{
    "statusCode": 200,
    "output": "<svg width=\"400\" height=\"400\" xmlns=\"http://www.w3.org/2000/svg\"><defs><style>@import url('https://fonts.googleapis.com/css2?family=Mallanna&amp;display=swap');</style></defs><g><rect stroke=\"#B5A886\"  height=\"400\" width=\"400\" y=\"0\" x=\"0\" stroke-width=\"2\" fill=\"#FEE1C7\"/><line stroke-linecap=\"undefined\" stroke-linejoin=\"undefined\"  y2=\"400\" x2=\"100\" y1=\"0\" x1=\"100\" stroke-width=\"1\" stroke=\"#B5A886\" fill=\"none\"/><line stroke-linecap=\"null\" stroke-linejoin=\"null\"  y2=\"400\" x2=\"300\" y1=\"0\" x1=\"300\" fill-opacity=\"null\" stroke-opacity=\"null\" stroke-width=\"1\" stroke=\"#B5A886\" fill=\"none\"/><line stroke-linecap=\"null\" stroke-linejoin=\"null\" y2=\"100\" x2=\"400\" y1=\"100\" x1=\"0\" fill-opacity=\"null\" stroke-opacity=\"null\" stroke-width=\"1\" stroke=\"#B5A886\" fill=\"none\"/><line stroke=\"#B5A886\" stroke-linecap=\"null\" stroke-linejoin=\"null\" y2=\"300\" x2=\"400\" y1=\"300\" x1=\"0\" fill-opacity=\"null\" stroke-opacity=\"null\" stroke-width=\"1\" fill=\"none\"/><line stroke=\"#B5A886\" stroke-linecap=\"null\" stroke-linejoin=\"null\" y2=\"100\" x2=\"200\" y1=\"0\" x1=\"200\" fill-opacity=\"null\" stroke-opacity=\"null\" stroke-width=\"1\" fill=\"none\"/><line stroke-linecap=\"null\" stroke-linejoin=\"null\" y2=\"200\" x2=\"100\" y1=\"200\" x1=\"0\" fill-opacity=\"null\" stroke-opacity=\"null\" stroke-width=\"1\" stroke=\"#B5A886\" fill=\"none\"/><line stroke-linecap=\"null\" stroke-linejoin=\"null\" y2=\"200\" x2=\"300\" y1=\"200\" x1=\"400\" fill-opacity=\"null\" stroke-opacity=\"null\" stroke-width=\"1\" stroke=\"#B5A886\" fill=\"none\"/><line stroke-linecap=\"null\" stroke-linejoin=\"null\" y2=\"400\" x2=\"200\" y1=\"300\" x1=\"200\" fill-opacity=\"null\" stroke-opacity=\"null\" stroke-width=\"1\" stroke=\"#B5A886\" fill=\"none\"/><text font-size=\"20px\"  x=\"240\" y=\"45\" style=\"fill:#BC412B;\"  font-family=\"'Mallanna', sans-serif\">Ve</text><text font-size=\"20px\"  x=\"340\" y=\"45\" style=\"fill:#BC412B;\"  font-family=\"'Mallanna', sans-serif\">Su</text><text font-size=\"20px\"  x=\"370\" y=\"70\" style=\"fill:#BC412B;\"  font-family=\"'Mallanna', sans-serif\">(Me)</text><text font-size=\"20px\"  x=\"305\" y=\"70\" style=\"fill:#BC412B;\"  font-family=\"'Mallanna', sans-serif\">Sa</text><text font-size=\"20px\"  x=\"340\" y=\"145\" style=\"fill:#BC412B;\"  font-family=\"'Mallanna', sans-serif\">Pl</text><text font-size=\"20px\"  x=\"340\" y=\"245\" style=\"fill:#BC412B;\"  font-family=\"'Mallanna', sans-serif\">(Ur)</text><text font-size=\"20px\"  x=\"370\" y=\"270\" style=\"fill:#BC412B;\"  font-family=\"'Mallanna', sans-serif\">Ne</text><text font-size=\"20px\"  x=\"340\" y=\"345\" style=\"fill:#BC412B;\"  font-family=\"'Mallanna', sans-serif\">Mo</text><text font-size=\"20px\"  x=\"240\" y=\"345\" style=\"fill:#BC412B;\"  font-family=\"'Mallanna', sans-serif\">Asc</text><text font-size=\"20px\"  x=\"270\" y=\"370\" style=\"fill:#BC412B;\"  font-family=\"'Mallanna', sans-serif\">Ma</text><text font-size=\"20px\"  x=\"140\" y=\"345\" style=\"fill:#BC412B;\"  font-family=\"'Mallanna', sans-serif\">Ju</text><text font-size=\"20px\"  x=\"40\" y=\"245\" style=\"fill:#BC412B;\"  font-family=\"'Mallanna', sans-serif\">Ra</text><text font-size=\"20px\"  x=\"70\" y=\"270\" style=\"fill:#BC412B;\"  font-family=\"'Mallanna', sans-serif\">Ke</text><text  font-family=\"'Mallanna', sans-serif\" font-size=\"25px\" style=\"fill:#2D3319;\" x=\"50%\" y=\"30%\" dominant-baseline=\"middle\" text-anchor=\"middle\">Vimsamsa D20 Chart</text><text  font-family=\"'Mallanna', sans-serif\" font-size=\"20px\" style=\"fill:#231F20;\" x=\"50%\" y=\"50%\" dominant-baseline=\"middle\" text-anchor=\"middle\">Mr. Ram Charan</text><text  font-family=\"'Mallanna', sans-serif\" font-size=\"15px\" style=\"fill:#000;\" x=\"50%\" y=\"60%\" dominant-baseline=\"middle\" text-anchor=\"middle\">Jan 1, 2024</text><text  font-family=\"'Mallanna', sans-serif\" font-size=\"15px\" style=\"fill:#000;\" x=\"50%\" y=\"65%\" dominant-baseline=\"middle\" text-anchor=\"middle\">10:30:31 (5:30 EAST)</text><text  font-family=\"'Mallanna', sans-serif\" font-size=\"15px\" style=\"fill:#000;\" x=\"50%\" y=\"70%\" dominant-baseline=\"middle\" text-anchor=\"middle\">78 E 28, 17 N 23</text></g></svg>"
}

Code Examples

Use the following examples to integrate this API into your application.

PHP Code
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://json.freeastrologyapi.com/d20-chart-svg-code',
  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": 2024,
    "month": 1,
    "date": 1,
    "hours": 10,
    "minutes": 30,
    "seconds": 31,
    "latitude": 17.38333,
    "longitude": 78.4666,
    "timezone": 5.5,
    "config": {
        "observation_point": "topocentric", 
        "ayanamsha": "lahiri", 
        "language":"te" 
    },
    "chart_config" :  {
            "font_family":"Mallanna", 
            "hide_time_location":"False", 
            "hide_outer_planets":"False", 
            "chart_style":"south_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;
Python Code
import requests
import json

url = "https://json.freeastrologyapi.com/d20-chart-svg-code"

payload = json.dumps({
  "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",
    "ayanamsha": "lahiri",
    "language": "te"
  },
  "chart_config": {
    "font_family": "Mallanna",
    "hide_time_location": "False",
    "hide_outer_planets": "False",
    "chart_style": "south_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)
Node JS Code
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://json.freeastrologyapi.com/d20-chart-svg-code',
  'headers': {
    'Content-Type': 'application/json',
    'x-api-key': 'YOUR_API_KEY_HERE'
  },
  body: JSON.stringify({
    "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",
      "ayanamsha": "lahiri",
      "language": "te"
    },
    "chart_config": {
      "font_family": "Mallanna",
      "hide_time_location": "False",
      "hide_outer_planets": "False",
      "chart_style": "south_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);
});