Documentation
🔑 Dashboard Get API Key →
TathaAstu Panchang API · v1 · Engine 7.7.15

The World's Most Comprehensive
Hindu Panchang API

700 years of astronomical data (1700–2400), complete Shastric guidance engine, real-time festival derivation, and sub-50ms responses — powered by Swiss Ephemeris & Lahiri ayanamsa.

Base URL https://api.tathaastuapi.com/v1
🔬
Swiss Ephemeris Accuracy
Lahiri (Chitrapaksha) ayanamsa. Real astronomical precision, not approximations.
📅
700 Years Coverage
1700–2400. Historical research and 375-year future planning in one API.
🌍
50+ Languages
Phonetic transliteration — not translation. "एकादशी" sounds the same in every script.
📖
Full Shastric Engine
Dharma Sindhu & Nirnaya Sindhu rules. Panchak, Bhadra, Disha Shool, Special Yogas.
Sub-50ms Responses
Redis-cached DB + live engine fallback. Transparent to clients.
🔐
Enterprise Security
API key middleware, domain-locked CORS, rate limiting, 99.9% SLA.
New Here?

Start Here

Build your first feature in 5 minutes. Follow this simple flow.

🔑
1. Get API Key
Create a free account at the Dashboard
📊
2. Get Score
Call /v1/compatibility/score
📋
3. Get Insights
Call /v1/compatibility/report
📄
4. Generate PDF
Call /v1/kundli/premium-report
Flow: /score /report /pdf
cURL — Try it now
# Get a compatibility score in one call
curl "https://api.tathaastuapi.com/v1/compatibility/score?bride_dob=1992-07-18&bride_time=10:30&bride_lat=28.6139&bride_lon=77.2090&groom_dob=1989-11-25&groom_time=16:45&groom_lat=19.0760&groom_lon=72.8777" \
  -H "X-API-Key: YOUR_API_KEY"
Bonus: Explainable Festival EngineUse /v1/festivals/explain to see exactly why a festival falls on a given date. No other Panchang API does this. Try it below ↓
Build With TathaAstu

Popular Use Cases

💑
Marriage Matching Platform
Ashtakoot Guna Milan scoring, Manglik analysis, and full compatibility reports for matrimonial apps.
📅
Daily Panchang App
Tithi, nakshatra, festivals, muhurat, and auspicious timings for calendar and reminder apps.
🔮
Astrology SaaS
Birth charts, yogas, dasha predictions, and PDF report generation for professional astrologers.
🕉️
Temple & Pooja Apps
Vrat dates, muhurat windows, and shastric conditions for devotional and ritual planning apps.
🌍
Multi-Faith Calendar
Hindu, Islamic, Christian, Jewish, Sikh, and Orthodox festivals in one API. 700 years of data.
📰
News & Media Widgets
Embed daily panchang, upcoming festivals, and eclipse alerts on websites and newsletters.
🚀
Sample Apps on GitHubWorking demo apps built with TathaAstu API: React (Compatibility Matcher) · Flutter (Daily Panchang) — Coming soon · HTML (Kundli Generator) — Coming soon
Getting Started

Authentication

Every /v1/ request requires a valid API key in the header. Public endpoints (/v1/status, /v1/health) are exempt.

🔑
Get Your Free API KeySign up at tathaastuapi.com/dashboard — Free tier includes 1,000 requests/month. No credit card needed.
🛡️
CORS Protection ActiveAPI calls are only allowed from tathaastuapi.com domains. If you copy a URL from browser DevTools and paste it in Postman without an API key, you will receive a 401 Unauthorized. Always call from your backend server.

Header Authentication

cURL
# Using X-API-Key header (recommended)
curl "https://api.tathaastuapi.com/v1/panchang?date=2025-03-01&lat=28.6&lon=77.2" \
  -H "X-API-Key: tatha_live_xxxxxxxxxxxx"

# Error response when key is missing or invalid
{
  "error": "Unauthorized",
  "message": "Missing or invalid API key. Pass X-API-Key header.",
  "docs": "https://tathaastuapi.com/docs#authentication",
  "get_key": "https://tathaastuapi.com/#pricing"
}
Getting Started

Quick Start

First API call in under 2 minutes. Choose your language.

# Today's Panchang for Delhi
curl "https://api.tathaastuapi.com/v1/panchang?date=2025-03-01&lat=28.6139&lon=77.2090" \
  -H "X-API-Key: YOUR_API_KEY"

# With timings, hora, choghadiya in one call
curl "https://api.tathaastuapi.com/v1/panchang?date=2025-03-01&lat=28.6&lon=77.2&include=timings,hora,choghadiya" \
  -H "X-API-Key: YOUR_API_KEY"

# Full shastric conditions + event ratings
curl "https://api.tathaastuapi.com/v1/shastra/conditions?date=2025-03-01&lat=28.6&lon=77.2" \
  -H "X-API-Key: YOUR_API_KEY"
import requests

API_KEY = "tatha_live_xxxxxxxxxxxx"
BASE    = "https://api.tathaastuapi.com/v1"
HDR     = {"X-API-Key": API_KEY}

# Core Panchang
r = requests.get(f"{BASE}/panchang", headers=HDR,
    params={"date":"2025-03-01","lat":28.6139,"lon":77.2090})
p = r.json()
print(p["tithi"]["name"])   # → "Ashtami"

# Event suitability for marriage
s = requests.get(f"{BASE}/events/suitability", headers=HDR,
    params={"date":"2025-03-01","lat":28.6,"lon":77.2,"event":"marriage"}).json()
print(s["rating"])   # → "AVOID" | "NEUTRAL" | "GOOD" | "EXCELLENT"
const API_KEY = 'tatha_live_xxxxxxxxxxxx';
const BASE    = 'https://api.tathaastuapi.com/v1';
const HDR     = { 'X-API-Key': API_KEY };

async function getPanchang(date, lat, lon) {
  const r = await fetch(
    `${BASE}/panchang?date=${date}&lat=${lat}&lon=${lon}`,
    { headers: HDR }
  );
  return r.json();
}

// Always call from server-side to protect your API key
const p = await getPanchang('2025-03-01', 27.7172, 85.3240);
console.log(p.tithi.name);    // → "Chaturdashi"
console.log(p.engine.version); // → "7.7.15"
<?php
define('API_KEY', 'tatha_live_xxxxxxxxxxxx');
define('BASE',    'https://api.tathaastuapi.com/v1');

function tathaApi($path) {
  $ctx = stream_context_create(['http' => [
    'header' => 'X-API-Key: ' . API_KEY
  ]]);
  return json_decode(
    file_get_contents(BASE . $path, false, $ctx), true
  );
}

$p = tathaApi('/panchang?date=2025-03-01&lat=28.6&lon=77.2');
echo $p['tithi']['name']; // → "Chaturdashi"

Example Response — /v1/panchang

JSON · 200 OK
{
  "date": "2025-02-21",
  "vara": { "name": "Friday", "name_sa": "Shukravāra", "lord": "Venus" },
  "tithi": {
    "number": 8, "name": "Ashtami", "paksha": "Krishna",
    "period": { "start": "2025-02-20 10:13", "end": "2025-02-21 12:13" }
  },
  "nakshatra": { "number": 17, "name": "Anuradha", "deity": "Mitra", "gana": "Deva" },
  "yoga": { "number": 13, "name": "Vyaghata" },
  "karana": { "number": 46, "name": "Garija", "auspicious": true },
  "hindu_calendar": { "amanta": "Magha", "purnimanta": "Phalguna", "samvat": 2081 },
  "timings": {
    "sunrise": "06:52:14", "sunset": "18:23:11",
    "moonrise": "02:14:00", "moonset": "13:44:00"
  },
  "engine": {
    "name": "TathaAstu Panchang", "version": "7.7.15",
    "calculation": "Drik", "ayanamsa": "Lahiri (Chitrapaksha)"
  }
}
Core APIs

Panchang Endpoints FREE TIER

The five limbs of Panchang — Vara, Tithi, Nakshatra, Yoga, Karana — plus Hindu calendar identity, special day flags, and engine attribution on every response.

GET/v1/panchangFreeFull Panchang for any date

Supports 1700–2400 date range. Automatically detects region (India/Nepal/Kashmir) from coordinates. Nepal gets +05:45 timezone. Includes engine version attribution on every response.

ParameterTypeRequiredDescription
datestringRequiredYYYY-MM-DD. Range 1700–2400
latfloatRequiredLatitude −90 to 90
lonfloatRequiredLongitude −180 to 180
regionstringOptionalAuto-detected. Override: NORTH_INDIA, SOUTH_INDIA, NEPAL, KASHMIR
includestringOptionalComma-separated extras: timings, hora, choghadiya, festivals, shastra
GET/v1/panchang/todayFreeCurrent day

Returns Panchang for today (server time, IST). Accepts all optional params except date.

GET/v1/panchang/tomorrowFreeNext day preview

Returns Panchang for tomorrow. Useful for apps that show a next-day preview widget.

GET/v1/panchang/fullEnterpriseComplete data — all sections

Returns every available section in one response: core panchang, timings, hora, choghadiya, astronomical, shastric conditions, event suitability, festivals, panchak, bhadra, disha shool, special yogas.

GET/v1/tithiFreeTithi details only

Returns Tithi number, name, paksha (Shukla/Krishna), nature (Nanda/Bhadra/Jaya/Rikta/Purna), start/end times.

GET/v1/nakshatraFreeNakshatra details only

Returns Nakshatra number, name, pada (quarter), deity, gana (Deva/Manushya/Rakshasa), nature, ruling planet, period times.

Core APIs

All-Timings Endpoint FREE TIER

All auspicious and inauspicious windows for a date in one call — sunrise/sunset, all malefic periods, muhurtas, and moon times.

GET/v1/timingsFreeComplete timing overview

Returns: 🌅 Sunrise/Sunset · 🌙 Moonrise/Moonset · 🔴 Rahu Kaal · ⚫ Yamagandam · 🟠 Gulika Kaal · ⭐ Brahma Muhurta · ✨ Abhijit Muhurat · 💫 Amrit Kaal · ❌ Durmuhurta (×2) · 🚫 Varjyam.

ParameterTypeRequiredDescription
datestringRequiredYYYY-MM-DD
latfloatRequiredLatitude
lonfloatRequiredLongitude
Timings — Pro Tier

Hora & Choghadiya

Planetary hours and auspicious/inauspicious day segments. Durations dynamically computed from actual sunrise/sunset — never hardcoded to 60 minutes.

GET/v1/horaPro24 planetary hour periods

24 Hora periods from sunrise to next sunrise. Each ruled by a planet (Sun→Venus→Mercury→Moon→Saturn→Jupiter→Mars). Duration = (next_sunrise − today_sunrise) / 24. Nepal uses +05:45 correctly.

💡
Best Activities by Hora PlanetSun: authority, government. Moon: travel, emotions. Mars: courage, surgery. Mercury: business, communication. Jupiter: education, wealth. Venus: arts, marriage. Saturn: research, agriculture.
GET/v1/choghadiyaPro16 choghadiya periods (8 day + 8 night)

North/West Indian tradition. 8 day slots from sunrise→sunset and 8 night slots from sunset→sunrise. Each ~1.5 hours (dynamically computed), rated: Amrit ✅ · Shubh ✅ · Labh ✅ · Char ⚠️ · Rog ❌ · Kaal ❌ · Udveg ❌.

GET/v1/rahukaalFreeRahu Kaal timing

Inauspicious 1.5-hour window. Varies by weekday — computed from actual sunrise, not fixed times.

GET/v1/yamagandaFreeYamagandam timing

Another inauspicious daily period. Avoid new ventures during Yamagandam.

GET/v1/gulikaalFreeGulika Kaal timing

Third inauspicious daily window in the Vedic timekeeping system.

GET/v1/abhijitFreeMost auspicious muhurat of the day

Abhijit Muhurat — near solar noon, ~48 minutes. Most universally auspicious window. Not applicable on Wednesdays by traditional rule.

Astronomical — Pro Tier

Astronomical Data

Sun/moon positions, zodiac, sankranti, moon phase and lagna — all computed via Swiss Ephemeris with Lahiri ayanamsa.

GET/v1/astronomicalProSun, moon, planets, sankranti

Sun longitude/rashi, Moon longitude/rashi/nakshatra, sankranti day flag, amavasya/purnima flags, planetary positions.

GET/v1/moon-phaseProMoon phase, illumination, paksha

Returns phase name (Waxing Crescent/Gibbous/Full/Waning etc.), illumination percentage, paksha (Shukla/Krishna), days to next full/new moon.

GET/v1/lagnaProCurrent & udaya lagna (ascendant)

Lagna (ascendant) changes every ~2 hours. Returns current lagna rashi + udaya lagna (fixed at sunrise). For real-time widgets, refresh every 5 minutes.

⚠️
Location-sensitiveLagna is highly dependent on both date AND exact location. A few degrees of latitude/longitude can shift the lagna sign.
Festivals — Free Tier

Festivals & Vrats NEW: Explainable Engine

Festivals derived on-the-fly with full explainability — every result tells you exactly why it falls on a given date.

💡
Two TypesSTORED: fixed-date festivals (Independence Day). DERIVED: rule-based astronomical (Ekadashi, Shivaratri, Purnima, etc.). Both types include tags: FASTING, SHAIVA, VAISHNAVA, REGIONAL, NATIONAL.
GET/v1/festivalsFreeAll festivals for a date
ParameterTypeRequiredDescription
datestringRequiredYYYY-MM-DD
regionstringOptionalIN, IN-MH, IN-TN, IN-KA, NEPAL… filters regional festivals
langstringOptionalLanguage code for festival names (en, hi, ta, te…)
GET/v1/festivals/explainFreeWhy does this festival fall today?

Explainability endpoint — returns the exact astronomical rule that triggered a derived festival, with per-condition match details.

ParameterTypeRequiredDescription
datestringRequiredYYYY-MM-DD
festivalstringRequiredFestival key (e.g. FESTIVAL_HOLI)
location_idintegerOptionalLocation ID (default: 1)
Response Example
{
  "festival": "FESTIVAL_MAHA_SHIVARATRI",
  "date": "2026-02-16",
  "matched": true,
  "rule_code": "SHIVARATRI",
  "conditions": [
    { "field": "paksha", "expected": "KRISHNA", "actual": "KRISHNA", "matched": true },
    { "field": "tithi_num", "expected": 14, "actual": 14, "matched": true },
    { "field": "purnimanta_month", "expected": "Phalguna", "actual": "Phalguna", "matched": true }
  ],
  "human_readable": "This festival was derived because the conditions in rule 'SHIVARATRI' matched the Panchang facts for 2026-02-16."
}
Try It — Festival Explainability

See exactly why a festival falls on a given date. This is unique to TathaAstu API.

Real-time rule evaluation from Panchang data · = matched · = not matched
GET/v1/festivals/monthFreeAll festivals in a month
ParameterTypeRequiredDescription
yearintegerRequiredYear
monthintegerRequiredMonth (1–12)
Shastric Layer — Enterprise

Shastric Conditions ENTERPRISE — Unique in Market

Your competitive differentiator. Complete classical guidance layer based on Dharma Sindhu and Nirnaya Sindhu — not available in any other Panchang API.

📜
Legal Disclaimer Included in Response"Guidance is based on classical shastric rules (Dharma Sindhu, Nirnaya Sindhu). Local custom and personal tradition may vary. Consult your family priest for ceremonies."
GET/v1/shastra/conditionsEnterpriseFull shastric guidance

Returns all classical conditions affecting the date:

🔴 Panchak — type, severity, avoid activities, remedies
Bhadra (Vishti) — exact timing, severity
🧭 Disha Shool — blocked direction + specific remedies
🌟 Nakshatra Shool — direction to avoid by nakshatra
Special Yogas — Sarvartha Siddhi, Amrita Siddhi, Pushkar
🌸 Tithi Nature — Nanda / Bhadra / Jaya / Rikta / Purna
🌙 Moon Nivas — Deva / Manushya / Tiryak / Rakshasa
💎 Day Attributes — color, deity, mantra, ruling planet
✂️ Traditional Restrictions — oil, haircut, nail, etc.
📋 Rule Precedence — Eclipse>Ekadashi>Amavasya>Bhadra>Panchak
ParameterTypeRequiredDescription
datestringRequiredYYYY-MM-DD
latfloatRequiredLatitude
lonfloatRequiredLongitude
Shastric Layer — Enterprise

Event Suitability

Is today good for a wedding? Can I start a business? Should I buy land? The engine applies the full Shastric hierarchy and returns a verdict with explicit reasons and blocking/supporting factors.

GET/v1/events/suitabilityEnterpriseRatings for all life events

Applies hierarchy: Eclipse → Ekadashi → Amavasya → Purnima → Bhadra → Panchak → Shool → Special Yogas. Returns AVOID / NEUTRAL / GOOD / EXCELLENT rating.

Supported Event Typesmarriage · griha_pravesh · travel · mundan · vehicle_purchase · land_purchase · business_start · education_start
Omit event= to get all events at once.
Response Example
{
  "event": "marriage",
  "rating": "AVOID",
  "score": 18,
  "blocking_factors": ["Bhadra active until 15:30", "Panchak — Mritu Panchak"],
  "supporting_factors": ["Abhijit Muhurat available 11:52–12:40"],
  "hierarchy_applied": ["BHADRA", "PANCHAK"],
  "disclaimer": "Guidance is based on classical shastric rules..."
}
GET/v1/events/find-datesEnterpriseFind best dates for an event

Given a date range and event type, returns only the GOOD and EXCELLENT rated dates sorted by score. Ideal for muhurat calendar builders.

Special Conditions — Pro Tier

Panchak, Bhadra & Sankranti

Granular endpoints for checking specific classical conditions.

GET/v1/panchakProPanchak status with remedies

Returns whether date falls in Panchak (5 inauspicious nakshatras: Dhanistha, Shatabhisha, Purva/Uttara Bhadrapada, Revati). Returns type (Mritu/Agni/Raja/Chora/Roga), severity, avoided activities, and specific remedies.

GET/v1/bhadraProBhadra (Vishti Karana) check

Bhadra is the most inauspicious Karana. Returns exact start/end time if active, and the activities to avoid (new business, haircut, auspicious ceremonies).

GET/v1/ganda-moolProGanda Mool nakshatra check

Checks whether the date falls in Ganda Mool nakshatras (Ashwini, Ashlesha, Magha, Jyeshtha, Mula, Revati) — considered inauspicious for birth and ceremonies.

GET/v1/sankrantiProSolar sankranti dates

Returns all 12 solar sankranti dates for a year with exact time, rashi transition, significance, and recommended observances.

Calendar — Free Tier

Calendar APIs

Bulk queries for calendar UI components — month, year, and custom ranges.

GET/v1/calendar/monthFreeFull month Panchang
ParameterTypeRequiredDescription
yearintegerRequiredYear
monthintegerRequiredMonth (1–12)
latfloatOptionalLatitude for timings
lonfloatOptionalLongitude
GET/v1/calendar/rangeFreeCustom range (max 31 days)
ParameterTypeRequiredDescription
startstringRequiredStart date YYYY-MM-DD
endstringRequiredEnd date (max 31 days from start)
Muhurat — Pro Tier

Muhurat Finder

Find the most auspicious date-time windows for a specific event type within a date range, ranked by classical shastric score.

GET/v1/muhurat/findProFind best dates for event
ParameterTypeRequiredDescription
eventstringRequiredmarriage, griha_pravesh, business_start, vehicle_purchase…
start_datestringRequiredSearch range start YYYY-MM-DD
end_datestringRequiredSearch range end YYYY-MM-DD (max 90 days)
latfloatRequiredLocation latitude
lonfloatRequiredLocation longitude
min_scoreintegerOptionalMinimum score 0–100 (default: 60)
Eclipses — Pro Tier

Eclipses

Solar and lunar eclipse data with Sutak timings and visibility by location.

GET/v1/eclipseProEclipses for a year
ParameterTypeRequiredDescription
yearintegerRequiredYear to query
typestringOptionallunar or solar (default: both)
latfloatOptionalFor visibility check
lonfloatOptionalFor visibility check
Vedic Astrology — Pro Tier

Birth Chart (Kundli) PRO

Generate a complete Vedic birth chart (Kundli) with planetary positions, Lagna, Nakshatras, Dashas, and Yogas based on Swiss Ephemeris + Lahiri ayanamsa. Supports profiles for retrieval.

POST/v1/birth-chartProGenerate a new birth chart

Generates a full Vedic birth chart. Pass the native's birth date, time, and location. Returns planetary positions in signs and nakshatras, house placements, Vimshottari Dasha periods, and notable Yogas.

ParameterTypeRequiredDescription
namestringRequiredName of the person
datestringRequiredBirth date YYYY-MM-DD
timestringRequiredBirth time HH:MM (24-hr)
latfloatRequiredBirth place latitude
lonfloatRequiredBirth place longitude
tzstringOptionalTimezone (e.g. Asia/Kolkata). Auto-detected from coordinates if omitted
cURL Example
curl -X POST https://api.tathaastuapi.com/v1/birth-chart \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Arjun",
    "date": "1990-05-15",
    "time": "06:30",
    "lat": 28.6139,
    "lon": 77.2090
  }'
GET/v1/birth-chart/{profile_id}ProRetrieve saved chart

Retrieve a previously generated birth chart by its profile ID. Returns the same full chart data without re-computing.

Vedic Astrology — Pro Tier

Compatibility (Kundli Matching) PRO

Ashtakoot (8-fold) Gun Milan compatibility matching. Computes Varna, Vashya, Tara, Yoni, Graha Maitri, Gana, Bhakoot, and Nadi scores with Manglik analysis and Dasha compatibility.

POST/v1/compatibilityProMatch two birth charts

Provide birth details for two individuals. Returns Ashtakoot Guna score (out of 36), individual Kuta scores, Manglik Dosha analysis, Nadi Dosha check, and an overall compatibility assessment.

ParameterTypeRequiredDescription
person1objectRequiredObject with name, date, time, lat, lon
person2objectRequiredObject with name, date, time, lat, lon
cURL Example
curl -X POST https://api.tathaastuapi.com/v1/compatibility \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "person1": {"name": "Arjun", "date": "1990-05-15", "time": "06:30", "lat": 28.6, "lon": 77.2},
    "person2": {"name": "Priya", "date": "1992-08-22", "time": "14:15", "lat": 28.6, "lon": 77.2}
  }'
GET/v1/compatibility/{compat_id}ProRetrieve saved match result

Retrieve a previously computed compatibility analysis by its ID.

World Festivals — Free Tier

World Festivals FREE TIER

Multi-religion world festival calendar covering Islamic, Christian, Orthodox, Sikh, and Jewish festivals. Pre-computed with astronomical precision (Swiss Ephemeris) across 700 years (1700–2400). 94,000+ festival records.

🌍
5 Religions Covered Islamic — Ramadan, Eid al-Fitr, Eid al-Adha, Muharram, Mawlid (Hijri astronomical) · Christian — Easter, Christmas, Lent, Pentecost, Ascension · Orthodox — Orthodox Easter (Pascha), Nativity, Theophany · Sikh — Vaisakhi, Gurpurabs, Hola Mohalla (Nanakshahi calendar) · Jewish — Passover, Rosh Hashanah, Yom Kippur, Hanukkah, Sukkot (Hebrew calendar)
GET/v1/festivals/worldFreeQuery world festivals

Multi-religion world festival calendar. Query by date, year, month, religion, or search by name. Returns paginated results sorted by date.

ParameterTypeRequiredDescription
datestringOptionalYYYY-MM-DD — get festivals for a specific date
yearintegerOptionalYear (1700–2400)
monthintegerOptionalMonth (1–12), requires year
religionstringOptionalFilter: islamic, christian, orthodox, sikh, jewish
festival_idstringOptionalExact festival_id filter
searchstringOptionalSearch festival names (partial match)
limitintegerOptionalResults per page (1–1000, default: 100)
offsetintegerOptionalPagination offset (default: 0)
cURL Examples
# All Islamic festivals for 2025
curl "https://api.tathaastuapi.com/v1/festivals/world?year=2025&religion=islamic" \
  -H "X-API-Key: YOUR_KEY"

# Search for Eid festivals
curl "https://api.tathaastuapi.com/v1/festivals/world?search=eid&year=2025" \
  -H "X-API-Key: YOUR_KEY"

# Jewish festivals in March 2025
curl "https://api.tathaastuapi.com/v1/festivals/world?year=2025&month=3&religion=jewish" \
  -H "X-API-Key: YOUR_KEY"
JSON · 200 OK
{
  "total": 28,
  "limit": 100,
  "offset": 0,
  "festivals": [
    {
      "year": 2025,
      "religion": "islamic",
      "festival_id": "ramadan_start",
      "festival_name": "Ramadan Begins",
      "gregorian_date": "2025-03-01",
      "display_date": "2025-03-01",
      "day_of_week": "Saturday",
      "calendar_ref": "1 Ramadan 1446 AH",
      "notes": "Astronomical new moon calculation"
    }
  ],
  "filters": { "year": 2025, "religion": "islamic" }
}
GET/v1/festivals/world/religionsFreeList religions and festival counts

Returns all available religions with total festival counts, unique festival types, and year coverage range. Use this to discover what data is available.

cURL
curl "https://api.tathaastuapi.com/v1/festivals/world/religions" \
  -H "X-API-Key: YOUR_KEY"
JSON · 200 OK
{
  "religions": [
    { "religion": "islamic", "total_festivals": 24843, "unique_festivals": 36, "min_year": 1700, "max_year": 2400 },
    { "religion": "christian", "total_festivals": 21861, "unique_festivals": 31, "min_year": 1700, "max_year": 2400 },
    { "religion": "jewish", "total_festivals": 19245, "unique_festivals": 28, "min_year": 1700, "max_year": 2400 },
    { "religion": "sikh", "total_festivals": 14700, "unique_festivals": 21, "min_year": 1700, "max_year": 2400 },
    { "religion": "orthodox", "total_festivals": 13700, "unique_festivals": 20, "min_year": 1700, "max_year": 2400 }
  ],
  "total_records": 94349,
  "year_range": { "min": 1700, "max": 2400 }
}
GET/v1/festivals/world/upcomingFreeUpcoming festivals from today

Returns upcoming world festivals from the current date, across all religions or filtered by a specific religion. Ideal for calendar widgets and notifications.

ParameterTypeRequiredDescription
religionstringOptionalFilter: islamic, christian, orthodox, sikh, jewish
limitintegerOptionalMax results (1–100, default: 20)
cURL
# Upcoming Sikh festivals
curl "https://api.tathaastuapi.com/v1/festivals/world/upcoming?religion=sikh&limit=10" \
  -H "X-API-Key: YOUR_KEY"
Bulk APIs — Enterprise

Bulk APIs

Process multiple dates or locations in a single HTTP request. Ideal for pre-computing calendar data or batch analysis.

POST/v1/bulk/panchangEnterprisePanchang for multiple dates
Request Body
{
  "dates": ["2025-03-01", "2025-03-02", "2025-03-15"],
  "lat": 28.6139,
  "lon": 77.2090,
  "include": "timings,festivals"  // optional
}
POST/v1/bulk/festivalsEnterpriseFestivals for multiple dates

Returns festivals for an array of dates in one call. Supports region and language filtering. Max 365 dates per request on Enterprise.

Reference

Languages (i18n)

All names are phonetically transliterated — not machine translated. "एकादशी" renders with the same sound in every script.

Phonetic, Not TranslatedFestival and Panchang names preserve the original Sanskrit pronunciation across all 50+ supported scripts and languages.
hiहिन्दी
enEnglish
taதமிழ்
teతెలుగు
mrमराठी
bnবাংলা
guગુજરાતી
knಕನ್ನಡ
mlമലയാളം
paਪੰਜਾਬੀ
orଓଡ଼ିଆ
neनेपाली
siසිංහල
ruРусский
ja日本語
zh中文
arالعربية
deDeutsch
frFrançais
esEspañol
Reference

Error Codes

All errors return JSON with error, message, and optional docs link.

401
Unauthorized
Missing or invalid X-API-Key header. Get a key from your dashboard.
403
Forbidden
Valid key but endpoint requires a higher plan tier (Free → Pro → Enterprise).
422
Validation Error
Invalid parameter — wrong date format, out-of-range lat/lon, unsupported event type, or date outside 1700–2400.
429
Rate Limited
Monthly or per-minute quota exceeded. Check X-RateLimit-Remaining header.
500
Engine Error
Internal calculation error. Report with date and coordinates used.
503
Service Unavailable
Live engine temporarily unavailable. Pre-computed dates (1900–2150) still served from DB.
Reference

Rate Limits & Plans

Limits are per-API-key. Every response includes headers so you can track usage in real-time.

PlanRequests / MonthRequests / MinEndpointsPrice
Trial
2005All endpoints — 3-day evaluation₹0
Free
1,00030Core panchang, timings, festivals, rahukaal₹0
Starter
10,00060All core endpoints + Bulk endpoints₹499/mo
Pro
100,00060All endpoints incl. Muhurat, Bulk & Calendar₹1,499/mo
Business
500,000120All endpoints + Custom rules, Priority phone + email₹4,999/mo
Enterprise
UnlimitedCustom+ Bulk APIs, Full export, SLA, Dedicated supportCustom
Response Headers
X-RateLimit-Limit:     50000
X-RateLimit-Remaining: 49847
X-RateLimit-Reset:     2025-04-01T00:00:00Z
X-Request-Id:          req_01HXXXXXXXXXXXXXXXXXX
Need more requests or Enterprise access?

Upgrade directly from the developer dashboard. Enterprise plans include SLA, dedicated support, and IP allowlisting.

Upgrade Plan →
Reference

Coverage & Engine

TathaAstu uses a two-path architecture — transparent to clients.

700 Years Coverage (1700–2400)The world’s widest Panchang data range. Pre-computed DB (1900–2150) delivers instant <5ms responses; Swiss Ephemeris live engine covers the full 1700–2400 range seamlessly.
🔭
Dual-Path ArchitectureRedis + MySQL cached responses for common dates. Swiss Ephemeris real-time calculation for historical/future dates. Same JSON structure, transparent to clients.
🔢
Engine Attribution on Every ResponseEvery endpoint returns engine.name, engine.version, engine.calculation, and engine.ayanamsa so clients can always verify the calculation method.

⚡ Interactive API Reference

Explore and test every endpoint in your browser. Powered by Swagger UI. Requires a valid API key from your dashboard.

Interactive API Explorer
Click Load to initialise Swagger UI from your deployed OpenAPI spec.

Make sure your FastAPI server is running at api.tathaastuapi.com.

All 30+ endpoints, parameters, and response schemas will be available here.
Interactive Sandbox

🧪 Try It Live

Real calls to the production API. Enter your key once and all panels will use it.

🔑 API Key Enter once — auto-fills all panels
⚠️
CORS NoteBrowser sandbox calls require your server to have CORS enabled for this domain, or you can test directly from your server using cURL/Python. The API key is still required even for allowed origins.
GET/v1/panchang— Core panchang for any date
GET/v1/timings— All timing windows for a date
GET/v1/hora— 24 planetary hours Pro
GET/v1/festivals— Festivals for a date
GET/v1/shastra/conditions— Full shastric layer Enterprise
GET/v1/events/suitability— Event ratings Enterprise
Want the full interactive explorer with schemas?

Switch to API Reference for Swagger UI with all 30+ endpoints, parameter schemas, and auto-generated code samples.