Zum Inhalt springen
AstroWay/api v2.26.0 · de
усі системи в нормі

Кредити та ліміти

Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.

AstroWay використовує кредитну модель замість простого лічильника запитів.

Це справедливіше: легкі ендпоінти (/planets) коштують 10 кредитів, важкі (/rectification) — 500.

1. Денний/місячний бюджет кредитів

Section titled “1. Денний/місячний бюджет кредитів”

Кількість кредитів на місяць залежить від плану:

ПланКредитів/місДенний ліміт
Free10 000~333
Indie50 000~1 667
Starter200 000~6 667
Pro800 000~26 667
Business3 500 000~116 666
EnterpriseCustomCustom

Щойно кредити вичерпано — наступні запити повертають 402 Payment Required (Free) або запускають overage-білінг (Indie+).

ПланRPM
Free10 req/min
Indie30 req/min
Starter120 req/min
Pro400 req/min
Business1 000 req/min
EnterpriseCustom

Rate limit — sliding window. Якщо вистрілив 120 запитів за 10 секунд, наступні 50 секунд на цьому ключі — 429.

3. Публічні ендпоінти (без ключа)

Section titled “3. Публічні ендпоінти (без ключа)”

14 reference-словників /v1/reference/* (signs, planets, houses, aspects, elements, modalities, polarities, dignities, decans, nakshatras, lots, asteroids, zodiac-systems, glyphs) обслуговуються публічно, без X-Api-Key і коштують 0 кредитів. Обмеження — 30 запитів / годину з одного IP. Ці ж дані виставлені як MCP Resources astroway://reference/<slug> для LLM-агентів.

Повна прозора таблиця з усіма 705+ ендпоінтами і їх вартістю — на сторінці Вартість ендпоінтів. DivineAPI/AstrologyAPI/Prokerala такої таблиці не публікують. Короткий орієнтир:

TierКредитівТиповий часПриклади
110< 50 мс/planets, /moon-voc, /iching
22050–200 мс/chart, /harmonics, /horary
350200–500 мс/synastry, /progressions, /acg
4100> 500 мс/transit-calendar, /forecast-calendar
5250кілька с/rectification/trutine
6500до 120 с/rectification

Кожна відповідь містить:

X-Credits-Used: 20
X-Credits-Remaining: 9980
X-Credits-Reset: 2026-05-01T00:00:00Z
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 118
X-RateLimit-Reset: 1714521600
X-Request-Id: 01HXY2A7ZM...
  • X-Credits-Used — скільки списано за цей запит
  • X-Credits-Remaining — залишок на місячному бюджеті
  • X-Credits-Reset — ISO-8601 дата оновлення балансу
  • X-RateLimit-* — поточний стан sliding window (стандартний формат)
  • X-Request-Id — ULID запиту, використай при зверненні в підтримку

Ідентичні запити протягом 5 хвилин повертаються з кешу без списання кредитів. Це окремий заголовок:

X-Cache: HIT
X-Credits-Used: 0

Що вважається «ідентичним»:

  • Той самий ендпоінт
  • Той самий JSON body (байт-в-байт після нормалізації пробілів)
  • Той самий ключ API

Це безпечно, бо всі ендпоінти детерміновані — однаковий input завжди дає однаковий output.

Що робити при перевищенні лімітів

Section titled “Що робити при перевищенні лімітів”

402 Payment Required — закінчились кредити

Section titled “402 Payment Required — закінчились кредити”
{
"error": {
"code": "credits_exhausted",
"message": "Monthly credit budget exhausted. Upgrade plan or wait for reset.",
"credits_remaining": 0,
"credits_reset": "2026-05-01T00:00:00Z",
"upgrade_url": "https://api.astroway.info/dashboard/billing"
}
}

Варіанти:

  • Апгрейд плану — одразу отримуєш новий бюджет
  • Overage (Starter/Pro) — вмикається автоматично, якщо не вимкнено в settings
  • Чекати reset (Free) — 1 число наступного місяця

429 Too Many Requests — перевищено RPM

Section titled “429 Too Many Requests — перевищено RPM”
{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests. Retry after 12 seconds.",
"retry_after_seconds": 12
}
}

Заголовок Retry-After: 12 — стандартний HTTP-заголовок, твій HTTP-клієнт має його розуміти.

Правильна обробка:

async function callWithRetry(endpoint: string, body: object) {
const response = await fetch(endpoint, {
method: 'POST',
headers: { 'X-Api-Key': key, 'Content-Type': 'application/json' },
body: JSON.stringify(body),
});
if (response.status === 429) {
const retryAfter = Number(response.headers.get('Retry-After') ?? 1);
await new Promise((r) => setTimeout(r, retryAfter * 1000));
return callWithRetry(endpoint, body);
}
return response.json();
}

Оцінка бюджету заздалегідь

Section titled “Оцінка бюджету заздалегідь”

Перед інтеграцією прикинь, скільки кредитів тобі потрібно на місяць:

monthly_credits = daily_active_users × calls_per_user × avg_cost_per_call × 30

Приклад: застосунок на 500 DAU, кожен користувач робить 3 розрахунки карт + 1 синастрію на день:

500 × (3 × 20 + 1 × 50) × 30 = 500 × 110 × 30 = 1 650 000 кредитів/міс
→ Business ($199) покриває

Калькулятор бюджету — на сторінці Тарифи.

  • Помилки — повний довідник error-кодів
  • Idempotency — як робити повторні запити безпечно
Корисно?
Запропонувати правку

Zuletzt aktualisiert: