Novastrum API
Planet positions, houses, aspects, transits and moon phases, charts rendered as SVG, horoscopes and interpretations, all over HTTPS with JSON.
- Quick startYour first request in one minute.
- API referenceEvery endpoint with its parameters. Try requests in the browser.
- OpenAPI documentFor Postman, Insomnia or a generated client.
Base URL
https://api.novastrum.io/api/v1
Every request and response body is JSON (Content-Type: application/json), except chart renderings, which are SVG.
Authentication
Send your API key in the Authorization header of every request:
Authorization: Bearer YOUR_API_KEY
Without a valid key the API answers 401. Keep the key on your server: a key in a web page or app
can be read by anyone who uses it. Only /health and this documentation are open.
Quick start
Calculate a birth chart: planet positions, houses and aspects for 15 June 1990, 12:30 UTC, in Berlin.
curl -X POST https://api.novastrum.io/api/v1/calculate/chart \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"datetime": "1990-06-15T12:30:00Z",
"latitude": 52.52,
"longitude": 13.405,
"house_system": "P"
}'
The response lists every planet with longitude, sign, speed and retrograde state, plus the houses and aspects:
{
"julian_day": 2448058.0208333335,
"datetime": "1990-06-15T12:30:00Z",
"location": { "latitude": 52.52, "longitude": 13.405 },
"planets": [
{ "name": "Sun", "longitude": 84.154, "sign_name": "Gemini", "retrograde": false, ... },
...
],
...
}
The moon phase for a date
curl -X POST https://api.novastrum.io/api/v1/calculate/moon-phase \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"datetime": "2026-10-04T12:00:00Z"}'
Dates, times and places
datetimeis ISO 8601 or a Julian Day.-
Send times in UTC (ending in
Z). The server currently ignores offsets such as+02:00, so a local time with an offset is read as UTC. latitudeandlongitudeare decimal degrees, north and east positive.house_systemis a one-letter code, e.g.PPlacidus,KKoch,Wwhole sign,Eequal houses.
What the API covers
| Area | Path | For example |
|---|---|---|
| Calculation | /calculate/… | Chart, aspects, transits, composite, moon phase, astrocartography, Vedic dashas, electional times |
| Chart rendering | /charts/… | Natal and synastry charts, sky and horizon views as SVG, with design templates |
| Interpretation | /interpret/… | Daily horoscopes, chart and composite interpretations, compatibility, best days |
| Astronomy | /astronomy/… | Current sky, upcoming celestial events |
| Reports | /reports/… | Report templates and generated reports |
| Account | /account/… | Saved charts and API keys |
The API reference lists every endpoint with its request and response schema.
API keys
With a key you can create further keys, for example one per application, and revoke them again:
GET and POST /api/v1/account/keys, POST /api/v1/account/keys/revoke.
A new key is shown once, when it is created.
Errors
| Status | Meaning |
|---|---|
401 | No key or an unknown key |
404 | Unknown path, check the version prefix /api/v1 |
422 | The body is not valid for this endpoint, e.g. a required field is missing; the response text names it |
429 | Too many requests in a short time, or the monthly quota of the key is used up |
5xx | Error on our side, retry later |
Errors from authentication come as JSON with a code and a message:
{ "error": { "code": "MissingHeader", "message": "Missing Authorization header. Use 'Authorization: Bearer <api_key>'" } }
Status
GET https://api.novastrum.io/health answers without a key and reports whether the API is up.