PanchangaAPI — Vedic Astrology
by @degen0root
Vedic astrology (Jyotish) REST API powered by Swiss Ephemeris. 26 endpoints: Panchanga, Kundali (300+ Yogas, Ashtakavarga, Shodhya Pinda, Doshas), KP system...
Step 1: Register
POST https://api.moon-bot.cc/register
Content-Type: application/json{"email": "user@example.com"}
Response: {"status": "pending", "account_id": "acc_...", "polling": {"url": "/register/status/acc_...", "interval_seconds": 5}}
Step 2: Verify
User receives an email with a verification button. After clicking it:
GET https://api.moon-bot.cc/register/status/acc_...
Response: {"status": "verified", "api_key": "pnc_..."}
Step 3: Use
curl -X POST https://api.moon-bot.cc/panchanga \
-H "X-API-Key: pnc_..." \
-H "Content-Type: application/json" \
-d '{"datetime": "2024-01-15T06:00:00+05:30", "latitude": 28.6139, "longitude": 77.2090}'
Registration Methods
| Method | Request | Verification | Best for |
|--------|---------|-------------|----------|
| Email | {"email": "..."} | User clicks button in email, or agent calls POST /verify {"email":"...","code":"PIN"} | Recommended |
| Telegram | {"telegram_id": 123} | User opens verify_url link → @vastr_bot activates account | Best for Telegram bots |
Polling for verification status
After registration, poll GET /register/status/{account_id} every 5 seconds (timeout 5 min).
Returns {"status": "verified", "api_key": "pnc_..."} once verified.
2d. Alternative (also works for agents with email): Extract the token from the button link and call:
GET /verify?token=
Returns {"status": "verified", "api_key": "pnc_...", "account_id": "..."}.3. Use api_key in X-API-Key header for all subsequent requests.
Method 3: Telegram verification (best for bot-to-human flow)
1. Register with Telegram user ID:
POST /register
Content-Type: application/json{"telegram_id": 123456789}
Response:
{
"status": "pending",
"message": "Open the Telegram link to verify your account.",
"verify_url": "https://t.me/vastr_bot?start=verify_{account_id}_{code}",
"account_id": "...",
"tier": "free",
"free_tier_daily": 2,
"polling": {
"url": "/register/status/{account_id}",
"interval_seconds": 5,
"timeout_seconds": 300
}
}
2. Agent sends the verify_url to the user via Telegram.
3. User clicks the link, @vastr_bot activates the account automatically and sends the api_key in chat.
4. Agent polls GET /register/status/{account_id} every 5 seconds to get the api_key.
5. Alternative API verification (if agent received the code directly):
POST /verify
Content-Type: application/json{"telegram_id": 123456789, "code": "1234"}
Returns {"status": "verified", "api_key": "pnc_...", "account_id": "..."}.Quick Start (after registration)
# Get today's Panchanga for Delhi
curl -X POST https://api.moon-bot.cc/panchanga \
-H "X-API-Key: pnc_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"datetime": "2024-01-15T06:00:00+05:30", "latitude": 28.6139, "longitude": 77.2090}'Get a complete birth chart
curl -X POST https://api.moon-bot.cc/kundali \
-H "X-API-Key: pnc_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"datetime": "1990-05-15T10:30:00+05:30", "latitude": 28.6139, "longitude": 77.2090}'
clawhub install panchanga-api