API reference › Forecast

Monthly Astrology Digest API

One month for a chart: the running periods, where the planets stand and the month's dated events

POST/v1/forecast/digest

2 credits · Secret key (test or live) · getForecastDigest

Each event has a one-line summary in English or Hindi.

Request body

  • birth Birth required
    • date string (date) required

      e.g. "1990-08-13"

    • time string

      pattern ^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$ · e.g. "06:30"

    • time_accuracy string

      With "unknown", lagna- and house-dependent fields are omitted and listed in warnings — never filled with a noon default.

      one of exact, approximate, unknown · default "exact"

    • place Coordinates or object or object required

      Coordinates, a place_id from /v1/places/search, or a free-text query. A vague query returns 422 place_ambiguous with candidates; the API never guesses.

      One of:

      1. Coordinates
        Fields
        • latitude number required

          ≥ -90 · ≤ 90

        • longitude number required

          ≥ -180 · ≤ 180

        No other fields are accepted.

      2. object
        Fields
        • place_id string required

        No other fields are accepted.

      3. object
        Fields
        • query string required

          at least 2 characters · at most 120 characters

        No other fields are accepted.

    • timezone string

      "auto" (from coordinates AND date), an IANA name, or a fixed offset like "+05:30".

      default "auto"

    No other fields are accepted.

  • month string required

    The month as YYYY-MM, in UTC.

    pattern ^[0-9]{4}-(0[1-9]|1[0-2])$

  • options object
    • lang string required

      one of en, hi · default "en"

    No other fields are accepted.

No other fields are accepted.

Response

JSON { data, meta, warnings }, where data is:

  • month string required
  • running object required
    • mahadasha object or null required

      One of:

      1. object
        Fields
        • lord string required
        • until string (date-time) required
      2. null
    • antardasha object or null required

      One of:

      1. object
        Fields
        • lord string required
        • until string (date-time) required
      2. null
    • saturn_period object or null required

      One of:

      1. object
        Fields
        • period string required
        • until string (date-time) required
      2. null
  • planets_at_start array of object required
    • planet string required
    • sign string required
    • house_from_moon integer required
    • house_from_lagna integer required
    • longitude number required
    • retrograde boolean required
  • count integer required
  • events array of object required
    • at string (date-time) required
    • kind string required

      one of mahadasha_start, antardasha_start, saturn_period_start, saturn_period_end, sign_change, conjunction, opposition

    • summary string required
    • lord string
    • mahadasha string
    • until string (date-time)
    • period string
    • planet string
    • sign string
    • house_from_moon integer
    • house_from_lagna integer
    • natal_point string or null

      One of:

      1. string
      2. null
    • retrograde boolean
  • note string required

Errors: 400, 401, 403, 404, 422, 429, 500. See error codes.

Example request

curl -X POST 'https://api.astrologics.in/v1/forecast/digest' \
  -H 'Authorization: Bearer al_test_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"birth":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}},"month":"2026-11"}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/forecast/digest", {
  method: "POST",
  headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    "birth": {
      "date": "1990-08-13",
      "time": "06:30",
      "place": {
        "latitude": 28.6139,
        "longitude": 77.209
      }
    },
    "month": "2026-11"
  }),
});
console.log(JSON.stringify(await res.json(), null, 2));
Python
import json
import urllib.error
import urllib.request

body = {
    "birth": {
        "date": "1990-08-13",
        "time": "06:30",
        "place": {
            "latitude": 28.6139,
            "longitude": 77.209,
        },
    },
    "month": "2026-11",
}

req = urllib.request.Request(
    "https://api.astrologics.in/v1/forecast/digest",
    method="POST",
    headers={"Authorization": "Bearer al_test_YOUR_KEY", "Content-Type": "application/json"},
    data=json.dumps(body).encode(),
)
try:
    with urllib.request.urlopen(req) as res:
        print(json.dumps(json.load(res), indent=2, ensure_ascii=False))
except urllib.error.HTTPError as err:
    print(err.code, err.read().decode())
PHP
<?php
$ch = curl_init('https://api.astrologics.in/v1/forecast/digest');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS => '{"birth":{"date":"1990-08-13","time":"06:30","place":{"latitude":28.6139,"longitude":77.209}},"month":"2026-11"}',
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;

Example response

200 OK · 4,866 characters
{
  "data": {
    "month": "2026-11",
    "running": {
      "mahadasha": {
        "lord": "rahu",
        "until": "2044-06-21T04:53:13.747Z"
      },
      "antardasha": {
        "lord": "rahu",
        "until": "2029-03-03T21:05:13.747Z"
      },
      "saturn_period": {
        "period": "sade_sati",
        "until": "2032-05-30T21:29:10.451Z"
      }
    },
    "planets_at_start": [
      {
        "planet": "sun",
        "sign": "libra",
        "house_from_moon": 7,
        "house_from_lagna": 3,
        "longitude": 194.3425,
        "retrograde": false
      },
      {
        "planet": "mercury",
        "sign": "libra",
        "house_from_moon": 7,
        "house_from_lagna": 3,
        "longitude": 202.4284,
        "retrograde": true
      },
      {
        "planet": "venus",
        "sign": "libra",
        "house_from_moon": 7,
        "house_from_lagna": 3,
        "longitude": 182.0083,
        "retrograde": true
      },
      {
        "planet": "mars",
        "sign": "cancer",
        "house_from_moon": 4,
        "house_from_lagna": 12,
        "longitude": 114.3874,
        "retrograde": false
      },
      {
        "planet": "jupiter",
        "sign": "leo",
        "house_from_moon": 5,
        "house_from_lagna": 1,
        "longitude": 120.0885,
        "retrograde": false
      },
      {
        "planet": "saturn",
        "sign": "pisces",
        "house_from_moon": 12,
        "house_from_lagna": 8,
        "longitude": 345.0493,
        "retrograde": true
      },
      {
        "planet": "rahu",
        "sign": "aquarius",
        "house_from_moon": 11,
        "house_from_lagna": 7,
        "longitude": 302.702,
        "retrograde": true
      },
      {
        "planet": "ketu",
        "sign": "leo",
        "house_from_moon": 5,
        "house_from_lagna": 1,
        "longitude": 122.702,
        "retrograde": true
      }
    ],
    "count": 8,
    "events": [
      {
        "at": "2026-11-04T21:00:00.000Z",
        "kind": "conjunction",
        "planet": "mars",
        "sign": "cancer",
        "house_from_moon": 4,
        "house_from_lagna": 12,
        "natal_point": "sun",
        "retrograde": false,
        "summary": "Mars reaches the natal Sun degree."
      },
      {
        "at": "2026-11-05T19:18:00.000Z",
        "kind": "sign_change",
        "planet": "venus",
        "sign": "virgo",
        "house_from_moon": 6,
        "house_from_lagna": 2,
        "natal_point": null,
        "retrograde": true,
        "summary": "Venus enters Virgo."
      },
      {
        "at": "2026-11-12T14:50:00.000Z",
        "kind": "sign_change",
        "planet": "mars",
        "sign": "leo",
        "house_from_moon": 5,
        "house_from_lagna": 1,
        "natal_point": null,
        "retrograde": false,
        "summary": "Mars enters Leo."
      },
      {
        "at": "2026-11-16T14:15:00.000Z",
        "kind": "sign_change",
        "planet": "sun",
        "sign": "scorpio",
        "house_from_moon": 8,
        "house_from_lagna": 4,
        "natal_point": null,
        "retrograde": false,
        "summary": "Sun enters Scorpio."
      },
      {
        "at": "2026-11-22T07:49:00.000Z",
        "kind": "conjunction",
        "planet": "mars",
        "sign": "leo",
        "house_from_moon": 5,
        "house_from_lagna": 1,
        "natal_point": "lagna",
        "retrograde": false,
        "summary": "Mars reaches the natal lagna degree."
      },
      {
        "at": "2026-11-22T12:00:00.000Z",
        "kind": "sign_change",
        "planet": "venus",
        "sign": "libra",
        "house_from_moon": 7,
        "house_from_lagna": 3,
        "natal_point": null,
        "retrograde": false,
        "summary": "Venus enters Libra."
      },
      {
        "at": "2026-11-25T11:46:00.000Z",
        "kind": "sign_change",
        "planet": "rahu",
        "sign": "capricorn",
        "house_from_moon": 10,
        "house_from_lagna": 6,
        "natal_point": null,
        "retrograde": true,
        "summary": "Rahu enters Capricorn."
      },
      {
        "at": "2026-11-25T11:46:00.000Z",
        "kind": "sign_change",
        "planet": "ketu",
        "sign": "cancer",
        "house_from_moon": 4,
        "house_from_lagna": 12,
        "natal_point": null,
        "retrograde": true,
        "summary": "Ketu enters Cancer."
      }
    ],
    "note": "Dated facts about the chart. They say what happens and when, not what it will bring."
  },
  "meta": {
    "request_id": "req_example",
    "api_version": "v1",
    "engine_version": "2026.10.10",
    "mode": "live",
    "credits_charged": 2,
    "ayanamsa": "lahiri",
    "house_system": "whole_sign",
    "node": "true",
    "timezone_used": {
      "name": "Asia/Kolkata",
      "utc_offset": "+05:30",
      "source": "auto"
    }
  },
  "warnings": []
}
Try it

Leave empty to use the shared demo key (limited). Test keys only: never charged. Kept in this browser tab and sent through this site to the API. Create one

More in Forecast

Get a free API key Forecast product page