EngineeringApril 2026New Feature

The First Vedic Astrology API with Hindi, Tamil, Telugu & Sanskrit Support

Add &lang=hi to any API call and get सूर्य instead of Sun, मेष instead of Aries, वृश्चिक महादशा instead of Scorpio Mahadasha. Instant. Free. No latency.

The gap in every Vedic API

Every Vedic astrology API returns results in English. Sun, Moon, Aries, Scorpio Mahadasha. That is fine for a developer in San Francisco. It is not fine for the 600 million Hindi speakers using Jyotish daily, for the Tamil astrologers of Nadu who have practiced this tradition for 3,000 years, or for the Sanskrit scholars for whom these terms have precise classical meanings that English simply cannot carry.

VedicAstroAPI — our main competitor with $5.7M ARR — supports 5 Indian languages. Basic term swaps, no romanization, no Sanskrit, no auto-detection. We wanted to do this properly.

Here is exactly how we built it, what we decided, and why every decision was made the way it was.

Static lookup beats AI translation for Vedic terms

The obvious approach is AI translation: send the response to Claude Haiku, get it back in Tamil. We actually built this first. It worked. But it had three problems:

  • Latency: every API call added 400–800ms for the translation round-trip
  • Cost: each translation call to Claude Haiku costs money — and at scale, this adds up fast
  • Inconsistency: AI translation of Vedic terms is non-deterministic. "Mahadasha" might become "மஹாதஶை" today and "மஹாதசை" tomorrow

Vedic astrology has a fixed, classical vocabulary. There are exactly 9 planets, 12 signs, 27 nakshatras. Each has a canonical name in every language — names that have been stable for centuries. A static lookup table is the correct solution: perfect accuracy, zero cost, zero latency.

terms.ts — 300+ terms, 5 languages, 0ms lookup

Sun: {
  en: 'Sun',
  hi: 'सूर्य',    hi_roman: 'Surya',
  ta: 'சூரியன்', ta_roman: 'Suryan',
  te: 'సూర్యుడు', te_roman: 'Suryudu',
  sa: 'सूर्य',    sa_roman: 'Sūrya',
}

Every entry has native script and romanization. The _roman field uses IAST-derived phonetics for Indic terms so a Western developer can render authentic names without needing to handle Devanagari or Tamil script rendering.

Why Sanskrit is the most important language we added

No other Vedic astrology API supports Sanskrit. This is remarkable, because Sanskrit is the origin language of every term in Jyotish. Surya. Chandra. Mesha. Vrishabha. These are Sanskrit words. Every other language — Hindi, Tamil, Telugu, Malayalam — borrowed them, adapted them, phonetically transformed them over centuries.

A professional Jyotishi in Kerala who studied from classical Sanskrit texts wants to see सूर्य (Sūrya), not "Sun." A researcher comparing charts across traditions wants canonical Sanskrit. A Western practitioner who studied from B.V. Raman or Hart de Fouw recognizes Sanskrit terms immediately.

Sanskrit also serves as our universal fallback. If a term has no Tamil translation in our table, we return Sanskrit rather than English. This is linguistically correct — Tamil practitioners already use Sanskrit-origin terms for most astrological vocabulary.

Fallback chain

requested language → Sanskrit → English

A response never breaks. If a term is missing in Tamil, Sanskrit is returned. If missing in Sanskrit, English. The response is always complete.

How to use it: three parameters

1. lang — choose your language

# Hindi
GET /api/v1/horoscope/planet-details?api_key=...&dob=01/10/1977&tob=11:40&lat=11&lon=77&tz=5.5&lang=hi

# Tamil
GET /api/v1/panchang/panchang?api_key=...&lat=13.08&lon=80.27&tz=5.5&lang=ta

# Sanskrit
GET /api/v1/dashas/current-mahadasha-full?api_key=...&dob=01/10/1977&tob=11:40&lat=11&lon=77&tz=5.5&lang=sa

2. romanized=1 — get phonetic spelling alongside native script

GET .../planet-details?...&lang=hi&romanized=1

// Response includes:
"sign": "मेष (Mesha)"
"nakshatra": "अश्विनी (Ashwini)"
"current_dasha": "शनि महादशा (Shani Mahadasha)"

3. lang=auto — detect language from coordinates

Pass lang=auto and the API infers the right language from the timezone and latitude. IST (tz=5.5) with Indian coordinates returns Hindi. No extra work for the developer.

GET /api/v1/horoscope/planet-details?...&lang=auto
// tz=5.5 + lat=11 → detected: hi (Hindi)
// Response includes: "lang": "hi", "script": "Devanagari"

translate-terms: download the whole dictionary in one call

If you are building a frontend that needs to display translated terms, calling the API for every term is wasteful. Instead, download the full dictionary once and cache it client-side:

GET /api/v1/utilities/translate-terms?api_key=...&lang=ta

{
  "status": 200,
  "response": {
    "lang": "ta",
    "lang_name": "Tamil",
    "native_name": "தமிழ்",
    "script": "Tamil",
    "rtl": false,
    "term_count": 312,
    "categories": {
      "planets": 11, "signs": 12, "nakshatras": 27,
      "houses": 12, "dashas": 9, "dignities": 10, ...
    },
    "terms": {
      "Sun":     { "native": "சூரியன்",  "romanized": "Suryan" },
      "Moon":    { "native": "சந்திரன்", "romanized": "Chandiran" },
      "Aries":   { "native": "மேஷம்",   "romanized": "Mesham" },
      ...
    }
  }
}

You can also filter by category: &category=nakshatras returns only the 27 nakshatra translations. Useful when you only need a specific section.

Supported languages

CodeLanguageScriptNative nameExample: Sun
enEnglishLatinEnglishSun
hiHindiDevanagariहिन्दीसूर्य
taTamilTamilதமிழ்சூரியன்
teTeluguTeluguతెలుగుసూర్యుడు
saSanskritDevanagariसंस्कृतम्सूर्य

22 additional languages are on the roadmap (Kannada, Malayalam, Bengali, Gujarati, Marathi, Punjabi, Urdu, Odia, Sinhala, Nepali, plus European and Southeast Asian languages). The architecture requires only data additions — no code changes.

What gets translated — and what doesn't

✓ Translated

  • Planet names (Sun → सूर्य)
  • Zodiac signs (Aries → மேஷம்)
  • Nakshatra names (all 27)
  • House labels (1st House → प्रथम भाव)
  • Dasha lords (Saturn Mahadasha → शनि महादशा)
  • Dignity states (Exalted → உச்சம்)
  • Panchang terms (Tithi, Nakshatra, Yoga)
  • Dosha names (Mangal Dosha → செவ்வாய் தோஷம்)

✗ Not translated

  • Numbers, degrees, coordinates
  • Dates, times (DD/MM/YYYY format)
  • API keys, IDs, URLs
  • Status codes, error messages
  • Numeric fields (longitude, latitude)
  • remaining_api_calls

Why this matters commercially

The largest Vedic astrology apps in India — Astrotalk (30M+ users), mPanchang (20M+ downloads), AstroSage — serve users in their regional languages. Their backends return data in English and the frontend does translation manually, maintaining their own dictionaries, dealing with inconsistencies, patching updates when new terms appear.

With VedIntelAstroAPI, they pass lang=hi and the response is already in Hindi. One parameter. No frontend dictionary. No maintenance burden. The translate-terms endpoint means they can pre-load the full dictionary and handle any edge cases locally.

For apps targeting the diaspora — UK Tamils, US Telugu speakers, Canadian Gujaratis — romanized=1 delivers authentic names in a phonetic form their users can read even if they cannot read native script.

Try it now — free plan includes 500 calls/month

Sign up, get your API key, add &lang=hi to the testing console, and see your chart in Hindi in under 2 minutes.

Get Free API Key →View Docs
← Back to Blog