JavaScript / TypeScript
AvailableA typed ESM client for natal charts, signs, positions, aspects and synastry.
Version 0.1.0 is published on npm.
Developer platform
Build natal charts, sign tools, aspects and synastry with the calculation stack behind GetBirthChart.
import { GetBirthChart } from "@getbirthchart/sdk";
const client = new GetBirthChart({
apiKey: process.env.GETBIRTHCHART_API_KEY,
baseUrl: "https://getbirthchart.com/api",
});
const chart = await client.calculateBirthChart({
date: "1990-01-15",
time: "12:00",
place: "New York, NY",
latitude: 40.7128,
longitude: -74.006,
timezone: "America/New_York",
});Planetary positions use the backend ephemeris through pyswisseph.
Time-dependent fields are omitted when a reliable birth time is missing.
The TypeScript SDK returns structured data and typed errors.
Rules, sources, validation and release metadata are documented.
Use the interface that fits your stack.
A typed ESM client for natal charts, signs, positions, aspects and synastry.
Version 0.1.0 is published on npm.
Use the open-source calculation engine directly for structured natal chart facts.
Package 1.12.2. Engine 1.12.1.
Call the calculation service from a backend or language with a documented JSON contract.
Versioned endpoints require a developer API key from the dashboard.
A planned agent interface for structured astrology calculations and explicit uncertainty.
The v0.1 tool surface is being designed. No public server or registry entry exists yet.
calculate_birth_chartget_planet_positionsget_big_threeget_moon_signget_rising_signcalculate_aspectscalculate_synastryA planned integration for embedding GetBirthChart-powered calculators in WordPress.
The plugin is not published yet. Installation and shortcode behavior are not final.
Start with a calculation surface, then shape the product around it.
Natal chart calculators and chart-driven applications.
Focused sign calculators and onboarding flows.
Synastry and compatibility experiences built from two charts.
Assistants grounded in structured calculation data through an API or MCP.
Calculation-backed pages and workflows with clear editorial limits.
Work directly with positions, aspects and engine metadata.
The matrix reflects the current state of each developer surface.
| Capability | REST | TypeScript | Python | MCP | WordPress |
|---|---|---|---|---|---|
| Birth chart | Available | Available | Available | Planned | - |
| Planet positions | Available | Available | Available | Planned | - |
| Sun sign | Available | Available | Partial | Planned | - |
| Moon sign | Available | Available | Partial | Planned | - |
| Rising sign | Available | Available | Available | Planned | - |
| Big Three | Available | Available | Available | Planned | - |
| Aspects | Available | Available | Available | Planned | - |
| Synastry | Available | Available | Partial | Planned | - |
| Unknown-time handling | Available | Available | Available | Planned | - |
| Engine metadata | Available | Available | Available | Planned | - |
Preview means the contract or source exists, but public access is not available yet. Partial means the capability is exposed through a broader chart or engine surface.
The SDK does not turn missing information into a guessed time.
Without a reliable time, the engine does not guess an Ascendant or houses. Time-sensitive fields are omitted, and Moon uncertainty remains explicit when the available date cannot establish one sign.
const chart = await client.calculateBirthChart({
date: "1990-01-15",
place: "New York, NY",
latitude: 40.7128,
longitude: -74.006,
timezone: "America/New_York",
unknownTime: true,
});
console.log(chart.birthTimeKnown); // false
console.log(chart.ascendant); // undefined
console.log(chart.houses); // undefinedBodies, angles, houses and aspects can be returned when the input is complete.
Bodies remain available. Ascendant and houses are omitted rather than guessed.
Authoritative reference pages keep the implementation inspectable.
Calculation pipeline, zodiac, houses and the boundary between facts and interpretation.
Read referenceEphemeris calculations, IANA timezone rules and geographic coordinate data.
Read referenceDeterministic fixtures, regression cases, boundaries and reproducibility checks.
Read referenceCurrent engine namespaces, schema changes and public material release history.
Read referenceInspect the calculation engine, SDK source and release provenance.
These values come from the web app's pinned engine contract and calculation-core constants.
Return explicit calculation data rather than opaque generated prose.
Use typed interfaces, documented errors and explicit uncertainty.
Document the methodology, sources and engine versions behind output.
Copy the shortest useful example for your stack.
import { GetBirthChart } from "@getbirthchart/sdk";
const client = new GetBirthChart({
apiKey: process.env.GETBIRTHCHART_API_KEY,
baseUrl: "https://getbirthchart.com/api",
});
const chart = await client.calculateBirthChart({
date: "1990-01-15",
time: "12:00",
place: "New York, NY",
latitude: 40.7128,
longitude: -74.006,
timezone: "America/New_York",
});Create a developer API key, keep it on your server, and call the versioned chart endpoints with structured JSON responses.