Authentication

Working from real payloads: every endpoint's exact request and response JSON — captured live, downloadable, nothing hand-written — is on the API samples page.

All API requests require authentication via an API key. Include your API key in the X-Api-Key header with every request.

// Include in all API requests headers: { 'Content-Type': 'application/json', 'X-Api-Key': 'your_api_key_here' }

Important: Your API key is linked to verified domains/IPs. Requests from unverified origins will be rejected. Add domains and IPs in your Dashboard.

Every endpoint on this page requires a key. There is no public or trial access: a request without X-Api-Key is answered with 401, and a key calling from an origin you have not verified is answered with 403. The only exception is GET /v1/health, which returns service status and no astrology data.

Keep the key on your server. If you call KundliAPI straight from a browser or a mobile app, the key ships to every user who opens developer tools — proxy the call through your own backend instead, and keep the verified-origin list as small as it can be.

Base Parameters

Most astrology endpoints require the following birth data parameters:

ParameterTypeRequiredDescription
dayIntegerRequiredBirth day (1-31)
monthIntegerRequiredBirth month (1-12)
yearIntegerRequiredBirth year (e.g., 1990)
hourIntegerRequiredBirth hour in 24h format (0-23)
minIntegerRequiredBirth minute (0-59)
latFloatRequiredBirth latitude (e.g., 28.6139)
lonFloatRequiredBirth longitude (e.g., 77.2090)
tzoneFloatRequiredTimezone offset (e.g., 5.5 for IST)

Getting latitude/longitude for a birth place

KundliAPI does not provide a geocoding (place name → lat/lon) endpoint for API customers, and we recommend against building on top of our internal one even if you discover it — it's meant only for kundliapi.com's own website and isn't covered by our uptime/rate-limit guarantees; it can change or be throttled without notice.

Convert your users' birth place into coordinates using your own mapping provider before calling KundliAPI — e.g. Google Maps Geocoding API, Mapbox Geocoding API, or OpenStreetMap Nominatim (self-hosted or via your own paid usage tier). Cache the result against the place name on your side so you're not re-geocoding on every request.

Accuracy matters here: every downstream calculation (Ascendant, houses, Dasha, Dosha — everything) is computed directly from the exact latitude/longitude/timezone you send. Sending an approximate or wrong location produces a fully self-consistent but incorrect chart, with nothing in the response to indicate it. Always validate that lat/lon/tzone are present and correspond to the actual birth place before calling the API — do not fall back to a default city if your own geocoding step fails.

Language

Language is chosen per request — there is no account-level or key-level language setting, so the same key can ask for Hindi on one call and English on the next.

ParameterWhereValuesEffect
langRequest bodyhi (default), enLanguage of the generated text: predictions, horoscope, remedies, mantra meanings.
labelLangRequest body, chart endpoints onlyenReturns rashi and gender labels in English instead of Devanagari.

Charts use a separate field on purpose: lang already had a meaning there before labelLang existed, and changing it would have altered what live integrations receive. Send labelLang: "en" for English chart labels; omit it and the response is exactly what it has always been.

// English prediction { "day": 15, "month": 8, "year": 1990, "hour": 14, "min": 30, "lat": 28.6139, "lon": 77.2090, "tzone": 5.5, "lang": "en" } // English chart labels { "day": 15, "month": 8, "year": 1990, "hour": 14, "min": 30, "lat": 28.6139, "lon": 77.2090, "tzone": 5.5, "labelLang": "en" }

Panchang names (tithi, nakshatra, yoga, karana, chaughadiya) are returned in Hindi in both modes; they come from the panchang tables rather than the text layer.

Error Handling

The API returns standard HTTP status codes:

CodeMeaning
200Success
400Bad Request — missing or invalid parameters
401Unauthorized — invalid or missing API key
403Forbidden — domain/IP not verified
429Rate limit exceeded
500Internal server error

Panchang

Complete Hindu Panchang data including Tithi, Nakshatra, Yoga, Karana, and timings.

POST/v1/panchang/get_panchang_dataGet Panchang for date

Returns complete Panchang data for the given date and location.

Request Body:

{ "day": 15, "month": 6, "year": 2024, "hour": 6, "min": 0, "lat": 28.6139, "lon": 77.2090, "tzone": 5.5 }

Response includes:

Tithi, Nakshatra, Yoga, Karana, Sunrise, Sunset, Moonrise, Moonset, Rahu Kaal, Gulika Kaal, Yamaganda, Abhijit Muhurat, etc.

POST/v1/panchang/get_choghadiya_dataChoghadiya Muhurat

Returns Choghadiya timings for the day — auspicious and inauspicious periods.

Muhurat Timings

POST/v1/panchang/get_hora_muhurtaHora Muhurat

Returns planetary Hora timings for the day.

Astro Data

Get basic and extended astrological data for a birth chart.

POST/v1/astro/get_astro_dataBasic Astro Data

Returns ascendant sign, nakshatra, deity, and Moon sign information.

Example Request (cURL):

curl -X POST https://kundliapi.com/v1/astro/get_astro_data \ -H "Content-Type: application/json" \ -H "X-Api-Key: your_api_key_here" \ -d '{"day":15,"month":6,"year":1990,"hour":10,"min":30,"lat":28.6139,"lon":77.209,"tzone":5.5}'

Note: Ascendant lord, Rashi lord, Varna, Yoni, Gan, and Nadi are already included in the get_astro_data response above — there is no separate "extended details" endpoint.

Planet Positions

Get planetary positions, dignity, aspects, and house placements.

POST/v1/planet/get_all_planet_dataAll Planet Positions

Returns positions of all 9 planets (Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu) with sign, degree, nakshatra, house, and retrograde status. Note: this is /planet/ (singular).

Note: Nakshatra sub-lord and sub-sub-lord (KP-style) are returned by the KP Astrology endpoints below, not by /planet/.

Dasha System

Vimshottari and Yogini Dasha periods with precise calculations.

POST/v1/dasha/get_vimshottary_maha_dashaMaha Dasha

Returns all Vimshottari Maha Dasha periods with start/end dates. Use /v1/dasha/get_vimshottary_current_dasha for just the currently running one.

POST/v1/dasha/get_vimshottary_antar_dashaAntar Dasha

Returns Antar Dasha periods within each Maha Dasha.

POST/v1/gemini/get_current_char_dasha_dataChara Dasha (Current)

Returns current running Chara (Jaimini) Dasha. Note: Jaimini-system endpoints (Chara Dasha, Chara Karakas, Karakamsha) are mounted under /v1/gemini/, not /v1/dasha/.

POST/v1/dasha/get_yogini_maha_dashaYogini Dasha

Returns Yogini Dasha periods — 36-year cycle system. Use /v1/dasha/get_current_yogini_dasha for just the current one.

Dosha Analysis

Check major doshas in a birth chart.

POST/v1/dosha/mangal_dosh_analysisMangal Dosha

Returns Mangal (Mars) Dosha analysis with intensity and detailed description.

POST/v1/dosha/kalsharp_dosh_analysisKaal Sarp Dosha

Returns Kaal Sarp Dosha analysis — Rahu/Ketu axis check.

POST/v1/dosha/pitra_dosh_analysisPitra Dosha

Returns Pitra Dosha analysis — ancestral karma effects.

POST/v1/dosha/sadhesati_analysisSadhesati

Returns Sadhesati (Saturn transit) analysis — current phase and dates.

Birth Charts

Generate divisional charts. Note: the path segment is /chart/ (singular).

Which divisions are supported

Twenty divisions are computed with their own rules:

D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D16 D20 D24 D27 D30 D40 D45 D60

Ask for anything else — D13, D999, abc — and the API answers 400 naming what it does support. It will never return a D1 chart under another division's name, so a chart you receive is always the chart you asked for.

The division may be written with or without the D, in either case: 10, D10 and d10 are the same request.

POST/v1/chart/get_lagna_chartLagna Chart (D-1)

Returns Lagna (Ascendant) chart data with planet placements in houses.

POST/v1/chart/get_navamsa_chartNavamsa Chart (D-9)

Returns Navamsa chart data — used for marriage and dharma analysis. Every other division is available at /v1/chart/get_divisional_chart/:division.

POST/v1/chart/get_divisional_chart/:divisionAny single division

One divisional chart. The division goes in the path, the birth data in the body.

Request:

POST /v1/chart/get_divisional_chart/D10 { "name": "Test", "day": 15, "month": 8, "year": 1990, "hour": 14, "min": 30, "lat": 28.6139, "lon": 77.2090, "tzone": 5.5, "gender": "male" }

Response:

"chartData": { "name", "year", "month", "day", "hour", "min", "latitude", "longitude", "timezone", "gender", "division": "D10", "divisionName": "Dashamsha", "chart": [ { "house": 1, "ascendant": true, "rashi": "वृश्चिक", "rashiIndex": 8, "planets": [] }, { "house": 2, "ascendant": false, "rashi": "धनु", "rashiIndex": 9, "planets": [ { "name": "Sa", "degree": { "deg": 26, "min": 8, "sec": 18 }, "retrograde": true, "combust": false, "color": "#00008B" } ] } // 12 entries ] }

rashiIndex is 1-indexed. Planet names inside chart are two-letter codes (Su Mo Ma Me Ju Ve Sa Ra Ke). division and divisionName appear only on this endpoint, where you named a division.

Add "labelLang": "en" to the body for English rashi and gender labels.

POST/v1/chart/get_all_divisional_chartsFifteen charts in one call

Returns allDivisionalCharts with the fifteen standard vargas — D2, D3, D4, D7, D9, D10, D12, D16, D20, D24, D27, D30, D40, D45, D60 — each in the same chart shape as above. Use this instead of fifteen separate calls.

POST/v1/chart/get_chalit_chartChalit Chart

Returns Bhava Chalit chart — houses based on actual house cusps.

One shape difference worth knowing: get_divisional_chart, get_moon_chart, get_sun_chart and get_chalit_chart nest everything under chartData, while get_birth_chart returns the same fields directly on data[0] with no chartData wrapper. Handle that one case and the rest are identical.

Daily / Weekly / Monthly Horoscope

Sign-based readings with the life areas split into their own fields, so you can lay them out without parsing prose.

POST/v1/horoscope/get_horoscopeAll four windows in one call

No birth data needed — just the sign.

Request Body:

{ "sign": "aries", "lang": "en" }

sign is one of aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius, pisces (case-insensitive).

Response:

"horoscope": { "sign": "Aries", // ready-to-render HTML, one per window "daily": "<p>…</p>", "weekly": "…", "monthly": "…", "yearly": "…", // 0-100 scores per area, one set per window "dailytag": { "love": 80, "wealth": 75, "health": 67, "business": 76, "career": 67, "luck": 75 }, "weeklytag": { … }, "monthlytag": { … }, "yearlytag": { … }, // plain text, no HTML, no "Career:" prefix "categories": { "general": "…", "love": "…", "friends": "…", "career": "…", "family": "…", "home": "…", "health": "…", "finance": "…" }, "remedy": "Recite Sundarkand. Fast on Tuesdays for Lord Hanuman.", "lucky": { "color": "Pink", "numbers": [8, 3], "direction": "North-West" }, "weeklyCategories": { … same eight keys … }, "weeklyRemedy": "…", "monthlyCategories": { … same eight keys … }, "monthlyRemedy": "…" }

The eight category keys are always present and always strings. lucky.numbers is always two integers between 1 and 9. The text is deterministic: the same sign on the same day returns the same sentences, so you can cache per sign per day.

Prediction

POST/v1/prediction/get_predictionChart-based reading

A reading built from the birth chart: the ascendant, its lord, and what each planet is doing in the house it occupies.

Request Body:

{ "name": "Test", "day": 15, "month": 8, "year": 1990, "hour": 14, "min": 30, "lat": 28.6139, "lon": 77.2090, "tzone": 5.5, "gender": "male", "lang": "en" }

Response (lang: "en"):

"ascendant": "Scorpio", "ascendantLord": "Mars", "prediction": "Scorpio Lagna - you may be deep and private by nature…", "planetInfluences": [ { "planet": "Sun", "house": 9, "rashi": "Cancer", "houseMeaning": "House of Fortune (fortune, dharma, father)", "isRetrograde": false, "isCombust": false, "effect": "Good fortune and a religious bent are likely" } ]

With lang absent or "hi", every one of those values comes back in Devanagari instead.

Mantra

Traditional graha and rashi mantras, with the Devanagari text, a Roman transliteration, a plain-language meaning and the japa count. Available on starter and above.

POST/v1/mantra/get_daily_mantraMantra of the day

The mantra for the weekday's ruling planet, plus the mantra for the moon sign. Every field is optional; send no date and you get today.

Request Body:

{ "day": 19, "month": 8, "year": 2026, "lat": 28.6139, "lon": 77.2090, "tzone": 5.5, "lang": "en" }

Response:

{ "date": "2026-08-19", "weekday": "Wednesday", "planet": "Mercury", "mantra": { "sanskrit": "ॐ बुं बुधाय नमः", "transliteration": "Om Bum Budhaya Namah", "meaning": "Salutations to Budha, Mercury — chanted for clear speech…", "count": 108, "bestTime": "Wednesday morning after a bath, facing north." }, "rashi": { "sign": "Libra", "mantra": { … same shape … } } }
POST/v1/mantra/get_rashi_mantraMantra for a sign

Request body: { "sign": "libra", "lang": "en" } — the sign may be given in English or Hindi. Returns sign, lord, mantra and beejMantra.

POST/v1/mantra/get_graha_mantraMantra for a planet

Request body: { "planet": "Saturn", "lang": "en" }. Omit planet to receive all nine under mantras.

Each planet carries its beejMantra and the traditional japa count — Sun 7,000 · Moon 11,000 · Mars 10,000 · Mercury 9,000 · Jupiter 19,000 · Venus 16,000 · Saturn 23,000 · Rahu 18,000 · Ketu 17,000.

An unknown planet or sign returns 400 listing the accepted values.

Kundli Matching

Ashtakoota and other matching systems for marriage compatibility.

POST/v1/kundali/matchAshtakoota Matching

Returns 8-fold matching (Gun Milan) score out of 36 points.

Request Body:

{ "boy": { "day": 15, "month": 6, "year": 1990, "hour": 10, "min": 30, "lat": 28.6139, "lon": 77.209, "tzone": 5.5 }, "girl": { "day": 20, "month": 3, "year": 1992, "hour": 14, "min": 15, "lat": 28.6139, "lon": 77.209, "tzone": 5.5 } }

Response includes scores for: Varna, Vashya, Tara, Yoni, Graha Maitri, Gana, Bhakoot, Nadi.

KP Astrology

Krishnamurti Paddhati system endpoints.

POST/v1/kp/get_cusps_dataKP House Cusps

Returns KP house cusps with sign lord, star lord, and sub lord.

POST/v1/kp/get_planet_dataKP Planets

Returns planets with sign lord, star lord, sub lord — KP style.

Numerology

Complete numerology analysis endpoints.

POST/v1/numerology/completeNumerology Data

Returns birth number, life path number, name analysis.

Additional Parameters:

ParameterTypeRequiredDescription
nameStringRequiredFull name for numerology analysis
POST/v1/numerology/lo_shu_gridLo Shu Grid

Returns Lo Shu Grid (magic square) analysis based on birth date.

Western Astrology — Natal

Tropical/Western astrology calculations using Placidus house system.

POST/v1/western/natal_chartWestern Natal Chart

Returns Western natal chart with tropical zodiac positions, aspects, house placements, element/modality analysis.

Response includes:

Sun sign, Moon sign, Rising sign, all planet positions in tropical zodiac, major & minor aspects with orbs, house system data, element balance, hemisphere emphasis.

Western — Synastry & Composite

POST/v1/western/synastrySynastry Chart

Compares two birth charts for relationship compatibility. Returns inter-aspects between both charts.

Additional Parameters:

ParameterTypeRequiredDescription
day2, month2, year2IntegerRequiredSecond person's birth date
hour2, min2IntegerRequiredSecond person's birth time
latitude2, longitude2FloatRequiredSecond person's birth location
timezone2FloatRequiredSecond person's timezone
POST/v1/western/compositeComposite Chart

Returns midpoint composite chart of two people — the relationship chart. Same parameters as Synastry.

Western — Transits & Progressions

POST/v1/western/solar_returnSolar Return

Returns Solar Return chart for a specific year (birthday chart). Add targetYear to request body.

POST/v1/western/progressionsSecondary Progressions

Returns progressed chart positions (day-for-a-year method).

POST/v1/western/current_transitsCurrent Transits

Returns current planetary positions in tropical zodiac.

POST/v1/western/moon_phasesMoon Phase Calendar

Returns moon phases for a given month/year with New Moon, Full Moon, and quarter phases.

Western — Reports

POST/v1/western/personalityPersonality Report

Returns detailed personality analysis based on Western chart — Sun, Moon, Rising, elements, and aspects.

POST/v1/western/romanticRomantic Forecast

Returns romantic forecast based on Venus, Mars, 7th house and relationship aspects.

POST/v1/western/karmaKarma & Destiny Report

Returns karma and destiny analysis based on Saturn, Nodes, and 12th house.

Tarot Card API

Complete 78-card Tarot engine with multiple spread types.

POST/v1/tarot/three_card3-Card Spread

Returns Past, Present, Future reading with full card interpretations.

Optional Parameters:

ParameterTypeDescription
questionStringYour question for the reading
seedIntegerSeed for reproducible readings
POST/v1/tarot/celtic_crossCeltic Cross (10 cards)

Returns full Celtic Cross spread — the most comprehensive single-question reading.

POST/v1/tarot/yes_noYes/No Tarot

Returns Yes, No, or Maybe answer with supporting card and explanation.

POST/v1/tarot/card_of_dayCard of the Day

Returns today's daily tarot card with guidance message.

GET/v1/tarot/all_cardsAll 78 Cards

Returns complete deck — 22 Major Arcana + 56 Minor Arcana with all meanings.

Varshaphal (Annual Horoscope)

Vedic Solar Return / Tajika astrology system for annual predictions.

POST/v1/varshaphal/get_varshaphalVarshaphal Chart

Returns annual horoscope chart with Muntha, Panchadhikari, and Harsha Bala. Add targetYear to request body.

POST/v1/varshaphal/get_yogasTajika Yogas

Returns Tajika yogas: Ithasala, Easarapha, Nakta, Yamaya, Manaú, Kamboola.

POST/v1/varshaphal/get_sahamsSahams (Arabic Parts)

Returns 16 Sahams — Punya, Vidya, Yashas, Mitra, and more.

Gochar (Transit Analysis)

Personalized transit analysis with Vedha (obstruction) logic.

POST/v1/gochar/get_personalizedPersonalized Gochar

Returns current transits relative to your natal Moon sign with Vedha analysis and benefic/malefic determination.

POST/v1/gochar/get_saturn_transitSaturn Transit / Sade Sati

Returns detailed Saturn transit analysis — Sade Sati phase, Dhaiya, Kantaka, with start/end dates and remedies.

POST/v1/gochar/get_jupiter_transitJupiter Transit

Returns Jupiter (Guru) transit analysis with effects based on house from Moon.

Lal Kitab

Complete Lal Kitab astrology system with unique remedies.

POST/v1/lalkitab/get_chartLal Kitab Chart

Returns Lal Kitab chart with Pakka Ghar assignments and sleeping/awakened planet status.

POST/v1/lalkitab/get_remediesLal Kitab Remedies

Returns planet-specific remedies — materials, donations, rituals based on house placements.

POST/v1/lalkitab/get_debtsPlanetary Debts (Rin)

Returns 6 planetary debts: Pitru Rin, Matru Rin, Stri Rin, Swa Rin, Bandhu Rin, Sasur Rin with symptoms and remedies.

Biorhythm

Physical, Emotional, Intellectual, and extended cycles.

POST/v1/biorhythm/get_biorhythmDaily Biorhythm

Returns 6 biorhythm cycles: Physical (23d), Emotional (28d), Intellectual (33d), Intuitive (38d), Aesthetic (43d), Spiritual (53d).

POST/v1/biorhythm/get_compatibilityBiorhythm Compatibility

Compare biorhythm cycles between two people. Uses day2/month2/year2 parameters.

Human Design

BodyGraph, Type, Strategy, Authority, Gates, Channels, and Profile.

POST/v1/human_design/get_chartFull BodyGraph

Returns complete Human Design analysis: Type (Generator, Projector, Manifestor, Reflector, MG), Strategy, Authority, Profile, all defined/undefined Centers, active Channels, Gates, and Incarnation Cross.

POST/v1/human_design/get_summaryBodyGraph Summary

Returns simplified summary: Type, Strategy, Authority, Profile, defined/undefined centers list.

Yoga Combinations

Identify powerful yoga combinations in a birth chart — Raj Yoga, Dhan Yoga, Panch Mahapurush, and Moon-based yogas.

POST/v1/yoga/get_allAll Yoga Combinations

Returns all yoga combinations present in a birth chart — including Raj Yoga, Dhan Yoga, Panch Mahapurush Yoga, Chandra Yoga, and more.

Example Request (cURL):

curl -X POST https://kundliapi.com/v1/yoga/get_all \ -H "Content-Type: application/json" \ -H "X-Api-Key: your_api_key_here" \ -d '{"day":15,"month":6,"year":1990,"hour":10,"min":30,"lat":28.6139,"lon":77.209,"tzone":5.5}'
POST/v1/yoga/get_raj_yogasRaj Yoga Analysis

Returns Raj Yoga analysis — combinations of Kendra and Trikona lords that indicate power, authority, and success.

POST/v1/yoga/get_dhan_yogasDhan Yoga (Wealth)

Returns Dhan Yoga (wealth yoga) analysis — planetary combinations indicating financial prosperity and material gains.

POST/v1/yoga/get_panch_mahapurushPanch Mahapurush Yoga

Returns Panch Mahapurush Yoga analysis — Ruchaka, Bhadra, Hamsa, Malavya, and Sasa yogas formed by Mars, Mercury, Jupiter, Venus, and Saturn in Kendra in own/exaltation sign.

POST/v1/yoga/get_chandra_yogasChandra (Moon) Yogas

Returns Moon-based yoga analysis — Sunaphа, Anaphа, Durudhara, Kemadruma, Gajakesari, and other Chandra yogas.

Muhurat Finder

Find auspicious dates and times (Muhurat) for important life events — marriage, housewarming, business, travel, and more.

POST/v1/muhurat/get_marriageMarriage Muhurat

Returns auspicious dates for marriage (Vivah Muhurat) within the given date range.

Request Body:

curl -X POST https://kundliapi.com/v1/muhurat/get_marriage \ -H "Content-Type: application/json" \ -H "X-Api-Key: your_api_key_here" \ -d '{"start_year":2026,"start_month":1,"start_day":1,"end_year":2026,"end_month":12,"end_day":31,"lat":28.6139,"lon":77.209,"tzone":5.5}'

Muhurat Parameters:

ParameterTypeRequiredDescription
start_yearIntegerRequiredStart year of the search range
start_monthIntegerRequiredStart month (1-12)
start_dayIntegerRequiredStart day (1-31)
end_yearIntegerRequiredEnd year of the search range
end_monthIntegerRequiredEnd month (1-12)
end_dayIntegerRequiredEnd day (1-31)
latFloatRequiredLocation latitude
lonFloatRequiredLocation longitude
tzoneFloatRequiredTimezone offset (e.g., 5.5 for IST)
POST/v1/muhurat/get_grihapraveshGrihapravesh Muhurat

Returns auspicious dates for housewarming (Grihapravesh) ceremony within the given date range.

POST/v1/muhurat/get_namkaranNamkaran Muhurat

Returns auspicious dates for naming ceremony (Namkaran) within the given date range.

POST/v1/muhurat/get_businessBusiness Opening Muhurat

Returns auspicious dates for business or shop opening within the given date range.

POST/v1/muhurat/get_travelTravel Muhurat

Returns auspicious dates for travel within the given date range.

POST/v1/muhurat/get_vehicleVehicle Purchase Muhurat

Returns auspicious dates for vehicle purchase within the given date range.

POST/v1/muhurat/get_propertyProperty Purchase Muhurat

Returns auspicious dates for property purchase within the given date range.

POST/v1/muhurat/get_mundanMundan Muhurat

Returns auspicious dates for Mundan (first head shaving) ceremony within the given date range.

POST/v1/muhurat/get_annaprashanAnnaprashan Muhurat

Returns auspicious dates for Annaprashan (first rice feeding) ceremony within the given date range.

POST/v1/muhurat/check_dateCheck Date Auspiciousness

Check if a specific date and time is auspicious for general activities.

Request Body:

{ "year": 2026, "month": 3, "day": 22, "hour": 10, "min": 30, "lat": 28.6139, "lon": 77.209, "tzone": 5.5 }

Note: This endpoint uses standard birth-data parameters (year, month, day, hour, min, lat, lon, tzone) instead of the date-range parameters used by other muhurat endpoints.

How to Generate a PDF Report

KundliAPI is a data API — every endpoint above returns JSON (planet positions, house placements, dasha periods, dosha analysis, etc.), not a ready-made PDF file. There is no "generate PDF" endpoint, and that's by design: the PDF layout and design is something you build on your own side, using the JSON this API gives you.

We intentionally don't offer a hosted "give us the data, we'll email you a PDF" endpoint, because any PDF we generated for you would carry KundliAPI branding. Drawing/designing it yourself means the final report carries your own brand, not ours.

The workflow

1. Fetch the data. Call the endpoints you need for the same birth details — e.g. /v1/astro/get_astro_data, /v1/planet/get_all_planet_data, /v1/chart/get_lagna_chart, /v1/chart/get_navamsa_chart, /v1/dasha/get_vimshottary_maha_dasha, /v1/dosha/mangal_dosh_analysis — and combine the JSON responses.

2. Render that JSON into a PDF, using your own code. Two common approaches:

ApproachHow it worksTypical libraries
Draw the PDF programmaticallyYour code places text, tables, and lines at specific coordinates directly onto a blank PDF canvas.PDFKit (Node.js), ReportLab (Python), iText (Java), QuestPDF (.NET)
HTML → PDF conversionDesign the report as a normal HTML/CSS page, inject the API's JSON values into it, then "print" that page to a PDF using a headless browser.Puppeteer / Playwright (Chromium), wkhtmltopdf, WeasyPrint

The HTML → PDF route is usually easier to start with — you can design and preview the report visually in a normal browser before exporting it.

3. Drawing the Kundli chart itself. The API only tells you which planet sits in which house as JSON (e.g. { "house": 1, "planet": "Sun" }) — it does not return a chart image. You need to draw the diamond shape (North Indian style) or the fixed 12-box grid (South Indian style) yourself, then place each planet's abbreviation into the correct box based on that house data. This is the one part that takes real design effort — everything else is just laying out text and tables.

In short: fetch the numbers from KundliAPI, then draw/design the PDF yourself with a PDF or HTML-to-PDF library of your choice — that way the final report reflects your own brand, not ours.

Need More Details?

This documentation covers the most commonly used endpoints. For a complete list of all 203+ endpoints, test them directly from your dashboard or contact our support.

Get API Access Contact Support View SDKs