Kundli API
Kundli Calculator API
Calculate complete Vedic birth chart (Janam Kundli, natal chart) with all 9 planetary positions (Sun through Ketu) plus Ascendant (Lagna). Kundli calculator API for astrology apps, matrimonial sites. Returns accurate graha positions grouped by zodiac signs (rashis) with nakshatra details and pada. Perfect for kundli generation, horoscope matching, and Vedic astrology software integration.
Location first, chart second
The Kundli API needs latitude, longitude, and timezone. Never ask users to type coordinates. Resolve a city with the Location endpoint first, then feed the result into the request. Timezone accepts a decimal offset or an IANA name.
1 Resolve the location
curl "https://roxyapi.com/api/v2/location/search?q=New York" \
-H "X-API-Key: YOUR_KEY"
# -> cities[0]: { latitude, longitude, timezone: "America/New_York" }2 Call the Kundli endpoint
# feed latitude, longitude and timezone from step 1
POST https://roxyapi.com/api/v2/vedic-astrology/birth-chartRequest
POST /api/v2/vedic-astrology/birth-chart
Parameters
| Parameter | Type | Description |
|---|---|---|
| langquery | string enum | Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English. Default en. |
| focusquery | string enum | Which signification vocabulary the houseThemes map returns. "general" gives the classical bhava significations (self, wealth, siblings, home, and so on). "finance" gives the money reading of the same twelve bhavas, so house 2 returns income and savings, 5 speculation and risk appetite, 8 sudden money and leverage, 11 gains and profits, and 12 expenses and capital outflow. Use "finance" for wealth, income, business and market timing questions in Krishnamurti Paddhati, where the significator house groups 2, 6, 10, 11 for earned income and 5, 8, 11 for speculation are read against a running dasha. Defaults to "general". Default general. |
Request body
| Field | Type | Description |
|---|---|---|
| date* | string (date) | Birth date in YYYY-MM-DD format. Date determines planetary positions and nakshatra calculations for Vedic kundli (janam patri). Accurate birth date is essential for dashas, yoga calculations, and divisional charts (vargas). |
| time* | string (time) | Birth time in 24-hour HH:MM:SS format. Time is CRITICAL for Lagna (Ascendant) calculation and house divisions. It changes every two hours roughly. Even minutes matter for accurate nakshatra pada and divisional chart (D9, D10) calculations. Without exact time, Lagna and house-based predictions will be incorrect. |
| latitude* | number | Birth location latitude in decimal degrees. Location determines local sidereal time for Lagna calculation and affects bhava (house) cusps. Example: Delhi 28.6139, Mumbai 19.0760, Kathmandu 27.7172. |
| longitude* | number | Birth location longitude in decimal degrees. Affects local time calculations and ayanamsha adjustments. Example: Delhi 77.2090, Mumbai 72.8777, Kathmandu 85.3240. |
| timezone | number or string | Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. Defaults to 5.5. |
| ayanamsa | string enum | Sidereal frame (ayanamsa) the chart is cast in. "lahiri" is Lahiri/Chitrapaksha, the traditional Vedic standard used by most software, and is the default. "raman" is the B.V. Raman ayanamsa from Hindu Predictive Astrology, about 1.45 degrees below Lahiri. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue, for reconciling exactly against a specific reference program. The frame rotates the whole zodiac, so a graha sitting within 1.45 degrees of a boundary can change rashi or nakshatra when you switch: pick the one your reference software uses and keep it. |
| ayanamsaValue | number | Custom ayanamsa value in degrees. When provided, overrides the computed ayanamsa from the selected type. Use for testing with specific ayanamsa values or matching a particular reference source. |
| avasthaInfo | boolean | Set true to include a localized meaning and one-sentence classical interpretation beside each graha avastha state, under avasthaInfo on that graha in meta. Defaults to false, so an existing integration is byte-identical until it opts in. Saves a second call to GET /avasthas and the client-side join that would otherwise be needed to turn Yuva or Swapna into readable text. |
| modernPlanets | boolean | Set true to also return Uranus, Neptune and Pluto, under the Sanskrit names Arun, Varun and Yam that Indian software prints for them. They arrive in a separate modernPlanets array, NOT inside meta, because classical Jyotish is defined over nine grahas: the moderns rule no sign, so they have no dignity, avastha, combustion or aspect strength and it would be fabrication to report one. Each carries longitude, rashi, degree in sign, nakshatra with pada and lord, and retrograde status. Defaults to false, so an existing integration is byte-identical until it opts in. |
Example request
{
"date": "1990-07-04",
"time": "10:12:00",
"latitude": 28.6139,
"longitude": 77.209
}Response
Structured JSON with documented fields, covered by 6,044 automated tests per deploy, 1,241 of them gold-standard tests verified against NASA JPL Horizons. Not hallucinated text.
{
"aries": {
"rashi": "aries",
"signs": []
},
"meta": {
"Sun": {
"graha": "Sun",
"rashi": "Leo",
"longitude": 132.45,
"nakshatra": {
"name": "Magha",
"pada": 2,
"key": 9,
"lord": "Ketu"
},
"isRetrograde": false,
"house": 5,
"awastha": "Vriddha"
},
"Moon": {
"graha": "Moon",
"rashi": "Cancer",
"longitude": 98.32,
"nakshatra": {
"name": "Punarvasu",
"pada": 4,
"key": 6,
"lord": "Jupiter"
},
"isRetrograde": false,
"house": 4,
"awastha": "Yuva"
}
}
}Response fields
| Field | Type | Description |
|---|---|---|
| aries* | object | |
| aries.rashi* | string | Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces". |
| aries.signs* | array of object | Planets placed in this zodiac sign. |
| aries.signs[].graha* | string | Planet (graha) placed in this sign. |
| aries.signs[].longitude* | number | Sidereal longitude in degrees (0-360) using Lahiri ayanamsa. |
| aries.signs[].nakshatra* | object | |
| aries.signs[].nakshatra.name* | string | Nakshatra (lunar mansion, 1 of 27) the planet occupies. |
| aries.signs[].nakshatra.pada* | number | Nakshatra pada (quarter, 1-4). Each nakshatra has 4 padas of 3 degrees 20 each. |
| aries.signs[].nakshatra.key* | number | Nakshatra index (1-27) in the zodiac sequence starting from Ashwini. |
| aries.signs[].nakshatra.lord* | string enum | Vimshottari ruling planet of this nakshatra. One of the nine grahas (Ketu, Venus, Sun, Moon, Mars, Rahu, Jupiter, Saturn, Mercury). Drives the dasha sequence and the nakshatra qualities. |
| aries.signs[].isRetrograde* | boolean | True if planet is in retrograde motion (appears to move backward). Retrograde planets have altered significations. |
| aries.signs[].house | integer | Bhava (house) number 1-12, counted whole-sign from the Lagna (house 1 is the Lagna rashi). Present on the D1 birth chart; divisional charts (navamsa, varga) omit it. |
| aries.signs[].awastha | string enum | Baladi avastha, the planetary age-state set by the graha degree within its sign: Bala (infant), Kumara (child), Yuva (adult, strongest results), Vriddha (old), Mrita (dead, weakest). Bands run forward in odd signs and reversed in even signs. D1 birth chart only. |
| aries.signs[].jagradadi | string enum | Jagradadi avastha, the waking state of the graha set by its sign dignity: Jagrat (awake, own sign or exaltation, full results), Swapna (dreaming, a friendly or neutral sign, medium results), Sushupti (sleeping, an enemy sign or debilitation, no results). Present for the seven classical grahas on the D1 chart; Rahu, Ketu and the Lagna own no sign and are omitted. |
Show all fieldsShow fewer fields
| Field | Type | Description |
|---|---|---|
| aries.signs[].deeptadi | string enum | Deeptadi avastha, the dispositional state of the graha, one of nine: Dipta (exalted, blazing), Svastha (own sign, healthy), Pramudita (great friend sign, delighted), Shanta (friendly sign, at peace), Dina (neutral sign, helpless), Duhkhita (enemy sign, sorrowful), Khala (great enemy sign, harsh), Vikala (joined by a natural malefic, disabled), Kopa (eclipsed by the Sun, enraged). Where more than one applies the more severe is returned, so combustion outranks a malefic conjunction, which outranks the sign reading. Present for the seven classical grahas on the D1 chart; Rahu, Ketu and the Lagna are omitted. |
| taurus* | object | |
| taurus.rashi* | string | Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces". |
| taurus.signs* | array of object | Planets placed in this zodiac sign. |
| taurus.signs[].graha* | string | Planet (graha) placed in this sign. |
| taurus.signs[].longitude* | number | Sidereal longitude in degrees (0-360) using Lahiri ayanamsa. |
| taurus.signs[].nakshatra* | object | |
| taurus.signs[].nakshatra.name* | string | Nakshatra (lunar mansion, 1 of 27) the planet occupies. |
| taurus.signs[].nakshatra.pada* | number | Nakshatra pada (quarter, 1-4). Each nakshatra has 4 padas of 3 degrees 20 each. |
| taurus.signs[].nakshatra.key* | number | Nakshatra index (1-27) in the zodiac sequence starting from Ashwini. |
| taurus.signs[].nakshatra.lord* | string enum | Vimshottari ruling planet of this nakshatra. One of the nine grahas (Ketu, Venus, Sun, Moon, Mars, Rahu, Jupiter, Saturn, Mercury). Drives the dasha sequence and the nakshatra qualities. |
| taurus.signs[].isRetrograde* | boolean | True if planet is in retrograde motion (appears to move backward). Retrograde planets have altered significations. |
| taurus.signs[].house | integer | Bhava (house) number 1-12, counted whole-sign from the Lagna (house 1 is the Lagna rashi). Present on the D1 birth chart; divisional charts (navamsa, varga) omit it. |
| taurus.signs[].awastha | string enum | Baladi avastha, the planetary age-state set by the graha degree within its sign: Bala (infant), Kumara (child), Yuva (adult, strongest results), Vriddha (old), Mrita (dead, weakest). Bands run forward in odd signs and reversed in even signs. D1 birth chart only. |
| taurus.signs[].jagradadi | string enum | Jagradadi avastha, the waking state of the graha set by its sign dignity: Jagrat (awake, own sign or exaltation, full results), Swapna (dreaming, a friendly or neutral sign, medium results), Sushupti (sleeping, an enemy sign or debilitation, no results). Present for the seven classical grahas on the D1 chart; Rahu, Ketu and the Lagna own no sign and are omitted. |
| taurus.signs[].deeptadi | string enum | Deeptadi avastha, the dispositional state of the graha, one of nine: Dipta (exalted, blazing), Svastha (own sign, healthy), Pramudita (great friend sign, delighted), Shanta (friendly sign, at peace), Dina (neutral sign, helpless), Duhkhita (enemy sign, sorrowful), Khala (great enemy sign, harsh), Vikala (joined by a natural malefic, disabled), Kopa (eclipsed by the Sun, enraged). Where more than one applies the more severe is returned, so combustion outranks a malefic conjunction, which outranks the sign reading. Present for the seven classical grahas on the D1 chart; Rahu, Ketu and the Lagna are omitted. |
| gemini* | object | |
| gemini.rashi* | string | Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces". |
| gemini.signs* | array of object | Planets placed in this zodiac sign. |
| gemini.signs[].graha* | string | Planet (graha) placed in this sign. |
| gemini.signs[].longitude* | number | Sidereal longitude in degrees (0-360) using Lahiri ayanamsa. |
| gemini.signs[].nakshatra* | object | |
| gemini.signs[].nakshatra.name* | string | Nakshatra (lunar mansion, 1 of 27) the planet occupies. |
| gemini.signs[].nakshatra.pada* | number | Nakshatra pada (quarter, 1-4). Each nakshatra has 4 padas of 3 degrees 20 each. |
| gemini.signs[].nakshatra.key* | number | Nakshatra index (1-27) in the zodiac sequence starting from Ashwini. |
| gemini.signs[].nakshatra.lord* | string enum | Vimshottari ruling planet of this nakshatra. One of the nine grahas (Ketu, Venus, Sun, Moon, Mars, Rahu, Jupiter, Saturn, Mercury). Drives the dasha sequence and the nakshatra qualities. |
| gemini.signs[].isRetrograde* | boolean | True if planet is in retrograde motion (appears to move backward). Retrograde planets have altered significations. |
| gemini.signs[].house | integer | Bhava (house) number 1-12, counted whole-sign from the Lagna (house 1 is the Lagna rashi). Present on the D1 birth chart; divisional charts (navamsa, varga) omit it. |
| gemini.signs[].awastha | string enum | Baladi avastha, the planetary age-state set by the graha degree within its sign: Bala (infant), Kumara (child), Yuva (adult, strongest results), Vriddha (old), Mrita (dead, weakest). Bands run forward in odd signs and reversed in even signs. D1 birth chart only. |
| gemini.signs[].jagradadi | string enum | Jagradadi avastha, the waking state of the graha set by its sign dignity: Jagrat (awake, own sign or exaltation, full results), Swapna (dreaming, a friendly or neutral sign, medium results), Sushupti (sleeping, an enemy sign or debilitation, no results). Present for the seven classical grahas on the D1 chart; Rahu, Ketu and the Lagna own no sign and are omitted. |
| gemini.signs[].deeptadi | string enum | Deeptadi avastha, the dispositional state of the graha, one of nine: Dipta (exalted, blazing), Svastha (own sign, healthy), Pramudita (great friend sign, delighted), Shanta (friendly sign, at peace), Dina (neutral sign, helpless), Duhkhita (enemy sign, sorrowful), Khala (great enemy sign, harsh), Vikala (joined by a natural malefic, disabled), Kopa (eclipsed by the Sun, enraged). Where more than one applies the more severe is returned, so combustion outranks a malefic conjunction, which outranks the sign reading. Present for the seven classical grahas on the D1 chart; Rahu, Ketu and the Lagna are omitted. |
| cancer* | object | |
| cancer.rashi* | string | Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces". |
| cancer.signs* | array of object | Planets placed in this zodiac sign. |
| cancer.signs[].graha* | string | Planet (graha) placed in this sign. |
| cancer.signs[].longitude* | number | Sidereal longitude in degrees (0-360) using Lahiri ayanamsa. |
| cancer.signs[].nakshatra* | object | |
| cancer.signs[].nakshatra.name* | string | Nakshatra (lunar mansion, 1 of 27) the planet occupies. |
| cancer.signs[].nakshatra.pada* | number | Nakshatra pada (quarter, 1-4). Each nakshatra has 4 padas of 3 degrees 20 each. |
| cancer.signs[].nakshatra.key* | number | Nakshatra index (1-27) in the zodiac sequence starting from Ashwini. |
| cancer.signs[].nakshatra.lord* | string enum | Vimshottari ruling planet of this nakshatra. One of the nine grahas (Ketu, Venus, Sun, Moon, Mars, Rahu, Jupiter, Saturn, Mercury). Drives the dasha sequence and the nakshatra qualities. |
| cancer.signs[].isRetrograde* | boolean | True if planet is in retrograde motion (appears to move backward). Retrograde planets have altered significations. |
| cancer.signs[].house | integer | Bhava (house) number 1-12, counted whole-sign from the Lagna (house 1 is the Lagna rashi). Present on the D1 birth chart; divisional charts (navamsa, varga) omit it. |
| cancer.signs[].awastha | string enum | Baladi avastha, the planetary age-state set by the graha degree within its sign: Bala (infant), Kumara (child), Yuva (adult, strongest results), Vriddha (old), Mrita (dead, weakest). Bands run forward in odd signs and reversed in even signs. D1 birth chart only. |
| cancer.signs[].jagradadi | string enum | Jagradadi avastha, the waking state of the graha set by its sign dignity: Jagrat (awake, own sign or exaltation, full results), Swapna (dreaming, a friendly or neutral sign, medium results), Sushupti (sleeping, an enemy sign or debilitation, no results). Present for the seven classical grahas on the D1 chart; Rahu, Ketu and the Lagna own no sign and are omitted. |
| cancer.signs[].deeptadi | string enum | Deeptadi avastha, the dispositional state of the graha, one of nine: Dipta (exalted, blazing), Svastha (own sign, healthy), Pramudita (great friend sign, delighted), Shanta (friendly sign, at peace), Dina (neutral sign, helpless), Duhkhita (enemy sign, sorrowful), Khala (great enemy sign, harsh), Vikala (joined by a natural malefic, disabled), Kopa (eclipsed by the Sun, enraged). Where more than one applies the more severe is returned, so combustion outranks a malefic conjunction, which outranks the sign reading. Present for the seven classical grahas on the D1 chart; Rahu, Ketu and the Lagna are omitted. |
| leo* | object | |
| leo.rashi* | string | Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces". |
| leo.signs* | array of object | Planets placed in this zodiac sign. |
| leo.signs[].graha* | string | Planet (graha) placed in this sign. |
| leo.signs[].longitude* | number | Sidereal longitude in degrees (0-360) using Lahiri ayanamsa. |
| leo.signs[].nakshatra* | object | |
| leo.signs[].nakshatra.name* | string | Nakshatra (lunar mansion, 1 of 27) the planet occupies. |
| leo.signs[].nakshatra.pada* | number | Nakshatra pada (quarter, 1-4). Each nakshatra has 4 padas of 3 degrees 20 each. |
| leo.signs[].nakshatra.key* | number | Nakshatra index (1-27) in the zodiac sequence starting from Ashwini. |
| leo.signs[].nakshatra.lord* | string enum | Vimshottari ruling planet of this nakshatra. One of the nine grahas (Ketu, Venus, Sun, Moon, Mars, Rahu, Jupiter, Saturn, Mercury). Drives the dasha sequence and the nakshatra qualities. |
| leo.signs[].isRetrograde* | boolean | True if planet is in retrograde motion (appears to move backward). Retrograde planets have altered significations. |
| leo.signs[].house | integer | Bhava (house) number 1-12, counted whole-sign from the Lagna (house 1 is the Lagna rashi). Present on the D1 birth chart; divisional charts (navamsa, varga) omit it. |
| leo.signs[].awastha | string enum | Baladi avastha, the planetary age-state set by the graha degree within its sign: Bala (infant), Kumara (child), Yuva (adult, strongest results), Vriddha (old), Mrita (dead, weakest). Bands run forward in odd signs and reversed in even signs. D1 birth chart only. |
| leo.signs[].jagradadi | string enum | Jagradadi avastha, the waking state of the graha set by its sign dignity: Jagrat (awake, own sign or exaltation, full results), Swapna (dreaming, a friendly or neutral sign, medium results), Sushupti (sleeping, an enemy sign or debilitation, no results). Present for the seven classical grahas on the D1 chart; Rahu, Ketu and the Lagna own no sign and are omitted. |
| leo.signs[].deeptadi | string enum | Deeptadi avastha, the dispositional state of the graha, one of nine: Dipta (exalted, blazing), Svastha (own sign, healthy), Pramudita (great friend sign, delighted), Shanta (friendly sign, at peace), Dina (neutral sign, helpless), Duhkhita (enemy sign, sorrowful), Khala (great enemy sign, harsh), Vikala (joined by a natural malefic, disabled), Kopa (eclipsed by the Sun, enraged). Where more than one applies the more severe is returned, so combustion outranks a malefic conjunction, which outranks the sign reading. Present for the seven classical grahas on the D1 chart; Rahu, Ketu and the Lagna are omitted. |
| virgo* | object | |
| virgo.rashi* | string | Zodiac sign name in lowercase. Always equals the key of the block it sits in, so the aries block carries "aries" and the pisces block carries "pisces". |
| virgo.signs* | array of object | Planets placed in this zodiac sign. |
| virgo.signs[].graha* | string | Planet (graha) placed in this sign. |
| virgo.signs[].longitude* | number | Sidereal longitude in degrees (0-360) using Lahiri ayanamsa. |
Supported options
lang
focus
ayanamsa
Call it in your language in seconds.
Every snippet is generated from the live OpenAPI spec, so method names, parameters, and fields always match production.
import { createRoxy } from '@roxyapi/sdk'
const roxy = createRoxy(process.env.ROXY_API_KEY!)
const { data } = await roxy.vedicAstrology.generateBirthChart({ body: { date: '1990-07-04', time: '10:12:00', latitude: 28.6139, longitude: 77.209 } })from roxy_sdk import create_roxy
roxy = create_roxy("YOUR_API_KEY")
result = roxy.vedic_astrology.generate_birth_chart(date='1990-07-04', time='10:12:00', latitude=28.6139, longitude=77.209)use function RoxyAPI\Sdk\createRoxy;
$roxy = createRoxy(getenv('ROXY_API_KEY'));
$result = $roxy->vedicAstrology->generateBirthChart(date: '1990-07-04', time: '10:12:00', latitude: 28.6139, longitude: 77.209);using RoxyApi;
var roxy = new RoxyClient(Environment.GetEnvironmentVariable("ROXY_API_KEY")!);
var result = await roxy.VedicAstrology.BirthChart.PostAsync(new() { /* request fields above */ });import roxyapi "github.com/RoxyAPI/sdk-go"
roxy, _ := roxyapi.NewRoxy(os.Getenv("ROXY_API_KEY"))
resp, _ := roxy.VedicAstrology.GenerateBirthChart(ctx, nil, roxyapi.GenerateBirthChartJSONRequestBody{ /* request fields above */ })curl -X POST "https://roxyapi.com/api/v2/vedic-astrology/birth-chart" \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"1990-07-04","time":"10:12:00","latitude":28.6139,"longitude":77.209}'Prefer to try before you write code? Run this Vedic Astrology endpoint live in the API playground and inspect a real production response.
Remote MCP for AI agents
Every Vedic Astrology endpoint is a callable tool on the Remote MCP server over Streamable HTTP. No local setup, no Docker. Claude, ChatGPT, Cursor, and any MCP client auto-discover the tools and ground their answers in verified data.
claude mcp add --transport http \
roxy-vedic-astrology https://roxyapi.com/mcp/vedic-astrology \
--header "X-API-Key: YOUR_KEY"Tool name for POST /vedic-astrology/birth-chart: post_vedic_astrology_birth_chart. Full MCP setup guide
What you can build
Matrimonial matchmaking platforms - automate Gun Milan compatibility scoring, Manglik dosha checks, Navamsa spouse analysis, and generate match reports with remedies for Shaadi.com-style features
Daily horoscope and prediction apps - fetch planetary transits, current Dasha periods, Panchang data, and birth star forecasts to power personalized daily readings at consumer-app scale
Kundli generation and PDF report services - combine D1/D9 charts, planetary positions, Dasha timelines, yoga detection, and dosha analysis into automated birth chart reports
KP horary and event prediction apps - build stellar astrology software with significator analysis, cusp sub-lords, and 249-level precision for answering when/yes-no questions
Spiritual wellness and calendar apps - integrate Panchang for Hindu festival dates, fasting calendars, temple muhurat selection, and Nakshatra-based meditation schedules
AI astrology chatbots and virtual consultants - power conversational AI with structured Vedic calculations, compatibility queries, Dasha predictions, and remedy suggestions via ChatGPT plugins or MCP integration
Drop-in UI components & widgets
Render Kundli API responses without building charts yourself. Install the npm package and drop these into Next.js, React, Vue, Svelte, Angular, or plain HTML, or embed the very same component on Squarespace, Wix, or WordPress by pasting one snippet, with no backend and no build step. They belong to one library that covers the entire spiritual stack rather than astrology alone, MIT licensed and included in every plan at no extra cost, never a separate product and never an upsell. The Kundli API calculations, the interface that renders them, and the Remote MCP your agent calls, all behind one key, end to end.
Show all Kundli UI componentsShow fewer Kundli UI components
| Element | Renders |
|---|---|
| <roxy-vedic-kundli> | South, North, or East Indian kundli with degree detail and optional Chandra Lagna view |
| <roxy-vedic-planets-table> | Degree, nakshatra, pada, lord, bhava, Baladi, Jagradadi and Deeptadi columns |
Related capabilities
Kundli API FAQ
What does the Kundli API return?
Calculate complete Vedic birth chart (Janam Kundli, natal chart) with all 9 planetary positions (Sun through Ketu) plus Ascendant (Lagna). Every response is structured JSON with documented fields, not free text, so you map it straight into your product.
How do I authenticate with the Kundli API?
Pass your key in the X-API-Key header on every request. Keys are delivered instantly at checkout with no approval queue. Use a secret sk key server side, or mint a publishable pk key locked to your origins for browser and no-code use.
Does the Kundli API support multiple languages?
Yes. Append the lang query parameter to any endpoint for responses in English, German, Spanish, French, Hindi, Portuguese, Russian and Turkish. The translated payload includes the full interpretation text, not just field labels.
Do I need coordinates to call the Kundli API?
No. Call GET /location/search with a city name first, then pass latitude, longitude, and timezone from the first result into the request. Never ask users to type coordinates. Timezone accepts a decimal offset or an IANA name.
Is the Kundli API available over Remote MCP for AI agents?
Yes. Every endpoint is exposed as a callable tool on the Remote MCP server at https://roxyapi.com/mcp/vedic-astrology over Streamable HTTP, so Claude, ChatGPT, Cursor, and any MCP client auto-discover it with no local setup or Docker.
How is the Kundli API billed?
Flat pricing: 1 request equals 1 quota unit, REST and MCP identical, with no credit weighting or per-token markup. Every plan includes all 12 domains, so the Kundli API is included at no extra cost.
What lang values does the Kundli API accept?
The lang parameter accepts en, tr, de, es, hi, pt, fr, ru. Case-insensitive where it is a path value.
Start using Kundli API today.
Launch your Jyotish or KP astrology product in days. Not months.
All 12 domains included with every plan. Every endpoint, MCP server, SDK, and starters.
Plans from $39/mo, starting at $2.70 per domain on annual billing. No credit card required for testing.
View Pricing & Get API Key


