# Natal Chart

The `POST /v1/chart` endpoint is the foundation of most requests. It returns a full natal chart: planet positions, house cusps, aspects between planets, chart sect. Cost: **20 credits** (Tier 2).

## Request parameters

| Parameter | Type | Required | Description |
|---|---|---|---|
| `date` | string | Yes | Birth date `YYYY-MM-DD` |
| `time` | string | Yes | Birth time `HH:mm:ss` |
| `timezoneOffset` | number | Yes | UTC offset in hours (e.g. `2` for Kyiv in summer) |
| `latitude` | number | No (0) | Latitude in decimal degrees |
| `longitude` | number | No (0) | Longitude in decimal degrees |
| `houseSystem` | string | No (`P`) | House system: `P` Placidus, `K` Koch, `W` Whole Sign, `E` Equal and [others](/docs/api/) |
| `name` | string | No | Name (echoed in response) |
| `city` | string | No | City (echoed in response) |
| `zodiacType` | string | No | `tropical` (default) or `sidereal` |
| `cosmogram` | boolean | No | `true` — no houses (when location unknown) |

## Example request

Natal chart for Kyiv, July 14, 1990, 14:30:

<Tabs>
  <TabItem label="cURL">
    ```bash frame="terminal"
    curl -X POST https://api.astroway.info/v1/chart \
      -H "X-Api-Key: aw_live_your_key_here" \
      -H "Content-Type: application/json" \
      -d '{
        "date": "1990-07-14",
        "time": "14:30:00",
        "timezoneOffset": 3,
        "latitude": 50.4501,
        "longitude": 30.5234,
        "houseSystem": "P"
      }'
    ```
  </TabItem>
  <TabItem label="Node.js">
    ```ts
    const res = await fetch('https://api.astroway.info/v1/chart', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'X-Api-Key': process.env.ASTROWAY_API_KEY!,
      },
      body: JSON.stringify({
        date: '1990-07-14',
        time: '14:30:00',
        timezoneOffset: 3,
        latitude: 50.4501,
        longitude: 30.5234,
        houseSystem: 'P',
      }),
    });
    const chart = await res.json();
    console.log(chart.planets[0]); // Sun position
    ```
  </TabItem>
  <TabItem label="Python">
    ```python

    r = requests.post(
        'https://api.astroway.info/v1/chart',
        headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY'], 'Content-Type': 'application/json'},
        json={
            'date': '1990-07-14',
            'time': '14:30:00',
            'timezoneOffset': 3,
            'latitude': 50.4501,
            'longitude': 30.5234,
            'houseSystem': 'P',
        },
    )
    chart = r.json()
    print(chart['planets'][0])
    ```
  </TabItem>
  <TabItem label="PHP">
    ```php
    <?php
    use GuzzleHttp\Client;

    $aw = new Client(['base_uri' => 'https://api.astroway.info/v1/']);
    $r = $aw->post('chart', [
        'headers' => ['X-Api-Key' => getenv('ASTROWAY_API_KEY')],
        'json' => [
            'date' => '1990-07-14',
            'time' => '14:30:00',
            'timezoneOffset' => 3,
            'latitude' => 50.4501,
            'longitude' => 30.5234,
            'houseSystem' => 'P',
        ],
    ]);
    $chart = json_decode($r->getBody(), true);
    print_r($chart['planets'][0]);
    ```
  </TabItem>
</Tabs>

## Example response

```json
{
  "input": {
    "date": "1990-07-14",
    "time": "14:30:00",
    "timezoneOffset": 3,
    "latitude": 50.4501,
    "longitude": 30.5234,
    "houseSystem": "P"
  },
  "julianDay": 2448087.979166,
  "siderealTime": 8.234,
  "planets": [
    {
      "name": "Sun",
      "longitude": 111.87,
      "latitude": 0.0,
      "speed": 0.955,
      "sign": "cancer",
      "signIndex": 3,
      "house": 10,
      "retrograde": false
    },
    {
      "name": "Moon",
      "longitude": 87.23,
      "latitude": -4.2,
      "speed": 13.3,
      "sign": "gemini",
      "signIndex": 2,
      "house": 8,
      "retrograde": false
    }
  ],
  "houses": {
    "system": "P",
    "cusps": [12.34, 43.21, 72.56, 100.12, 130.45, 162.78, 192.34, 223.21, 252.56, 280.12, 310.45, 342.78],
    "ascendant": 12.34,
    "mc": 280.12
  },
  "aspects": [
    {
      "planet1": "Sun",
      "planet2": "Moon",
      "type": "sextile",
      "orb": 1.36,
      "applying": true
    }
  ],
  "chartSect": "diurnal"
}
```

<Aside type="note">
Response is abbreviated for clarity. The full response includes all 12 planets (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto + North Node, Chiron), 12 house cusps, and all aspects between them.
</Aside>

## House systems

| Code | System | Notes |
|---|---|---|
| `P` | Placidus | Default, most popular |
| `K` | Koch | Popular in Germany |
| `W` | Whole Sign | Classical Hellenistic |
| `E` | Equal | Equal from ASC |
| `R` | Regiomontanus | Horary astrology |
| `C` | Campanus | Spatial system |
| `T` | Topocentric | Polich-Page |
| `B` | Alcabitius | Medieval tradition |

Full list of 15 systems — in [API reference](/docs/api/).

## Cosmogram (no birthplace)

If birth time is known but location isn't, pass `"cosmogram": true`. Houses and ASC/MC are not calculated, cost is the same (20 credits).

## Response headers

```
X-Credits-Used: 20
X-Credits-Remaining: 4980
X-Credits-Reset: 2026-05-01T00:00:00Z
X-Request-Id: 01HXY2A7ZM...
```

## Next

- [Synastry](/en/examples/synastry/) — compatibility of two charts
- [Transits](/en/examples/transits/) — transit overlay and event calendar
- [Human Design](/en/examples/human-design/) — full HD chart
- [Full API reference](/docs/api/) — all {siteMeta.endpoints} endpoints
