TutorialApril 202610 min read
Kundali Matching API: Build Compatibility Features in 30 Minutes
Kundali matching (guna milan) is the most-used feature on matrimonial platforms. This tutorial shows you how to integrate the full 36-point compatibility score, rajju-vedha dosha check, and aggregate recommendation into any app in 30 minutes.
The matching endpoints
/matching/north-matchAshta Koota (36-point) guna milan — North Indian style/matching/south-matchDasha Koota (10-point) matching — South Indian style/matching/rajju-vedha-matchRajju and Vedha dosha check/matching/aggregate-matchCombined score with overall recommendation/matching/nakshatra-matchNakshatra-level compatibility/matching/bulk-north-matchMatch up to 10 pairs in a single callFetching guna milan + rajju-vedha + aggregate
const BASE = 'https://vedintelastroapi.com/api/v1'
async function getCompatibility(male: BirthData, female: BirthData) {
const params = new URLSearchParams({
api_key: process.env.VEDINTEL_KEY!,
// Male birth data
m_dob: male.dob, m_tob: male.tob,
m_lat: String(male.lat), m_lon: String(male.lon), m_tz: String(male.tz),
// Female birth data
f_dob: female.dob, f_tob: female.tob,
f_lat: String(female.lat), f_lon: String(female.lon), f_tz: String(female.tz),
})
const [northMatch, rajjuVedha, aggregate] = await Promise.all([
fetch(`${BASE}/matching/north-match?${params}`).then(r => r.json()),
fetch(`${BASE}/matching/rajju-vedha-match?${params}`).then(r => r.json()),
fetch(`${BASE}/matching/aggregate-match?${params}`).then(r => r.json()),
])
return {
gunaMilan: northMatch.response, // 36-point Ashta Koota breakdown
rajjuVedha: rajjuVedha.response, // Rajju + Vedha dosha check
aggregate: aggregate.response, // Overall recommendation
}
}Response structure
// gunaMilan response (north-match)
{
"total_points": 28,
"maximum_points": 36,
"compatibility_percentage": 77.8,
"koota": [
{ "name": "Varna", "points": 1, "max": 1, "description": "Spiritual compatibility" },
{ "name": "Vashya", "points": 2, "max": 2, "description": "Dominance compatibility" },
{ "name": "Tara", "points": 3, "max": 3, "description": "Birth star compatibility" },
{ "name": "Yoni", "points": 3, "max": 4, "description": "Biological compatibility" },
{ "name": "Maitri", "points": 5, "max": 5, "description": "Mental compatibility" },
{ "name": "Gana", "points": 6, "max": 6, "description": "Temperament match" },
{ "name": "Bhakoot", "points": 7, "max": 7, "description": "Destiny compatibility" },
{ "name": "Nadi", "points": 1, "max": 8, "description": "Genetic compatibility" }
],
"recommendation": "Good match — 18+ points required, 28 points indicates strong compatibility."
}Displaying the results
Recommended UI pattern:
- Score banner — "28 / 36 points (77%)" in large type at the top
- Koota breakdown — expandable list of all 8 kootas with points and descriptions
- Dosha flags — colour-coded Rajju and Vedha pass/fail badges
- Recommendation text — from the aggregate endpoint
South Indian matching
Replace /matching/north-match with /matching/south-match for the 10-point Dasha Koota system used in Tamil Nadu, Karnataka, and Kerala. The request parameters are identical.
Bulk matching for matrimony platforms
The /matching/bulk-north-match endpoint accepts up to 10 male-female pairs in a single POST request. Ideal for showing compatibility scores against a list of suggested profiles.
All matching endpoints are available on the free plan.
Get free API key →