API TUTORIAL

Panchang API for Apps: Hindu Calendar Integration

Complete guide to integrating Panchang data into your applications. Get Tithi, Nakshatra, Yoga, Karana, and auspicious timings via API.

January 7, 2026 - 15 min read

What is Panchang?

Panchang (Panchangam) is the Hindu calendar system that tracks five (pancha) elements (anga) of time. It's essential for determining auspicious dates, festival timings, and daily rituals.

The Five Elements

1. Tithi (Lunar Day)

30 tithis in a lunar month, based on Moon-Sun angle

2. Nakshatra (Lunar Mansion)

27 nakshatras, Moon's position in the zodiac

3. Yoga (Sun-Moon Combination)

27 yogas, sum of Sun and Moon longitudes

4. Karana (Half-Tithi)

11 karanas, half of each tithi

5. Vara (Weekday)

7 varas, each ruled by a planet

Get Daily Panchang

// Get complete panchang for a date and location
const response = await fetch('https://api.vedika.io/v2/astrology/panchang', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'x-api-key': 'YOUR_API_KEY'
    },
    body: JSON.stringify({
        date: '2026-01-15',
        latitude: 28.6139,
        longitude: 77.2090,
        timezone: 'Asia/Kolkata'
    })
});

const panchang = await response.json();

// Response:
{
    "date": "2026-01-15",
    "vara": {
        "name": "Thursday",
        "deity": "Brihaspati",
        "hindi": "Guruvar"
    },
    "tithi": {
        "name": "Saptami",
        "paksha": "Shukla",
        "endTime": "2026-01-15T18:42:00+05:30",
        "deity": "Indra"
    },
    "nakshatra": {
        "name": "Ashwini",
        "endTime": "2026-01-15T21:15:00+05:30",
        "deity": "Ashwini Kumaras",
        "pada": 2
    },
    "yoga": {
        "name": "Siddhi",
        "endTime": "2026-01-15T16:30:00+05:30"
    },
    "karana": {
        "name": "Vanija",
        "endTime": "2026-01-15T18:42:00+05:30"
    },
    "sunrise": "2026-01-15T07:12:00+05:30",
    "sunset": "2026-01-15T17:52:00+05:30"
}

Rahu Kaal & Inauspicious Times

import requests

def get_inauspicious_times(date, lat, lng):
    response = requests.post(
        'https://api.vedika.io/v2/astrology/muhurta/rahu-kaal',
        headers={'x-api-key': 'YOUR_API_KEY'},
        json={
            'date': date,
            'latitude': lat,
            'longitude': lng
        }
    )

    data = response.json()

    print(f"Rahu Kaal: {data['rahuKaal']['start']} - {data['rahuKaal']['end']}")
    print(f"Yamaganda: {data['yamaganda']['start']} - {data['yamaganda']['end']}")
    print(f"Gulika: {data['gulika']['start']} - {data['gulika']['end']}")

    return data

# Example
times = get_inauspicious_times('2026-01-15', 28.6139, 77.2090)

# Response includes:
# - rahuKaal: Time to avoid important activities
# - yamaganda: Another inauspicious period
# - gulika: Third inauspicious period
# - abhijitMuhurta: Most auspicious time of day

Choghadiya (Auspicious Periods)

// Get Choghadiya for the day
const choghadiyaResponse = await fetch('https://api.vedika.io/v2/astrology/muhurta/choghadiya', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'x-api-key': 'YOUR_API_KEY'
    },
    body: JSON.stringify({
        date: '2026-01-15',
        latitude: 28.6139,
        longitude: 77.2090
    })
});

const choghadiya = await choghadiyaResponse.json();

// Response:
{
    "dayChoghadiya": [
        {"name": "Udveg", "start": "07:12", "end": "08:42", "nature": "inauspicious"},
        {"name": "Char", "start": "08:42", "end": "10:12", "nature": "good"},
        {"name": "Labh", "start": "10:12", "end": "11:42", "nature": "auspicious"},
        {"name": "Amrit", "start": "11:42", "end": "13:12", "nature": "best"},
        // ... 8 periods total
    ],
    "nightChoghadiya": [
        {"name": "Rog", "start": "17:52", "end": "19:22", "nature": "inauspicious"},
        {"name": "Kaal", "start": "19:22", "end": "20:52", "nature": "inauspicious"},
        // ... 8 night periods
    ]
}

Festival Dates

// Get Hindu festivals for a year
const festivalsResponse = await fetch('https://api.vedika.io/v2/calendar/festivals?year=2026', {
    headers: {'x-api-key': 'YOUR_API_KEY'}
});

const festivals = await festivalsResponse.json();

// Response includes major festivals:
{
    "festivals": [
        {"name": "Makar Sankranti", "date": "2026-01-14", "type": "solar"},
        {"name": "Maha Shivaratri", "date": "2026-02-17", "type": "lunar"},
        {"name": "Holi", "date": "2026-03-03", "type": "lunar"},
        {"name": "Navratri Start", "date": "2026-03-22", "type": "lunar"},
        {"name": "Ram Navami", "date": "2026-03-30", "type": "lunar"},
        {"name": "Diwali", "date": "2026-10-20", "type": "lunar"},
        // ... 50+ festivals
    ]
}

Build a Panchang Widget

// React component for Panchang widget
function PanchangWidget({ latitude, longitude }) {
    const [panchang, setPanchang] = useState(null);

    useEffect(() => {
        async function fetchPanchang() {
            const response = await fetch('https://api.vedika.io/v2/astrology/panchang', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json',
                    'x-api-key': process.env.VEDIKA_API_KEY
                },
                body: JSON.stringify({
                    date: new Date().toISOString().split('T')[0],
                    latitude,
                    longitude
                })
            });
            setPanchang(await response.json());
        }
        fetchPanchang();
    }, [latitude, longitude]);

    if (!panchang) return 
Loading...
; return (

Today's Panchang

Tithi: {panchang.tithi.name} ({panchang.tithi.paksha})

Nakshatra: {panchang.nakshatra.name}

Yoga: {panchang.yoga.name}

Sunrise: {panchang.sunrise}

); }

Add Panchang to Your App

Vedika API provides accurate Panchang calculations for any location worldwide. Support for all regional variations and 22 languages.

Get Free API Key