Швидкий старт
यह कंटेंट अभी तक आपकी भाषा में उपलब्ध नहीं है।
П’ять хвилин від реєстрації до повної натальної карти в JSON. Покриває install SDK, перший запит, заголовки відповіді, автентифікацію та обробку помилок.
-
Згенеруй API ключ
Section titled “Згенеруй API ключ”Зайди в dashboard і натисни Generate key. Безкоштовний тариф дає 10 000 кредитів/міс назавжди - без введення картки. Ключі починаються з:
aw_live_*: production, реальні чарджіaw_test_*: sandbox, без списання кредитів, детермінована відповідь
-
Постав SDK
Section titled “Постав SDK”API - звичайний REST + JSON, тож SDK не обов’язковий. MCP сервер (
@astroway/mcp) вже зрелізений для AI-агентських інтеграцій. TypeScript і Python SDK у roadmap (auto-gen з OpenAPI 3.1) - поки що native HTTP.Terminal window # SDK не потрібен - лише curl та ключ:export AW_KEY="aw_test_demo_replaceme"Terminal window # native fetch - Node 18+ або браузер. SDK у roadmap.# Альтернатива: openapi-typescript-codegen з нашого OpenAPI 3.1export AW_KEY="aw_test_demo_replaceme"Terminal window pip install requests # або httpx - SDK у roadmapexport AW_KEY="aw_test_demo_replaceme"Terminal window composer require guzzlehttp/guzzle# SDK у roadmap, поки що - Guzzle + raw HTTPTerminal window # Для AI-агентів - Claude Desktop, Cursor IDE, Windsurf,# VS Code (llm CLI), GPT з MCP через OpenAI Realtime API,# або будь-який MCP-сумісний клієнт:npx -y @astroway/mcp # 700+ tools, OpenAPI auto-sync -
Зроби перший запит
Section titled “Зроби перший запит”Розрахунок натальної карти для 24 серпня 1991, 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"}'first-request.ts // native fetch - Node 18+ / Bun / Deno / browser. TS SDK у roadmap.const r = await fetch('https://api.astroway.info/v1/chart', {method: 'POST',headers: {'X-Api-Key': process.env.AW_KEY!,'Content-Type': 'application/json',},body: JSON.stringify({date: '1991-08-24',time: '16:30:00',timezoneOffset: 3,latitude: 50.4501,longitude: 30.5234,houseSystem: 'P',}),});const { data: chart } = await r.json();console.log(chart.planets[0]); // { id: 0, name: 'Sun', longitude: 151.12, ... }first_request.py # requests або httpx - SDK у roadmap.import os, requestsr = requests.post('https://api.astroway.info/v1/chart',headers={'X-Api-Key': os.environ['AW_KEY']},json={'date': '1991-08-24','time': '16:30:00','timezoneOffset': 3,'latitude': 50.4501,'longitude': 30.5234,'houseSystem': 'P',},)chart = r.json()['data']print(chart['planets'][0])first-request.php <?phpuse GuzzleHttp\Client;$aw = new Client(['base_uri' => 'https://api.astroway.info/v1/']);$r = $aw->post('chart', ['headers' => ['X-Api-Key' => getenv('AW_KEY')],'json' => ['date' => '1991-08-24','time' => '16:30:00','timezoneOffset' => 3,'latitude' => 50.4501,'longitude' => 30.5234,'houseSystem' => 'P',],]);$chart = json_decode($r->getBody(), true)['data'];print_r($chart['planets'][0]); -
Розбери відповідь
Section titled “Розбери відповідь”Кожна відповідь - JSON з планетами, будинками, аспектами та
meta-блоком (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" }}}HTTP/2 200content-type: application/jsonx-credits-used: 20x-credits-remaining: 9980x-credits-limit: 10000x-credits-reset: 2026-09-01T00:00:00.000Zx-ratelimit-limit: 10x-ratelimit-remaining: 9x-ratelimit-reset: 1787432304x-request-id: 8aec43e9bc749b37e998a489bbad1757x-cache: MISS -
Перевір баланс
Section titled “Перевір баланс”Dashboard показує usage в реальному часі: api.astroway.info/dashboard. Або через API:
Terminal window curl https://api.astroway.info/v1/keys/usage \-H "X-Api-Key: $AW_KEY"
Authentication
Section titled “Authentication”AstroWay API автентифікує запити через заголовок X-Api-Key. Bearer-токени та query-string ключі не підтримуються.
curl -H "X-Api-Key: aw_live_..." https://api.astroway.info/v1/health| Тип ключа | Префікс | Поведінка |
|---|---|---|
| Production | aw_live_* | Виставляє реальні кредити з акаунту |
| Sandbox | aw_test_* | Детермінована мокова відповідь, без charge |
| Restricted (Pro+) | aw_live_* з обмеженням | Обмежений на конкретні endpoints / IP / RPS |
Ключі обертаються без downtime - старий ключ продовжує працювати 24 години після генерації нового. Деталі: /authentication/.
Errors
Section titled “Errors”Усі помилки повертаються у форматі ok: false + об’єкт error. Поле error.code (UPPER_SNAKE_CASE) стабільне для скриптів - свіч по ньому, не по message.
{ "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): ключ не існує або revokedPLAN_UPGRADE_REQUIRED(402): потрібен вищий тариф або add-on пакCREDITS_EXHAUSTED(429): місячний бюджет кредитів вичерпаноRATE_LIMIT(429): перевищено RPM; повертається з заголовкомRetry-After: <sec>internal_calc_error(500): помилка ефемерид; авто-retry на стороні SDK
Повний список і semantic: /errors/.
Rate limits
Section titled “Rate limits”| Тариф | Quota |
|---|---|
| Free | 10 req/min |
| Indie | 30 req/min |
| Starter | 120 req/min |
| Pro | 400 req/min |
| Business | 1 000 req/min |
| Enterprise | custom |
Перевищення → 429 з Retry-After (sec). Офіційні SDK мають exponential-backoff retries за замовчуванням. Деталі: /rate-limits-credits/.
- Автентифікація: best practices, ротація ключів, sandbox mode
- Кредити та ліміти: таблиця вартості, rate limiting, overage
- Приклади: натальна карта: детальний розбір
/v1/chart - Готові інтеграції на GitHub: Discord/Slack-боти, OpenAI tools, Cloudflare, FastAPI на офіційних SDK
- Повна API reference: усі 748 ендпоінтів з playground