Sign in/Register
Sign in/Register
Astrological API · v1

Build on the astrological API AstroWay

700+ endpoints, three native SDKs, Swiss Ephemeris precision. Anonymous tariff — start without a key.

Get a free key Quick Start 10K credits/month · no card required

Quick Start

Get your daily horoscope without an API key:

curl "https://api.astroway.info/v1/embed/daily-horoscope?sign=virgo"

Register your free key

Get a free key — 10K credits/month, no card required

First request with your key

curl -G "https://api.astroway.info/v1/chart" \
  -H "X-Api-Key: aw_live_…" \
  --data-urlencode "datetime=1990-06-15T14:30:00+03:00" \
  --data-urlencode "lat=50.45" --data-urlencode "lon=30.52"

See tariffs for tariff limits and loan costs by endpoint.

Authentication

Three tariffs. Choose yours.

Tariff Authentication Limits Watermark
Anonymous without a key only /v1/embed/* · 30 requests/hour per IP so
Free key X-Api-Key: aw_live_… 10K credits/month so
Paid X-Api-Key: aw_live_… Indie 50K / Starter 200K / Pro 800K / Business 3.5M No (Pro+)

Domain binding

Paid keys are tied to one domain during the first request. You can change it yourself in your account, up to 3 times per month. Installing the WordPress plugin automatically sends the X-AstroWay-Site-URL header without modifying the code.

Error handling

  • 401 — Missing or invalid X-Api-Key
  • 402 — The tariff does not include this endpoint (e.g., HD endpoint without HD Pack)
  • 403 — domain mismatch (bound domain ≠ Origin header)
  • 429 — Exceeded request limit or monthly credits exhausted (Retry-After header set)

Embedded widgets

Direct iframe — works on any HTML site without a JS loader. Anonymous tariff, 30 requests/hour per visitor's IP.

Daily horoscope

<iframe src="https://api.astroway.info/v1/embed/daily-horoscope?sign=virgo"
        width="100%" height="320" loading="lazy" frameborder="0"></iframe>

Birth chart wheel

<iframe src="https://api.astroway.info/v1/embed/natal-wheel?datetime=1990-06-15T14:30:00%2B03:00&lat=50.45&lon=30.52"
        width="600" height="600" loading="lazy" frameborder="0"></iframe>

Daily Tarot card

<iframe src="https://api.astroway.info/v1/embed/tarot-daily?deck=rider-waite"
        width="400" height="500" loading="lazy" frameborder="0"></iframe>

Moon Phase

<iframe src="https://api.astroway.info/v1/embed/moon-phase"
        width="320" height="320" loading="lazy" frameborder="0"></iframe>

Installing on WordPress

Set up AstroWay plugin for WP ↗ — Tier 1 widgets without configuration, copy shortcodes, optional API key for Tier 2/3.

Official SDKs

Three native SDKs. Full type safety, generated from OpenAPI 3.1. MIT license. With retries, idempotent.

TypeScript / JavaScript

@astroway/sdk · v1.1.0
npm install @astroway/sdk
import { AstroWayClient } from '@astroway/sdk';
const c = new AstroWayClient({ apiKey: process.env.ASTROWAY_KEY });
const chart = await c.natalChart({
  datetime: '1990-06-15T14:30:00+03:00',
  lat: 50.45, lon: 30.52
});

Node 22+ · ESM · generated from OpenAPI 3.1

Python

astroway · v1.1.0
pip install astroway
from astroway import AstroWayClient
c = AstroWayClient(api_key="aw_live_…")
chart = c.natal_chart(
    datetime="1990-06-15T14:30:00+03:00",
    lat=50.45, lon=30.52,
)

Python 3.10+ · sync + async · Pydantic models · py.typed

PHP

astroway/sdk · v1.1.0
composer require astroway/sdk
use AstroWay\AstroWayClient;
$c = new AstroWayClient(apiKey: 'aw_live_…');
$chart = $c->natalChart(
    datetime: '1990-06-15T14:30:00+03:00',
    lat: 50.45, lon: 30.52,
);

PHP 8.2+ · PSR-18 HTTP client · Guzzle promises

LLM / AI agents

We publish /llms.txt ↗ for detection by AI agents. The /v1/context/* endpoint family returns LLM-optimized XML for direct consumption by ChatGPT / Claude / Gemini integrations.

MCP server (Pro+)

Native Model Context Protocol server at mcp.astroway.info — connect Claude Desktop or any MCP client to query the entire API in a conversational mode. Included in Pro and Business plans.

Updating
  • No products in the cart.