@astroinsightapi/sdk
v1.0.0
Published
Official TypeScript/JavaScript SDK for Astro Insight API - Astrology, Panchang, Tarot, and Numerology services.
Maintainers
Readme
@astroinsightapi/sdk
Official, strongly-typed Universal TypeScript & JavaScript SDK for the Astro Insight API. Works seamlessly in Node.js (v18+) and Browsers (React, Next.js, Vue, Angular, React Native) with zero external HTTP dependencies using the native fetch API.
Features
- 🪐 Vedic Astrology: Ashtakvarga, Vimshottari / Char / Yogini Dashas, KP System, Jaimini, Lal Kitab, Varshaphal, Ghat Chakra, Horoscope Charts & Doshas.
- 💍 Matchmaking: Guna Milan, Kundali Compatibility, Manglik Matching.
- 🗓️ Panchang & Muhurta: Daily Panchang, Choghadiya, Hora, Shubh Muhurta timing.
- 🔮 Western Astrology & Tarot: Natal Charts, Solar Return, Transits, Synastry, Tarot spreads (One-card, Three-card, Celtic Cross, Love, Career).
- 🔢 Numerology: Vedic & Western Numerology (Life Path, Destiny, Soul Urge).
- ☯️ Chinese Astrology & Biorhythm: Zodiac sign compatibility & biorhythm calculations.
- 🌍 Geo Utilities: Place search, timezone lookup by coordinates or ID.
- 📦 Dual Bundle Output: ESM (
import) and CommonJS (require) with 100% complete TypeScript declaration files (.d.ts).
Installation
Install the package via npm, yarn, or pnpm:
npm install @astroinsightapi/sdkOr with yarn / pnpm:
yarn add @astroinsightapi/sdk
# or
pnpm add @astroinsightapi/sdkQuick Start
ESM / TypeScript / Next.js / React
import { AstroClient, BirthDetails } from '@astroinsightapi/sdk';
const client = new AstroClient({
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET',
});
const birth = new BirthDetails({
day: 15,
month: 8,
year: 1995,
hour: 10,
min: 30,
sec: 0,
tzone: 5.5,
lat: 28.6139,
lon: 77.2090,
});
async function run() {
// Fetch Birth Details
const details = await client.vedic.astroDetails.getBirthDetails(birth);
console.log(details.data.birth_details.day); // Tuesday
// Fetch Sun Bhinnashtakavarga
const ashtak = await client.vedic.ashtakvarga.getPlanetAshtak('sun', birth);
// One Card Tarot Reading
const tarot = await client.tarot.getOneCardReading();
}
run();CommonJS / Node.js Express
const { AstroClient, BirthDetails } = require('@astroinsightapi/sdk');
const client = new AstroClient({
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET',
});Code Examples
🪐 Vedic Astrology & Dashas
// Major Vimshottari Dasha
const dasha = await client.vedic.vimshottariDasha.getMajorDasha(birth);
// Gemstone Suggestions
const remedies = await client.vedic.suggestions.getGemstoneSuggestions(birth);
// Manglik Dosha Check
const manglik = await client.vedic.horoscopeDosha.getManglikDosha(birth);💍 Matchmaking (Guna Milan)
import { MatchInput } from '@astroinsightapi/sdk';
const male = new BirthDetails({ day: 15, month: 8, year: 1995, hour: 10, min: 30 });
const female = new BirthDetails({ day: 20, month: 11, year: 1997, hour: 14, min: 15 });
const matchInput = new MatchInput({ male, female });
// Calculate Guna Milan
const score = await client.vedic.matchMaking.getGunaMilan(matchInput);🗓️ Daily Panchang & Muhurta
const panchang = await client.vedic.panchang.getDailyPanchang(birth);
const choghadiya = await client.vedic.muhurta.getChoghadiya(birth);🔮 Horoscope & Geo Services
// Daily Horoscope for Leo
const leoDaily = await client.horoscope.getDailyHoroscope('leo');
// Search Place Coordinates
const placeInfo = await client.geo.searchPlace('Delhi');Dynamic Configuration & Headers
// Switch language dynamically
client.setLanguage('hi');
// Switch Ayanamsha system
client.setAyanamsha('raman');Error Handling
import {
AstroClient,
BirthDetails,
AuthenticationError,
ValidationError,
RateLimitError,
AstroError,
} from '@astroinsightapi/sdk';
const client = new AstroClient({ clientId: 'YOUR_CLIENT_ID', clientSecret: 'YOUR_CLIENT_SECRET' });
const birth = new BirthDetails({ day: 15, month: 8, year: 1995, hour: 10, min: 30 });
try {
const response = await client.vedic.astroDetails.getBirthDetails(birth);
} catch (error: any) {
if (error instanceof AuthenticationError) {
console.error('Auth failed:', error.message);
} else if (error instanceof ValidationError) {
console.error('Validation failed:', error.message, error.errors);
} else if (error instanceof RateLimitError) {
console.error('Rate limit exceeded. Retry later.');
} else if (error instanceof AstroError) {
console.error(`API Error [${error.statusCode}]:`, error.message);
}
}Building & Testing
# Install dependencies
npm install
# Build ESM & CommonJS bundles
npm run build
# Run live test script
node tests/test-live.jsLicense
This SDK is open-sourced software licensed under the MIT License.
