コンテンツにスキップ
AstroWay/api v2.254.12 · ja
すべてのシステムが正常です

クイックスタート

登録から JSON の完全な出生図まで 5 分です。SDK のインストール、最初のリクエスト、レスポンスヘッダー、認証、エラー処理を扱います。

  1. ダッシュボードを開き、Generate key をクリックします。無料プランでは 毎月 10 000 クレジットが永久に 使え、カードの入力も不要です。キーは次のように始まります。

    • aw_live_*: 本番用、実際に課金されます
    • aw_test_*: サンドボックス用、クレジットを消費せず、決定論的なレスポンスを返します
  2. API は通常の REST + JSON なので、SDK は必須ではありません。ただし 3 つとも公開済みです: TypeScript (@astroway/sdk)、Python (astroway)、PHP (astroway/sdk)。さらに AI エージェント向けの MCP サーバー (@astroway/mcp) もあります。

    Terminal window
    # No SDK needed - just curl and a key:
    export AW_KEY="aw_test_demo_replaceme"
  3. 1991 年 8 月 24 日 16:30 EEST、キーウ の出生図の計算:

    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 は、その日付に時計が示していた UTC からのずれを時間単位で表したものです。わからない場合は、代わりに "timezone": "Europe/Kyiv"、または座標からゾーンを求める "timezone": "auto" を送れば、サーバーが夏時間も含めてずれを計算します: フィールドの形式。

  4. どのレスポンスも、惑星、ハウス、アスペクト、meta ブロック (cache hit、credits、engine version) を含む JSON です。

    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. ダッシュボードは使用量をリアルタイムで表示します: api.astroway.info/dashboard。API からも確認できます。

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

AstroWay API は X-Api-Key ヘッダーでリクエストを認証します。Bearer トークンやクエリ文字列のキーには対応していません。

Terminal window
curl -H "X-Api-Key: aw_live_..." https://api.astroway.info/v1/health
キーの種類プレフィックス動作
Productionaw_live_*アカウントの実際のクレジットを消費します
Sandboxaw_test_*決定論的なモックのレスポンス、課金なし
Restricted (Pro+)制限付きの aw_live_*特定のエンドポイント / IP / RPS に限定されます

キーはダウンタイムなしでローテーションできます。新しいキーの生成後も、古いキーは 24 時間 動作し続けます。詳細: /authentication/。

すべてのエラーは ok: false と error オブジェクトの形式で返されます。error.code フィールド (UPPER_SNAKE_CASE) はスクリプト向けに安定しています。分岐は 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" }
]
}
}

よくあるコード:

  • INVALID_INPUT (400): Zod の検証に失敗。details に { path, message } の配列が入ります
  • INVALID_API_KEY (401): キーが存在しない、または revoke 済み
  • PLAN_UPGRADE_REQUIRED (402): 上位のプランまたはアドオンパックが必要
  • CREDITS_EXHAUSTED (429): 月間のクレジット予算を使い切った
  • RATE_LIMIT (429): RPM を超過。Retry-After: <sec> ヘッダー付きで返されます
  • internal_calc_error (500): 天体暦のエラー。SDK 側で自動リトライされます

完全な一覧と意味: /errors/。

プラン上限
Free10 req/min
Indie30 req/min
Starter120 req/min
Pro400 req/min
Business1 000 req/min
Enterprisecustom

超過すると Retry-After (秒) 付きの 429 になります。公式 SDK はデフォルトで指数バックオフのリトライを行います。詳細: /rate-limits-credits/。

参考になりましたか?
編集を提案

最終更新日: