AstroAPI
A comprehensive Dart SDK for the Astrology API v3.
Installation
dependencies:
astroapi: ^1.0.0
dart pub get
Quick Start
import 'package:astroapi/astroapi.dart';
final client = AstrologyClient(
AstrologyClientConfig(
apiKey: 'your-api-key',
timeout: 15000,
retry: RetryConfig(attempts: 3, delayMs: 500),
),
);
// Planetary positions
final positions = await client.data.getPositions(
PlanetaryPositionsRequest(
subject: Subject(
birthData: BirthData(
year: 1990, month: 5, day: 11,
hour: 14, minute: 30,
city: 'London', countryCode: 'GB',
),
),
),
);
print(positions.positions[0].sign);
Features
16 API categories available via AstrologyClient:
| Client | Description |
|---|---|
client.data |
Planetary positions, aspects, house cusps, lunar metrics |
client.charts |
Natal, synastry, composite, transit, solar/lunar return charts |
client.analysis |
Natal, synastry, composite, compatibility, progression reports |
client.horoscope |
Personal and sun-sign horoscopes (daily, weekly, monthly, yearly) |
client.glossary |
Zodiac signs, planets, aspects, house systems, cities lookup |
client.astrocartography |
Location analysis, power zones, relocation charts |
client.chinese |
Ba Zi, zodiac, solar terms, element balance |
client.eclipses |
Upcoming eclipses, natal checks, interpretations |
client.lunar |
Moon phases, lunar mansions, void-of-course periods |
client.numerology |
Core numbers, comprehensive analysis, compatibility |
client.tarot |
Card draws, spreads, birth cards, daily cards |
client.traditional |
Dignities, receptions, almutens, lots, profections, firdaria |
client.fixedStars |
Fixed star positions, conjunctions, presets |
client.svg |
SVG chart images (natal, synastry, composite, transit) |
client.enhanced |
Enhanced personal and global analysis |
client.insights |
Relationship, pet, wellness, financial, business insights |
Insights Sub-clients
client.insights.relationship // Compatibility, love languages, timing
client.insights.pet // Pet personality, compatibility, training
client.insights.wellness // Body mapping, biorhythms, energy patterns
client.insights.financial // Market timing, Gann analysis, crypto/forex
client.insights.business // Team dynamics, hiring, leadership, succession
Configuration
final client = AstrologyClient(
AstrologyClientConfig(
apiKey: 'your-api-key', // Required
baseUrl: 'https://...', // Optional, defaults to production
timeout: 15000, // Milliseconds
debug: true, // Log requests/responses
logger: (msg, details) {}, // Custom logger
retry: RetryConfig(
attempts: 3,
delayMs: 500,
retryStatusCodes: [429, 500, 502, 503],
),
),
);
Error Handling
try {
final result = await client.data.getPositions(request);
} on AstrologyException catch (e) {
print(e.statusCode); // HTTP status code
print(e.code); // Error classification
print(e.message); // Human-readable message
}
License
MIT
Libraries
- astroapi
- Dart/Flutter SDK for the Astrology API v3