AstroWay/api v2.95.1 · hu
minden rendszer működik rendben

Natal Chart API in TypeScript: SDK + React Example

Compute a natal chart in TypeScript with the AstroWay SDK — typed responses, a React component, and where it beats a local ephemeris library.

The AstroWay TypeScript SDK is generated from the OpenAPI spec, so request bodies and responses are fully typed — your IDE autocompletes the fields and the compiler catches mistakes before runtime. Here’s a natal chart, then the same call inside a React component.

Terminal window
npm install @astroway/sdk
# or: pnpm add @astroway/sdk

Get a key on the dashboard — 10,000 credits/month free, no card.

import { Astroway } from '@astroway/sdk';
const aw = new Astroway({ apiKey: process.env.ASTROWAY_API_KEY! });
const chart = await aw.chart.compute({
date: '1990-07-14',
time: '14:30:00',
timezoneOffset: 3,
latitude: 50.45,
longitude: 30.52,
});
// chart.planets is typed — not `any`
for (const p of chart.planets) {
console.log(`${p.name} ${p.longitude.toFixed(2)}° ${p.sign}`);
}

The { ok, data, error } envelope is unwrapped for you, so chart is the data. Need a raw response or an endpoint without a typed namespace yet? aw.client.POST('/chart', { body }) is the underlying typed fetch.

No extra dependency needed — call the SDK from an effect (or a server action / route handler if you don’t want the key in the browser):

import { useEffect, useState } from 'react';
import { Astroway } from '@astroway/sdk';
const aw = new Astroway({ apiKey: import.meta.env.VITE_ASTROWAY_KEY });
export function NatalChart({ birth }: { birth: {
date: string; time: string; timezoneOffset: number; latitude: number; longitude: number;
} }) {
const [planets, setPlanets] = useState<{ name: string; sign: string }[]>([]);
useEffect(() => {
aw.chart.compute(birth).then((c) => setPlanets(c.planets));
}, [birth]);
return (
<ul>
{planets.map((p) => <li key={p.name}>{p.name} in {p.sign}</li>)}
</ul>
);
}

In production, keep the API key server-side: call aw.chart.compute from a Next route handler or a small proxy and pass the result to the client. The SDK runs the same in Node, edge runtimes and the browser.

Mutating-style calls take an idempotency key so a retry can’t double-charge credits, and errors are a typed hierarchy:

import { RateLimitError, BadRequestError } from '@astroway/sdk';
try {
await aw.synastry.aspectGrid(body, { idempotencyKey: 'replay-abc' });
} catch (e) {
if (e instanceof RateLimitError) {/* back off */}
if (e instanceof BadRequestError) {/* show which field failed */}
}

A browser-only ephemeris library ships hundreds of kilobytes of WASM + data to every visitor. The SDK keeps the calculation server-side over a typed HTTP call, so your bundle stays small and you also get 722 other endpoints (synastry, transits, Human Design, AI interpretations) without adding dependencies.

AstroWay team

Az AstroWay API mérnöki csapata. A Swiss Ephemerist tisztán tartjuk REST formában, és írunk a fontos, unalmas részletekről.

// építs erre

Ugyanaz a Swiss Ephemeris, mint a Solar Fire-ben — 4 sor kóddal.

Ingyenes kulcs bankkártya nélkül. Havi 5 000 hívás a fizetésig.

További bejegyzések összes bejegyzés →

Ephemeris 2026-06-05

How Accurate Is the Swiss Ephemeris? Verified Benchmarks

Swiss Ephemeris accuracy in numbers — planetary positions under 0.1 arcsecond, exact house cusps, eclipses within a minute — and how AstroWay verifies it.

Ephemeris 2026-06-05

Swiss Ephemeris: REST API vs pyswisseph (When to Use Which)

pyswisseph vs a REST API for Swiss Ephemeris calculations — C dependencies, data files, licensing and deployment compared, with a decision guide.

Engineering 2026-05-21

Védikus asztrológia az API-n keresztül: a Paraszarától a Lal Kítábig 354 végponttal

Az AstroWay most a legteljesebb Védikus lefedettséget kínálja a kereskedelmi API-k között: 10 dása rendszer, 16 varga, Panchang, teljes Lal Kítáb + KP + Jaimini. Hogyan működik és mikor melyik technikát válassza.