🐍Python Integration Guide

Use VedIntel™ AstroAPI in Python
in 5 minutes

127 Vedic astrology endpoints — kundali, panchang, dasha, dosha, matching, KP, and Claude AI narratives — available via a simple REST GET request. No SDK needed, just requests.

Get Free API Key →Browse All Endpoints

Step 1 — Install the requests library

No special SDK required. The standard requests library is all you need.

bash
pip install requests

Python 3.7+ required. Works in Django, Flask, FastAPI, scripts, Jupyter notebooks, and Lambda functions.

Step 2 — Get your free API key

Sign up at vedintelastroapi.com/auth/signup. Your key appears instantly on the dashboard — no credit card, no verification wait. Free plan gives you 500 calls/month.

💡

Store your API key safely

Use an environment variable: API_KEY = os.environ["VEDINTEL_API_KEY"]. Never commit your key to version control.

Example 1Get Ascendant / Lagna

Fetch the birth chart ascendant

The /extended-horoscope/find-ascendant endpoint returns Lagna sign, lord, nakshatra pada, sun sign, and moon sign for any birth data.

python
import requests

API_KEY = "vai_YOUR_KEY_HERE"
BASE_URL = "https://vedintelastroapi.com/api/v1"

def get_ascendant(dob, tob, lat, lon, tz=5.5):
    """Get Lagna (Ascendant) and key birth chart data."""
    params = {
        "api_key": API_KEY,
        "dob": dob,       # DD/MM/YYYY
        "tob": tob,       # HH:MM (24-hour)
        "lat": lat,
        "lon": lon,
        "tz": tz,
    }
    response = requests.get(f"{BASE_URL}/extended-horoscope/find-ascendant", params=params)
    return response.json()

# Example: Mumbai birth chart
result = get_ascendant("01/10/1977", "11:40", lat=11, lon=77, tz=5.5)
print(result)

# Response:
# {
#   "status": 200,
#   "response": {
#     "ascendant": "Scorpio",
#     "ascendant_lord": "Mars",
#     "degree": 22.47,
#     "nakshatra": "Jyeshtha",
#     "nakshatra_pada": 1,
#     "sun_sign": "Virgo",
#     "moon_sign": "Aries"
#   },
#   "remaining_api_calls": 499
# }
Example 2Current Mahadasha

Get the current Vimshottari Dasha period

Returns the active Mahadasha and Antardasha planet, start/end dates, and remaining years. Dasha dates are computed from Swiss Ephemeris Moon position and verified against Jagannatha Hora.

python
import requests

API_KEY = "vai_YOUR_KEY_HERE"
BASE_URL = "https://vedintelastroapi.com/api/v1"

def get_current_mahadasha(dob, tob, lat, lon, tz=5.5):
    """Get the current Vimshottari Mahadasha and Antardasha period."""
    params = {
        "api_key": API_KEY,
        "dob": dob,
        "tob": tob,
        "lat": lat,
        "lon": lon,
        "tz": tz,
    }
    response = requests.get(
        f"{BASE_URL}/dashas/current-mahadasha-full",
        params=params
    )
    return response.json()

result = get_current_mahadasha("01/10/1977", "11:40", lat=11, lon=77, tz=5.5)
print(result)

# Response:
# {
#   "status": 200,
#   "response": {
#     "major_period": {
#       "planet": "Saturn",
#       "start_date": "2017-10-29",
#       "end_date": "2036-10-29"
#     },
#     "sub_period": {
#       "planet": "Jupiter",
#       "start_date": "2025-12-04",
#       "end_date": "2028-05-16"
#     },
#     "current_dasha": "Saturn - Jupiter",
#     "remaining_years": 10.47
#   },
#   "remaining_api_calls": 498
# }
Example 3Daily Panchang

Fetch today's Panchang for any location

Returns Tithi, Nakshatra, Yoga, Karana, and Swiss Ephemeris sunrise/sunset — accurate to the minute, for any latitude/longitude. Ideal for panchang calendar apps.

python
import requests
from datetime import date

API_KEY = "vai_YOUR_KEY_HERE"
BASE_URL = "https://vedintelastroapi.com/api/v1"

def get_daily_panchang(lat, lon, tz=5.5, target_date=None):
    """Get today's Panchang — tithi, nakshatra, yoga, karana, sunrise/sunset."""
    if target_date is None:
        target_date = date.today().strftime("%d/%m/%Y")

    params = {
        "api_key": API_KEY,
        "date": target_date,   # DD/MM/YYYY
        "lat": lat,
        "lon": lon,
        "tz": tz,
    }
    response = requests.get(f"{BASE_URL}/panchang/panchang", params=params)
    return response.json()

# Delhi Panchang for today
result = get_daily_panchang(lat=28.6139, lon=77.2090, tz=5.5)
data = result["response"]
print(f"Tithi   : {data.get('tithi')}")
print(f"Nakshatra: {data.get('nakshatra')}")
print(f"Yoga    : {data.get('yoga')}")
print(f"Karana  : {data.get('karana')}")
print(f"Sunrise : {data.get('sunrise')}")
print(f"Sunset  : {data.get('sunset')}")

# Response:
# {
#   "status": 200,
#   "response": {
#     "tithi": "Chaturdashi",
#     "nakshatra": "Rohini",
#     "yoga": "Shiva",
#     "karana": "Bav",
#     "sunrise": "05:58",
#     "sunset": "18:47",
#     "amavasya": false,
#     "purnima": false
#   },
#   "remaining_api_calls": 497
# }

Why developers choose VedIntel™ AstroAPI

🔑

Free plan included

500 calls/month, no credit card required. Test all 127 endpoints before committing.

Under 200ms cached

Natal charts cached permanently in Supabase. Second call returns in milliseconds.

🌐

127 endpoints

Kundali, panchang, dasha, dosha, matching, KP, Yogini, Char Dasha, and AI narratives.

📐

Swiss Ephemeris local

All computation runs on our servers — no third-party dependency, zero downstream downtime.

🤖

Claude AI narratives

Request full chart readings, dasha stories, and transit forecasts as human-readable prose.

🌏

23 languages

Response text available in Hindi, Tamil, Telugu, Kannada, Bengali, and 22 more languages.

Standard request parameters

ParameterTypeExampleDescription
api_keystringvai_abc123Your VedIntel API key
dobstring01/10/1977Date of birth (DD/MM/YYYY)
tobstring11:40Time of birth (HH:MM, 24-hr)
latnumber11.0Latitude with decimals
lonnumber77.0Longitude with decimals
tznumber5.5Timezone offset (IST = 5.5)
ayanamsastringlahirilahiri (default) | raman | kp
langstringenResponse language code
🚀

Start building in Python today

Free plan — 500 calls/month, all 127 endpoints, no credit card required. Your API key is ready in under 60 seconds.

Get Free API Key →View Pricing

Developer plan from ₹750/mo · $9/mo · 5,000 calls/month