n8n
A workflow of four nodes: birth data in, natal chart from the API, Sun, Moon and rising sign out. It was imported into n8n 2.39.7 and run against production on 2026-09-17, and the output below is what it returned.
The AstroWay node
Section titled “The AstroWay node”Instead of a hand-built HTTP Request you can install the @astroway/n8n-nodes-astroway node. It has 730 API operations as ready-made actions with fields: natal chart, synastry, transits, Vedic, Human Design, BaZi, numerology, tarot and more.
- In self-hosted n8n open Settings → Community Nodes → Install, enter
@astroway/n8n-nodes-astrowayand confirm. n8n verified the node on 2026-10-23, so on n8n Cloud you can add it from the nodes panel without installing anything. - Create an AstroWay API credential and paste the key. n8n checks it with
GET /v1/auth/keys/me, which spends no credits. If the key has an endpoint scope, addauth/keys/meto it, or the check saysForbiddeneven though calls inside the scope work. - Add the AstroWay node and pick a group and an operation, for example Core → Natal Chart. Required fields are already listed; add optional ones with Add field.
The node returns the data part of the answer, and an error with the API’s code, for example INVALID_INPUT. It can be attached to an AI Agent as a tool.
Below is the same calculation without the node, on a plain HTTP Request. It works in any n8n, Cloud included.
Before you start, create a key as described in A key for an automation, scoped to chart.
1. Add the key as a credential
Section titled “1. Add the key as a credential”The key goes into n8n’s credential store, not into the node, so it does not travel with an exported workflow.
- In n8n create a new credential of type Header Auth.
- Name:
X-Api-Key. - Value: your key.
- Save it as AstroWay API key. The workflow below looks the credential up by that name.
2. Import the workflow
Section titled “2. Import the workflow”Download n8n-natal-chart.json, open an empty workflow and paste the file’s contents onto the canvas, or use the import from file in the workflow menu.
It contains four nodes:
- Start, a Manual Trigger: runs the workflow when you test it.
- Birth data, an Edit Fields (Set) node:
date,time,timezone,latitudeandlongitudefor one person. - AstroWay chart, an HTTP Request node: calls
POST /v1/chart. - Big three, an Edit Fields (Set) node: turns longitudes into sign names.
3. Run it
Section titled “3. Run it”Execute the workflow. Big three returns:
{ "sun": "Taurus", "moon": "Capricorn", "rising": "Virgo", "offset_used": 4}offset_used is the UTC offset the server worked out from Europe/Kyiv for 1990-05-15: 4, not the 3 a hand-typed offset would usually say.
How the HTTP Request node is set up
Section titled “How the HTTP Request node is set up”-
Method:
POST. -
URL:
https://api.astroway.info/v1/chart -
Authentication: Generic Credential Type.
-
Generic Auth Type: Header Auth, with the credential AstroWay API key.
-
Send Body: on.
-
Body Content Type: JSON.
-
Specify Body: Using JSON.
The body is an expression, so values from any earlier node pass through as they are:
{{ JSON.stringify({ date: $json.date, time: $json.time, timezone: $json.timezone, latitude: $json.latitude, longitude: $json.longitude }) }}How the signs are computed
Section titled “How the signs are computed”Each field in Big three is an expression. The sign is the longitude divided by 30, rounded down, used as an index:
{{ ['Aries','Taurus','Gemini','Cancer','Leo','Virgo','Libra','Scorpio','Sagittarius','Capricorn','Aquarius','Pisces'][Math.floor($json.data.houses.ascendant / 30)] }}For the Sun and the Moon the longitude comes from $json.data.planets.find(p => p.name === 'Sun').longitude and the same with 'Moon'.
Put your own data in
Section titled “Put your own data in”Replace Start and Birth data with the trigger you actually use, a form, a webhook or a new spreadsheet row, and map its fields onto the five names above. Two things to check:
timezonemust not be empty. An empty value is refused with400, so map the field or set it toautowhen your coordinates are reliable.- Coordinates are required. The chart call does not geocode a city name; if your form only asks for a place, add an HTTP Request to
GET /v1/geo/search?q=...before AstroWay chart and maplatitude,longitudeandtimezonefrom its first result (Location search; addgeo/searchto the key’s scope).