Zum Inhalt springen
AstroWay/api v2.254.12 · de
alle Systeme in Ordnung

Schnellstart

Fünf Minuten von der Registrierung bis zum vollständigen Geburtshoroskop in JSON. Abgedeckt sind die Installation des SDK, die erste Anfrage, die Antwort-Header, die Authentifizierung und die Fehlerbehandlung.

  1. Geh ins Dashboard und klicke auf Generate key. Der kostenlose Tarif gibt 10 000 Credits/Monat für immer - ohne Angabe einer Karte. Schlüssel beginnen mit:

    • aw_live_*: Produktion, echte Abbuchungen
    • aw_test_*: Sandbox, ohne Abbuchung von Credits, deterministische Antwort
  2. Die API ist gewöhnliches REST + JSON, ein SDK ist also nicht zwingend. Alle drei sind aber bereits veröffentlicht: TypeScript (@astroway/sdk), Python (astroway) und PHP (astroway/sdk), dazu der MCP-Server (@astroway/mcp) für AI-Agenten.

    Terminal-Fenster
    # No SDK needed - just curl and a key:
    export AW_KEY="aw_test_demo_replaceme"
  3. Berechnung des Geburtshoroskops für den 24. August 1991, 16:30 EEST, Kyjiw:

    first-request.sh
    curl -X POST https://api.astroway.info/v1/chart \
    -H "X-Api-Key: $AW_KEY" \
    -H "Content-Type: application/json" \
    -d '{
    "date": "1991-08-24",
    "time": "16:30:00",
    "timezoneOffset": 3,
    "latitude": 50.4501,
    "longitude": 30.5234,
    "houseSystem": "P"
    }'

    timezoneOffset ist der Versatz, den die Uhren an diesem Datum hatten, in Stunden. Wenn du ihn nicht kennst, sende stattdessen "timezone": "Europe/Kyiv" oder "timezone": "auto", um die Zone aus den Koordinaten zu übernehmen, und der Server berechnet den Versatz selbst, einschließlich Sommerzeit: Feldformate.

  4. Jede Antwort ist JSON mit Planeten, Häusern, Aspekten und einem meta-Block (Cache-Hit, Credits, Engine-Version).

    response.json
    {
    "ok": true,
    "data": {
    "julianDay": 2448493.0625,
    "planets": [
    { "id": 0, "name": "Sun", "longitude": 150.894819, "latitude": 0.00019, "isRetrograde": false, "declination": 11.15726 },
    { "id": 1, "name": "Moon", "longitude": 321.634655, "latitude": 2.834053, "isRetrograde": false, "declination": -11.609723 }
    ],
    "houses": {
    "system": "P",
    "cusps": [264.384681, 306.997683, 353.867426],
    "ascendant": 264.384681,
    "mc": 207.315669
    },
    "aspects": [
    {
    "planet1": "Sun",
    "planet2": "Moon",
    "type": { "name": "Opposition", "angle": 180, "isMajor": true },
    "exactAngle": 170.739837,
    "orb": 9.260163,
    "isApplying": true
    }
    ],
    "chartSect": "diurnal",
    "meta": { "engineVersion": "2.10.03", "calculatedAt": "2026-08-22T20:53:31.431Z" }
    }
    }
  5. Das Dashboard zeigt die Nutzung in Echtzeit: api.astroway.info/dashboard. Oder über die API:

    Terminal-Fenster
    curl https://api.astroway.info/v1/keys/usage \
    -H "X-Api-Key: $AW_KEY"

Die AstroWay API authentifiziert Anfragen über den Header X-Api-Key. Bearer-Tokens und Schlüssel im Query-String werden nicht unterstützt.

Terminal-Fenster
curl -H "X-Api-Key: aw_live_..." https://api.astroway.info/v1/health
SchlüsseltypPräfixVerhalten
Productionaw_live_*Belastet echte Credits des Kontos
Sandboxaw_test_*Deterministische Mock-Antwort, ohne Abbuchung
Restricted (Pro+)aw_live_* mit EinschränkungBeschränkt auf bestimmte Endpunkte / IPs / RPS

Schlüssel werden ohne Ausfallzeit rotiert - der alte Schlüssel funktioniert nach dem Erzeugen des neuen noch 24 Stunden weiter. Details: /authentication/.

Alle Fehler kommen im Format ok: false + Objekt error zurück. Das Feld error.code (UPPER_SNAKE_CASE) ist für Skripte stabil - verzweige danach, nicht nach message.

error-response.json
{
"ok": false,
"error": {
"code": "INVALID_INPUT",
"message": "Validation failed: date: Invalid input: expected string, received undefined",
"details": [
{ "path": "date", "message": "Invalid input: expected string, received undefined" }
]
}
}

Die häufigsten Codes:

  • INVALID_INPUT (400): fehlgeschlagene Zod-Validierung; details enthält ein Array { path, message }
  • INVALID_API_KEY (401): Der Schlüssel existiert nicht oder wurde widerrufen
  • PLAN_UPGRADE_REQUIRED (402): Ein höherer Tarif oder ein Add-on-Pack ist erforderlich
  • CREDITS_EXHAUSTED (429): Das monatliche Credit-Budget ist aufgebraucht
  • RATE_LIMIT (429): RPM überschritten; kommt mit dem Header Retry-After: <sec> zurück
  • internal_calc_error (500): Ephemeridenfehler; automatischer Retry auf Seite des SDK

Vollständige Liste und Semantik: /errors/.

TarifQuota
Free10 req/min
Indie30 req/min
Starter120 req/min
Pro400 req/min
Business1 000 req/min
Enterprisecustom

Überschreitung → 429 mit Retry-After (Sek.). Die offiziellen SDKs haben standardmäßig Retries mit exponentiellem Backoff. Details: /rate-limits-credits/.

Hilfreich?
Änderung vorschlagen

Zuletzt aktualisiert: