AstroWay/api v2.296.1 · el
όλες οι υπηρεσίες λειτουργούν κανονικά

Γρήγορη εκκίνηση API αστρολογίας: TypeScript και Python σε 5 λεπτά

Εγκατάσταση SDK, λήψη API-κλειδιού, πραγματοποίηση του πρώτου αιτήματος ναταλικής χαρτογραφίας. 5 λεπτά - και εργασιακό JSON στα χέρια σας (TypeScript και Python).

🕓 Αρχείο από 2026-04-14, ενημερώθηκε 2026-05-09. TS / Python / PHP SDK τώρα ζουν σε δημόσια καταχωρίσματα - @astroway/sdk (npm), astroway (PyPI), astroway/sdk (Packagist). Λεπτομέρειες στο changelog.

Θέλεις να υπολογίσεις το γενέθλιο χάρτη από κώδικα. Εδώ είναι η πιο σύντομη διαδρομή – σε 5 λεπτά από το μηδέν μέχρι ένα λειτουργικό JSON.

Κάνε εγγραφή στο api.astroway.info/dashboard/sign-up. Δωρεάν πρόγραμμα: 10 000 credits / μήνα. Χωρίς κάρτα.

Στο dashboard πάτησε “Create key” → “Production” → αντιγράψτε. Τα κλειδιά έχουν τη μορφή aw_live_aB3xY7pQ9rN2mK4jH8vC5tL6wZ1fD0eR.

Συμβουλή: υπάρχουν επίσης sandbox‑κλειδιά με πρόθεμα aw_test_ – δεν αφαιρούν credits. Χρησιμοποίησέ τα κατά την ανάπτυξη.

Terminal window
npm install @astroway/sdk
Terminal window
pip install astroway

Και τα δύο SDK καλύπτουν όλα τα 777 endpoint με τυποποιημένα αιτήματα και απαντήσεις.

import { Astroway } from '@astroway/sdk';
const aw = new Astroway({
apiKey: process.env.ASTROWAY_API_KEY!,
});
const chart = await aw.chart.compute({
date: '1990-07-14',
time: '14:30:00',
timezoneOffset: 3, // UTC+3 for Kyiv summer
latitude: 50.4501,
longitude: 30.5234,
houseSystem: 'P', // Placidus
});
const SIGNS = ['Aries', 'Taurus', 'Gemini', 'Cancer', 'Leo', 'Virgo',
'Libra', 'Scorpio', 'Sagittarius', 'Capricorn', 'Aquarius', 'Pisces'];
const sun = chart.planets.find((p) => p.name === 'Sun')!;
console.log(`Sun: ${SIGNS[Math.floor(sun.longitude / 30)]} at ${sun.longitude.toFixed(2)}°`);
console.log(`ASC: ${chart.houses.ascendant.toFixed(2)}°`);
console.log(`Aspects: ${chart.aspects.length}`);

Τρέξε:

Terminal window
ASTROWAY_API_KEY=aw_live_... npx tsx chart.ts

Το αρχείο χρησιμοποιεί top‑level await, οπότε στο package.json πρέπει να υπάρχει "type": "module". Διαφορετικά το tsx θα πέσει με το Top-level await is currently not supported with the "cjs" output format.

from astroway import Astroway, BirthData
aw = Astroway(api_key="aw_live_your_key_here")
chart = aw.chart.compute(BirthData(
date="1990-07-14",
time="14:30:00",
timezone_offset=3,
latitude=50.4501,
longitude=30.5234,
house_system="P",
))
SIGNS = ["Aries", "Taurus", "Gemini", "Cancer", "Leo", "Virgo",
"Libra", "Scorpio", "Sagittarius", "Capricorn", "Aquarius", "Pisces"]
sun = next(p for p in chart["planets"] if p["name"] == "Sun")
print(f"Sun: {SIGNS[int(sun['longitude'] // 30)]} at {sun['longitude']:.2f}°")
print(f"ASC: {chart['houses']['ascendant']:.2f}°")
print(f"Aspects: {len(chart['aspects'])}")

Τρέξε:

Terminal window
ASTROWAY_API_KEY=aw_live_... python3 chart.py

Επιστρέφει ένα JSON‑object με τέσσερα κύρια τμήματα:

Πίνακας με 13 αντικείμενα. Στο name υπάρχει το όνομα του σώματος από το Swiss Ephemeris: Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto, true Node (Βόρειος κόμβος), mean Apogee (Λίλιθ), Chiron.

{
"id": 0,
"name": "Sun",
"longitude": 354.702, // ecliptic longitude in degrees
"latitude": -0.00016,
"distance": 0.9945, // in astronomical units
"speedLong": 0.9971, // degrees per day (negative = retrograde)
"speedLat": 0.00003,
"speedDist": 0.00019,
"isRetrograde": false,
"declination": -1.4159,
"rightAscension": 355.437
}

Το ζώδιο και το σπίτι δεν επιστρέχονται εδώ: υπολόγισε το ζώδιο ως Math.floor(longitude / 30), και το σπίτι από τις κλίσεις με houses.

Κλίσεις των σπιτιών (12 τεμάχια), καθώς και asc και MC:

{
"system": "P",
"cusps": [118.18, 138.27, ...], // 12 values
"ascendant": 118.18,
"mc": 12.708,
"armc": 11.69,
"vertex": 253.97,
"equatorialAsc": 100.75,
"coAscWK": 81.13,
"coAscMunkasey": 123.7,
"polarAsc": 261.13
}

Πίνακας των ασπεκτών μεταξύ των πλανητών:

{
"planet1": "Sun",
"planet2": "Mercury",
"planet1Id": 0,
"planet2Id": 2,
"type": { // an object, not a string
"name": "Conjunction",
"i18nKey": "aspect_conjunction",
"angle": 0,
"orb": 12,
"symbol": "☌",
"isMajor": true,
"color": "#660480"
},
"exactAngle": 3.365,
"orb": 3.365, // deviation from exact in degrees
"isApplying": true
}

"diurnal" (Ο Ήλιος πάνω από τον ορίζοντα τη στιγμή της γέννησης) ή "nocturnal" (κάτω από τον ορίζοντα). Χρησιμοποιείται στην κλασική αστρολογία.

Τι άλλο μπορείς να δοκιμάσεις:

Συναστρία: συμβατότητα δύο ατόμων:

const synastry = await client.synastry({
chart1: { date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.45, longitude: 30.52 },
chart2: { date: '1992-03-22', time: '09:15:00', timezoneOffset: 2, latitude: 48.85, longitude: 2.35 },
});
console.log(`Compatibility score: ${synastry.compatibility.score}/100`);

Τρέχουσες μεταβάσεις στον γενέθλιο χάρτη:

const transits = await client.transits({
// birth data
date: '1990-07-14', time: '14:30:00', timezoneOffset: 3,
latitude: 50.4501, longitude: 30.5234,
// transit date
transitDate: '2026-04-14',
});

Καθημερινό ωροσκόπιο από πραγματικές μεταβάσεις:

const horoscope = await client.horoscopeDaily({
date: '1990-07-14', time: '14:30:00', timezoneOffset: 3,
latitude: 50.4501, longitude: 30.5234,
});
console.log(horoscope.text);

Πλήρης Human Design χάρτης:

const hd = await client.humanDesign({
date: '1990-07-14', time: '14:30:00', timezoneOffset: 3,
latitude: 50.4501, longitude: 30.5234,
});
console.log(`${hd.type} - ${hd.strategy} - Profile ${hd.profile}`);
  • Γενέθλιος χάρτης (/chart): 20 credits
  • Συναστρία: 50 credits
  • Μεταβάσεις: 50 credits
  • Καθημερινό ωροσκόπιο: 20 credits
  • Human Design: 50 credits

Δωρεάν πρόγραμμα: 10 000 credits / μήνα = 500 γενέθλιους χάρτες, ή 200 συναστρίες, ή μεικτό φορτίο.

Κάθε απάντηση περιέχει headers με credits:

X-Credits-Used: 20
X-Credits-Remaining: 4980
X-Credits-Reset: 2026-05-01T00:00:00Z

Όταν εξαντληθούν τα credits – θα λάβεις 402 Payment Required. Όταν χτυπήσεις το rate‑limit (Free: 10 requests / min) – 429 Too Many Requests με header Retry-After.

Το SDK ρίχνει τυποποιημένα σφάλματα που μπορείς να πιάσεις:

import { QuotaExceededError, RateLimitError } from '@astroway/sdk';
try {
const chart = await aw.chart.compute(birth);
} catch (err) {
if (err instanceof QuotaExceededError) {
console.log('Upgrade plan or wait for reset');
} else if (err instanceof RateLimitError) {
console.log(`Retry in ${err.retryAfterSeconds ?? 60} seconds`);
} else {
throw err;
}
}

Πιάσε τα από το πιο συγκεκριμένο στο πιο γενικό: όλα κληρονομούν το ApiError, έτσι ο έλεγχος για αυτό πρώτο θα καταπιάσει τα υπόλοιπα.

Τώρα έχεις:

  • Ένα λειτουργικό API‑key
  • Το SDK εγκατεστημένο
  • Τον πρώτο γενέθλιο χάρτη
  • Αρκετά παραδείγματα για να προσθέσεις συναστρία, μεταβάσεις, ωροσκόπια

Διάβασε παρακάτω:

MakSeong · AstroWay

Δημιουργώ το AstroWay API: τυλίγω το Swiss Ephemeris σε καθαρό REST και γράφω για τις βαρετές λεπτομέρειες που είναι πραγματικά σημαντικές.

// δημιούργησε πάνω σε αυτό

Αυτή η ίδια Swiss Ephemeris που υπάρχει στο Solar Fire - σε 4 γραμμές κώδικα.

Δωρεάν κλειδί χωρίς κάρτα. 5.000 αιτήματα ανά μήνα μέχρι την πρώτη πληρωμή.

Περισσότερα από το blog όλες οι δημοσιεύσεις →

Ephemeris 2026-07-19

Πώς διατηρούμε την ακρίβεια υπό έλεγχο: CI εναντίον swetest και NASA

Η ακρίβεια στο astro-API υποβαθμίζεται εύκολα από μια μόνο ανασυγκρότηση των εφεμερίδων. Αναλύουμε την προστασία: ένας πυρήνας Swiss Ephemeris για την εφαρμογή και το API, εκατοντάδες παγωμένα snapshots σε πρότυπους χάρτες και τριγωνοποίηση κάθε PR εναντίον swetest CGI, Kerykeion, Prokerala και του καταλόγου σκιών της NASA.

Engineering 2026-07-15

Τρία επίσημα SDK: TypeScript, Python, PHP αντί για ακατέργαστο curl

Ακατέργαστο HTTP λειτουργεί, αλλά ο τυποποιημένος πελάτης εξοικονομεί ώρες: αυτόματη συμπλήρωση διαδρομών, τύποι αιτήματος και απάντησης, ενσωματωμένο retry σε 408/409/429/5xx και ιεραρχία σφαλμάτων τύπου Stainless. Αναλύουμε τρία επίσημα SDK - @astroway/sdk (npm), astroway (PyPI), astroway/sdk (Packagist) - και πώς δημιουργήθηκαν από ένα OpenAPI συμβόλαιο.

Industry 2026-06-05

Free Astrology API: Which One Has the Best Free Tier in 2026?

A side-by-side of free tiers across the major astrology APIs - credits, request caps, card requirements - and how much you can actually build for free.