API Features
Every calculation, one API
Each category below is a real, key-scoped capability of the platform API — not the legacy local calculation routes this codebase is retiring. Scope a key to only what an integration needs.
Birth Chart / Kundli
Full natal chart from birth date, time and location.
chart:read
Planetary Positions
Current or historical positions for all major bodies.
planetary:read
Divisional Charts
D1 through D60 divisional (varga) charts.
chart:read
Panchang
Tithi, nakshatra, yoga, karana and muhurta for a date and place.
panchang:read
Dasha Periods
Vimshottari maha-dasha and antar-dasha timelines.
dasha:read
Dosha Analysis
Mangal, Kaal Sarp and other dosha checks.
dosha:read
Ashtakavarga
Bindu strength scoring across houses and planets.
ashtakavarga:read
Kundli Matching
Guna milan compatibility scoring for two charts.
match:read
Numerology
Name and date-based numerology analysis.
numerology:read
Planetary Transits
Transit positions relative to a natal chart.
transit:read
Horoscopes
Daily, weekly and monthly horoscope content.
horoscope:read
PDF Reports
Rendered astrology reports, billed as prepaid credits.
report:read
How responses work
Predictable JSON, every time
Every endpoint accepts a request, validates it, and returns structured JSON — or a clear error you can handle in code.
curl -X POST https://api.astrologyservice.in/v1/chart \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"birth":{"year":1990,"month":6,"day":15,"hour":10,"minute":30,"latitude":23.02,"longitude":72.57,"timezone":"Asia/Kolkata"}}'
const res = await fetch("https://api.astrologyservice.in/v1/chart", { method: "POST", headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" }, body: JSON.stringify({ birth: { year: 1990, month: 6, day: 15, hour: 10, minute: 30, latitude: 23.02, longitude: 72.57, timezone: "Asia/Kolkata" } }) }); const chart = await res.json();
$response = Http::withHeaders([ 'X-API-Key' => 'YOUR_API_KEY', ])->post('https://api.astrologyservice.in/v1/chart', [ 'birth' => [ 'year' => 1990, 'month' => 6, 'day' => 15, 'hour' => 10, 'minute' => 30, 'latitude' => 23.02, 'longitude' => 72.57, 'timezone' => 'Asia/Kolkata', ], ]);
See the full reference
Request/response schemas for every endpoint are documented on the platform itself.