Transits · Nakshatra · Mahadasha · Claude AI

Astrology Journaling API
daily prompts from the sky

Pull today's planetary transits, running Mahadasha, and nakshatra. Claude AI writes a personalised journal reflection question — unique to each user's chart and today's sky.

Pairs with meditation and mindfulness apps. $5–15/user/month wellness subscription. High retention — users return daily for their personalised prompt.

Start free — 500 calls →API Docs

From birth data to daily prompt — 5 steps

Transit, nakshatra, and Mahadasha data fetched in parallel. Claude AI synthesises into one personalised prompt.

1
Store the user's birth data once
Collect dob, tob, lat, lon, tz at signup. Birth charts are permanently cached in Supabase after the first call — every subsequent request returns in under 10 ms. No re-entry needed.
2
Fetch today's planetary transits
Call /panchang/transit with today's date. Get all 9 planets' current positions — which signs they're in, whether they're retrograde, and what house they occupy in the natal chart.
3
Fetch today's nakshatra
Call /predictions/daily-nakshatra to get today's nakshatra, its qualities, and a daily prediction. This forms the thematic backbone of the day's journal prompt.
4
Get the current Mahadasha
Call /dashas/current-mahadasha to get the active Mahadasha and Antardasha with remaining time. The life period context makes journal prompts deeply personalised — a Jupiter Mahadasha prompt is entirely different from a Saturn one.
5
Generate AI journal prompt
Send the transit data, nakshatra, and dasha to /ai/transit/forecast. Claude AI synthesises all three into a single personalised journal reflection question — unique to this person's chart and today's sky.

Sample AI-generated prompts

Each prompt is unique to the user's running Mahadasha and today's sky. These are real Claude AI outputs.

Context: Jupiter Mahadasha + Moon in Rohini nakshatra today

Jupiter's expansive energy is meeting the nurturing stillness of Rohini today. Where in your life are you being asked to grow through comfort rather than struggle? What would it look like to expand without uprooting what already feels like home?

Context: Saturn Antardasha + Mercury retrograde + Ashtami tithi

Saturn asks you to look at what you've been avoiding saying. With Mercury moving backward, a conversation from the past may resurface — not to reopen old wounds, but to close them properly. What words have you left unsaid that your future self would thank you for speaking now?

Context: Rahu Mahadasha + Ardra nakshatra + Full Moon approaching

Ardra's storm clears what no longer serves. As the moon grows full, Rahu amplifies your hunger for the new — but storms reveal what's truly rooted. What have you been holding onto that the coming fullness is asking you to release?

Complete daily prompt pipeline — 25 lines

Parallel fetches, AI generation, and a DB cache strategy to avoid repeat Claude calls.

// Daily journal prompt generation
const BASE = 'https://vedintelastroapi.com/api/v1'
const KEY  = 'vai_YOUR_KEY'

// User's stored birth data (retrieved from your DB)
const user = { dob: '15/08/1992', tob: '07:45', lat: 12.9716, lon: 77.5946, tz: 5.5 }
const params = `api_key=${KEY}&dob=${user.dob}&tob=${user.tob}&lat=${user.lat}&lon=${user.lon}&tz=${user.tz}`

const today = new Date().toLocaleDateString('en-GB').replace(///g, '/')
// today → "03/06/2026"

// Run all three data fetches in parallel — under 200 ms total
const [transits, nakshatra, dasha] = await Promise.all([
  fetch(`${BASE}/panchang/transit?${params}&date=${today}`).then(r => r.json()),
  fetch(`${BASE}/predictions/daily-nakshatra?${params}&date=${today}`).then(r => r.json()),
  fetch(`${BASE}/dashas/current-mahadasha?${params}`).then(r => r.json()),
])

// transits.response.transit  → array of planet positions today
// nakshatra.response.nakshatra → { name, ruling_planet, qualities, prediction }
// dasha.response.current_mahadasha → { planet, end_date, years_remaining }

// Generate personalised AI prompt (call once per day per user, cache result)
const prompt = await fetch(`${BASE}/ai/transit/forecast?${params}&date=${today}`).then(r => r.json())
// prompt.response.narrative → 200-word personalised journal prompt

// Cache this in your DB so you don't re-call Claude AI mid-day
await db.journalPrompts.upsert({ userId: user.id, date: today, prompt: prompt.response.narrative })

8 endpoints for journaling apps

Mix and match based on what context you want in the journal prompt.

Panchang
/api/v1/panchang/transit

All 9 planet positions for any date and location — current sign, house, retrograde status

Predictions
/api/v1/predictions/daily-nakshatra

Today's nakshatra with qualities, ruling deity, and daily prediction

Predictions
/api/v1/predictions/daily-moon

Daily horoscope based on Moon sign transit — good for sign-based daily content

Dasha
/api/v1/dashas/current-mahadasha

Active Mahadasha and Antardasha with remaining duration — the user's life period context

Dasha
/api/v1/dashas/current-mahadasha-full

Full Mahadasha tree — Maha, Antar, Pratyantar — with start/end dates

Panchang
/api/v1/panchang/panchang

Full daily panchang — tithi, nakshatra, yoga, karana, sunrise/sunset

Panchang
/api/v1/panchang/retrogrades

Current retrograde status for all planets — useful for "Mercury retrograde" content

AI
/api/v1/ai/transit/forecast

Claude AI transit forecast — personalised interpretation of current planets for this natal chart

Built for daily retention

🔄
Fresh content every day
Transit positions change daily. The nakshatra changes roughly every 27 hours. Every day produces genuinely different data — and Claude AI generates genuinely different prompts.
Parallel fetches — under 200 ms
Transit, nakshatra, and dasha can all be fetched simultaneously with Promise.all. For returning users with cached charts, total fetch time is under 200 ms.
💾
Cache AI prompts in your DB
Generate the Claude AI prompt once per user per day, store in your database. Serve it instantly for the rest of the day — no repeated AI calls, no extra cost.
📲
Push notification ready
Schedule a daily job at 6 AM to pre-generate prompts for all active users. Push via FCM, APNs, or email. High retention — users return daily to see their personalised prompt.
🌐
23 language responses
Add &lang=hi for Hindi, &lang=ta for Tamil and 21 more. Planet names, nakshatra names, and transit descriptions return in native script for regional audiences.
🎯
Mahadasha context = deep personalisation
A Saturn Mahadasha user gets fundamentally different prompts than a Jupiter Mahadasha user — even with the same transits. This is what separates you from generic horoscope apps.

Build your journaling app today

500 free API calls. No credit card. Daily fresh transit data from Swiss Ephemeris.

Get free API key →API Docs