Lewati ke konten
AstroWay/api v2.254.12 · id
semua sistem normal

Mulai cepat

Lima menit dari pendaftaran hingga bagan natal lengkap dalam JSON. Mencakup instalasi SDK, permintaan pertama, header respons, autentikasi, dan penanganan error.

  1. Buka dasbor dan klik Generate key. Paket gratis memberi 10 000 kredit/bln selamanya - tanpa memasukkan kartu. Kunci diawali dengan:

    • aw_live_*: produksi, tagihan nyata
    • aw_test_*: sandbox, tanpa pemotongan kredit, respons deterministik
  2. API ini REST + JSON biasa, jadi SDK tidak wajib. Tetapi ketiganya sudah dipublikasikan: TypeScript (@astroway/sdk), Python (astroway), dan PHP (astroway/sdk), ditambah server MCP (@astroway/mcp) untuk agen AI.

    Terminal window
    # No SDK needed - just curl and a key:
    export AW_KEY="aw_test_demo_replaceme"
  3. Perhitungan bagan natal untuk 24 Agustus 1991, 16:30 EEST, Kyiv:

    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 adalah selisih waktu yang berlaku pada jam di tanggal tersebut, dalam jam. Jika kamu tidak mengetahuinya, kirim "timezone": "Europe/Kyiv" sebagai gantinya, atau "timezone": "auto" untuk mengambil zona dari koordinat, dan server akan menghitung selisihnya sendiri, termasuk waktu musim panas: format field.

  4. Setiap respons adalah JSON berisi planet, rumah, aspek, dan blok meta (cache hit, kredit, versi engine).

    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. Dasbor menampilkan usage secara real time: api.astroway.info/dashboard. Atau melalui API:

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

AstroWay API mengautentikasi permintaan melalui header X-Api-Key. Token Bearer dan kunci di query string tidak didukung.

Terminal window
curl -H "X-Api-Key: aw_live_..." https://api.astroway.info/v1/health
Tipe kunciPrefiksPerilaku
Productionaw_live_*Memotong kredit nyata dari akun
Sandboxaw_test_*Respons mock deterministik, tanpa tagihan
Restricted (Pro+)aw_live_* dengan batasanDibatasi pada endpoint / IP / RPS tertentu

Kunci dirotasi tanpa downtime - kunci lama tetap berfungsi selama 24 jam setelah kunci baru dibuat. Detail: /authentication/.

Semua error dikembalikan dalam format ok: false + objek error. Field error.code (UPPER_SNAKE_CASE) stabil untuk skrip - lakukan switch berdasarkan field ini, bukan berdasarkan 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" }
]
}
}

Kode yang paling sering muncul:

  • INVALID_INPUT (400): validasi Zod gagal; details berisi array { path, message }
  • INVALID_API_KEY (401): kunci tidak ada atau sudah dicabut
  • PLAN_UPGRADE_REQUIRED (402): dibutuhkan paket lebih tinggi atau add-on pack
  • CREDITS_EXHAUSTED (429): anggaran kredit bulanan habis
  • RATE_LIMIT (429): RPM terlampaui; dikembalikan dengan header Retry-After: <sec>
  • internal_calc_error (500): error efemeris; retry otomatis di sisi SDK

Daftar lengkap dan semantiknya: /errors/.

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

Jika terlampaui → 429 dengan Retry-After (detik). SDK resmi secara default memiliki retry dengan exponential backoff. Detail: /rate-limits-credits/.

Bermanfaat?
Usulkan perbaikan

Terakhir diperbaharui: