# Build on the astrological API AstroWay

Source: https://astroway.info/en/developers/
Language: en
Updated: 2026-05-28

Astrological API · v1

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

[Get a free key](https://api.astroway.info/dashboard/sign-up) 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](https://api.astroway.info/dashboard/sign-up)

### 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](https://astroway.info/shop/) 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 ↗](https://wordpress.org/plugins/astroway/) - 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
});
```

[GitHub ↗](https://github.com/astroway/astroway-typescript) · [npm ↗](https://www.npmjs.com/package/@astroway/sdk)

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,
)
```

[GitHub ↗](https://github.com/astroway/astroway-python) · [PyPI ↗](https://pypi.org/project/astroway/)

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,
);
```

[GitHub ↗](https://github.com/astroway/astroway-php) · [Packagist ↗](https://packagist.org/packages/astroway/sdk)

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

### WordPress

WordPress site? The free [AstroWay для WordPress ↗](https://wordpress.org/plugins/astroway/) plugin adds natal charts, horoscopes, Tarot, numerology, and Human Design via shortcodes and Gutenberg blocks - no code required. Works anonymously or with your API key.

```
[astroway_natal date="1990-06-15" time="14:30" lat="50.45" lon="30.52"]
```

### LLM / AI agents

We publish [/llms.txt ↗](https://api.astroway.info/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.
