POST

Ashtakoot Score

Calculate the Ashtakoota (Ashtakoot) compatibility score for two people using their birth date, time, and geographical coordinates. Get a total score out of 36 along with individual scores for all eight Kootas to integrate traditional Vedic marriage matching into your astrology application.

/match-making/ashtakoot-score
Method
POST
Format
JSON
Auth
API Key
Credits
1

Overview

The Ashtakoot Score API calculates traditional Vedic horoscope compatibility between two people using their birth details. It evaluates eight matching factors: Varna, Vashya, Tara, Yoni, Graha Maitri, Gana, Rasi (Bhakoot), and Nadi. The combined score is calculated out of a maximum of 36 points, making this API useful for applications that provide Kundli matching and marriage compatibility analysis.

The API returns the total Ashtakoota score along with individual scores and detailed information for each Koota. The response includes relevant Moon sign, Nakshatra, planetary ruler, and matching-category details for both individuals, depending on the Koota. Developers can use these results to display compatibility scores and explain the individual components of traditional Vedic horoscope matching.

To calculate the Ashtakoot score, submit the birth year, month, date, time, latitude, longitude, and timezone for both individuals in the female and male objects. Optional configuration settings allow you to select an Ayanamsha, choose a geocentric or topocentric observation point, and specify a supported response language. The API returns the matching results in JSON format for integration into websites, mobile applications, and Vedic astrology software.

Request Parameters

Parameter Type Required Description Example
📦 female
object Yes Female native details
year
integer Yes Birth year of Female native 1986
month
integer Yes Month number,with no leading zero 2
date
integer Yes Day number, with no leading zero 5
hours
integer Yes Hours number, with no leading zero 5
minutes
integer Yes Minutes number, with no leading zero 5
seconds
integer Yes Seconds number, with no leading zero 5
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 5.5
📦 male
object Yes Male native details
month
integer Yes Month number,with no leading zero 2
Year
integer Yes Birth year of Male native 1980
date
string Yes Day number, with no leading zero 2
hours
integer Yes Hours number, with no leading zero 7
minutes
integer Yes Minutes number, with no leading zero 9
seconds
integer Yes Seconds number, with no leading zero 9
latitude
float Yes Latitude number, in the range from -90 to 90 15
longitude
float Yes Longitude number, in the range from -180 to 180 150
timezone
float Yes Time zone of birth location of Male Native 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"

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

{
    "female":{
            "year": 1984,
			"month": 7,
			"date": 17,
			"hours": 11,
			"minutes": 45,
			"seconds": 0,
			"latitude": 16.16667,
			"longitude": 81.1333,
			"timezone": 5.5
    },
    "male":{
			"year": 1984,
			"month": 4,
			"date": 3,
			"hours": 9,
			"minutes": 15,
			"seconds": 31,
			"latitude": 16.51667,
			"longitude": 80.61667,
			"timezone": 5.5
    },
     "config": {
        "observation_point": "topocentric",
        "language": "te",
        "ayanamsha": "lahiri"
    }
}

Response Examples

Example responses returned by this API.

English Response
{
    "statusCode": 200,
    "output": {
        "out_of": 36,
        "total_score": 15.0,
        "varna_kootam": {
            "bride": {
                "moon_sign_number": 11,
                "moon_sign": "Aquarius",
                "varnam": 4,
                "varnam_name": "Soodra"
            },
            "groom": {
                "moon_sign_number": 1,
                "moon_sign": "Aries",
                "varnam": 2,
                "varnam_name": "Kshatriya"
            },
            "out_of": 1,
            "score": 1
        },
        "vasya_kootam": {
            "bride": {
                "bride_kootam": 2,
                "bride_kootam_name": "Manava"
            },
            "groom": {
                "groom_kootam": 1,
                "groom_kootam_name": "Chatushpada"
            },
            "out_of": 2,
            "score": 1
        },
        "tara_kootam": {
            "bride": {
                "star_number": 24,
                "star_name": "Satabisha"
            },
            "groom": {
                "star_number": 1,
                "star_name": "Aswini"
            },
            "out_of": 3,
            "score": 1.5
        },
        "yoni_kootam": {
            "bride": {
                "star": 24,
                "yoni_number": 1,
                "yoni": "Horse"
            },
            "groom": {
                "star": 1,
                "yoni_number": 1,
                "yoni": "Horse"
            },
            "out_of": 4,
            "score": 4
        },
        "graha_maitri_kootam": {
            "bride": {
                "moon_sign_number": 11,
                "moon_sign": "Aquarius",
                "moon_sign_lord": 7,
                "moon_sign_lord_name": "Saturn"
            },
            "groom": {
                "moon_sign_number": 1,
                "moon_sign": "Aries",
                "moon_sign_lord": 3,
                "moon_sign_lord_name": "Mars"
            },
            "out_of": 5,
            "score": 0.5
        },
        "gana_kootam": {
            "bride": {
                "bride_nadi": 3,
                "bride_nadi_name": "Rakshasa"
            },
            "groom": {
                "groom_nadi": 1,
                "groom_nadi_name": "Deva"
            },
            "out_of": 6,
            "score": 0
        },
        "rasi_kootam": {
            "bride": {
                "moon_sign": 11,
                "moon_sign_name": "Aquarius"
            },
            "groom": {
                "moon_sign": 1,
                "moon_sign_name": "Aries"
            },
            "out_of": 7,
            "score": 7
        },
        "nadi_kootam": {
            "bride": {
                "nadi": 1,
                "nadi_name": "Adi"
            },
            "groom": {
                "nadi": 1,
                "nadi_name": "Adi"
            },
            "out_of": 8,
            "score": 0
        }
    }
}
Hindi Response
{
    "statusCode": 200,
    "output": {
        "out_of": 36,
        "total_score": 15.0,
        "varna_kootam": {
            "bride": {
                "moon_sign_number": 11,
                "moon_sign": "कुंभ",
                "varnam": 4,
                "varnam_name": "शूद्र"
            },
            "groom": {
                "moon_sign_number": 1,
                "moon_sign": "मेष",
                "varnam": 2,
                "varnam_name": "क्षत्रिय"
            },
            "out_of": 1,
            "score": 1
        },
        "vasya_kootam": {
            "bride": {
                "bride_kootam": 2,
                "bride_kootam_name": "मानव"
            },
            "groom": {
                "groom_kootam": 1,
                "groom_kootam_name": "चतुष्पाद"
            },
            "out_of": 2,
            "score": 1
        },
        "tara_kootam": {
            "bride": {
                "star_number": 24,
                "star_name": "शतभिषा"
            },
            "groom": {
                "star_number": 1,
                "star_name": "अश्विनि"
            },
            "out_of": 3,
            "score": 1.5
        },
        "yoni_kootam": {
            "bride": {
                "star": 24,
                "yoni_number": 1,
                "yoni": "घोड़ा"
            },
            "groom": {
                "star": 1,
                "yoni_number": 1,
                "yoni": "घोड़ा"
            },
            "out_of": 4,
            "score": 4
        },
        "graha_maitri_kootam": {
            "bride": {
                "moon_sign_number": 11,
                "moon_sign": "कुंभ",
                "moon_sign_lord": 7,
                "moon_sign_lord_name": "शनि"
            },
            "groom": {
                "moon_sign_number": 1,
                "moon_sign": "मेष",
                "moon_sign_lord": 3,
                "moon_sign_lord_name": "मंगल"
            },
            "out_of": 5,
            "score": 0.5
        },
        "gana_kootam": {
            "bride": {
                "bride_nadi": 3,
                "bride_nadi_name": "राक्षस"
            },
            "groom": {
                "groom_nadi": 1,
                "groom_nadi_name": "देव"
            },
            "out_of": 6,
            "score": 0
        },
        "rasi_kootam": {
            "bride": {
                "moon_sign": 11,
                "moon_sign_name": "कुंभ"
            },
            "groom": {
                "moon_sign": 1,
                "moon_sign_name": "मेष"
            },
            "out_of": 7,
            "score": 7
        },
        "nadi_kootam": {
            "bride": {
                "nadi": 1,
                "nadi_name": "प्रथम"
            },
            "groom": {
                "nadi": 1,
                "nadi_name": "प्रथम"
            },
            "out_of": 8,
            "score": 0
        }
    }
}
Telugu Response
{
    "statusCode": 200,
    "output": {
        "out_of": 36,
        "total_score": 15.0,
        "varna_kootam": {
            "bride": {
                "moon_sign_number": 11,
                "moon_sign": "కుంభము",
                "varnam": 4,
                "varnam_name": "శూద్ర"
            },
            "groom": {
                "moon_sign_number": 1,
                "moon_sign": "మేషం",
                "varnam": 2,
                "varnam_name": "క్షత్రియ"
            },
            "out_of": 1,
            "score": 1
        },
        "vasya_kootam": {
            "bride": {
                "bride_kootam": 2,
                "bride_kootam_name": "మానవ"
            },
            "groom": {
                "groom_kootam": 1,
                "groom_kootam_name": "చతుష్పాద"
            },
            "out_of": 2,
            "score": 1
        },
        "tara_kootam": {
            "bride": {
                "star_number": 24,
                "star_name": "శతభిష"
            },
            "groom": {
                "star_number": 1,
                "star_name": "అశ్విని"
            },
            "out_of": 3,
            "score": 1.5
        },
        "yoni_kootam": {
            "bride": {
                "star": 24,
                "yoni_number": 1,
                "yoni": "గుఱ్ఱం"
            },
            "groom": {
                "star": 1,
                "yoni_number": 1,
                "yoni": "గుఱ్ఱం"
            },
            "out_of": 4,
            "score": 4
        },
        "graha_maitri_kootam": {
            "bride": {
                "moon_sign_number": 11,
                "moon_sign": "కుంభము",
                "moon_sign_lord": 7,
                "moon_sign_lord_name": "శని"
            },
            "groom": {
                "moon_sign_number": 1,
                "moon_sign": "మేషం",
                "moon_sign_lord": 3,
                "moon_sign_lord_name": "కుజ"
            },
            "out_of": 5,
            "score": 0.5
        },
        "gana_kootam": {
            "bride": {
                "bride_nadi": 3,
                "bride_nadi_name": "రాక్షస"
            },
            "groom": {
                "groom_nadi": 1,
                "groom_nadi_name": "దేవ"
            },
            "out_of": 6,
            "score": 0
        },
        "rasi_kootam": {
            "bride": {
                "moon_sign": 11,
                "moon_sign_name": "కుంభము"
            },
            "groom": {
                "moon_sign": 1,
                "moon_sign_name": "మేషం"
            },
            "out_of": 7,
            "score": 7
        },
        "nadi_kootam": {
            "bride": {
                "nadi": 1,
                "nadi_name": "ఆది"
            },
            "groom": {
                "nadi": 1,
                "nadi_name": "ఆది"
            },
            "out_of": 8,
            "score": 0
        }
    }
}

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/match-making/ashtakoot-score',
  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 =>'{
    "female":{
            "year": 1984,
			"month": 7,
			"date": 17,
			"hours": 11,
			"minutes": 45,
			"seconds": 0,
			"latitude": 16.16667,
			"longitude": 81.1333,
			"timezone": 5.5
    },
    "male":{
			"year": 1984,
			"month": 4,
			"date": 3,
			"hours": 9,
			"minutes": 15,
			"seconds": 31,
			"latitude": 16.51667,
			"longitude": 80.61667,
			"timezone": 5.5
    },
     "config": {
        "observation_point": "topocentric",
        "language": "en",
        "ayanamsha": "lahiri"
    }
}',
  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/match-making/ashtakoot-score"

payload = json.dumps({
  "female": {
    "year": 1984,
    "month": 7,
    "date": 17,
    "hours": 11,
    "minutes": 45,
    "seconds": 0,
    "latitude": 16.16667,
    "longitude": 81.1333,
    "timezone": 5.5
  },
  "male": {
    "year": 1984,
    "month": 4,
    "date": 3,
    "hours": 9,
    "minutes": 15,
    "seconds": 31,
    "latitude": 16.51667,
    "longitude": 80.61667,
    "timezone": 5.5
  },
  "config": {
    "observation_point": "topocentric",
    "language": "en",
    "ayanamsha": "lahiri"
  }
})
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/match-making/ashtakoot-score',
  'headers': {
    'Content-Type': 'application/json',
    'x-api-key': 'YOUR_API_KEY_HERE'
  },
  body: JSON.stringify({
    "female": {
      "year": 1984,
      "month": 7,
      "date": 17,
      "hours": 11,
      "minutes": 45,
      "seconds": 0,
      "latitude": 16.16667,
      "longitude": 81.1333,
      "timezone": 5.5
    },
    "male": {
      "year": 1984,
      "month": 4,
      "date": 3,
      "hours": 9,
      "minutes": 15,
      "seconds": 31,
      "latitude": 16.51667,
      "longitude": 80.61667,
      "timezone": 5.5
    },
    "config": {
      "observation_point": "topocentric",
      "language": "en",
      "ayanamsha": "lahiri"
    }
  })

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});