Developer docs · API v1

Build on the most complete astrology API

21 REST endpoints — sidereal Vedic charts, tropical Western charts, tarot spreads, numerology and a chart-grounded AI Guide. One header, one base URL, copy-paste examples in three languages.

Quickstart

Live in three steps

From zero to your first astrology response in under a minute.

01

Get your API key

Sign in and create a key from the developers dashboard — API Keys. Keys start with kundli_ and can be rotated anytime.

02

Make your first call

Send the key in the X-API-Key header. Every request returns JSON — the panchangam call below needs no request body.

03

Go live

One credit per call, 60 requests a minute, one-time top-ups with no subscription. Ship it.

Your first call — today's panchangam
curl "https://api-rho-eight-42.vercel.app/api/v1/vedic/panchangam?date=2026-10-15&lat=9.9312&lon=76.2673&tz=Asia/Kolkata" \
  -H "X-API-Key: kundli_abc123..."
Reference

Five engines, one API

Every endpoint is documented with parameters, examples and response shapes.

Explorer

Every endpoint

Search across all categories, or jump into a single engine's reference.

Vedic Astrology

View all →
POST/api/v1/vedic/varga-chartsVedic Astrology

Varga charts

Compute divisional (varga) charts from a birth chart. Pass a single varga number or "all" for the standard 16-varga set (1, 2, 3, 4, 7, 9, 10, 12, 16, 20, 24, 27, 30, 40, 45, 60).

1 credit per call

Parameters

NameTypeInRequiredDescription
datestringbodyrequiredBirth date, YYYY-MM-DD
timestringbodyoptionalBirth time, HH:MM (24h)
time_unknownbooleanbodyoptionalSet true when birth time is unknown
latitudenumberbodyrequiredBirth latitude, −90 to 90
longitudenumberbodyrequiredBirth longitude, −180 to 180
timezonestringbodyoptionalIANA timezone, e.g. Asia/Kolkata (default UTC)
ayanamsastringbodyoptionallahiri (default), raman, krishnamurti or fagan_bradley
vargainteger | "all"bodyoptionalVarga number (1, 2, 3, 4, 7, 9, 10, 12, 16, 20, 24, 27, 30, 40, 45, 60) or "all" (default)

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/vedic/varga-charts" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "date": "1990-05-15",
  "time": "14:30",
  "latitude": 9.9312,
  "longitude": 76.2673,
  "timezone": "Asia/Kolkata",
  "ayanamsa": "lahiri",
  "varga": 9
}'

Example response

JSON
{
  "varga": 9,
  "charts": {
    "9": {
      "ascendant": {
        "sign": "Mesha",
        "degree": 12.44
      },
      "planets": [
        {
          "name": "Surya",
          "sign": "Vrishabha",
          "degree": 21.08,
          "house": 2
        }
      ]
    }
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

POST/api/v1/vedic/ashtakvargaVedic Astrology

Ashtakavarga

Sarvashtakavarga and Bhinnashtakavarga strength summary — planetary and house-wise bindu totals that reveal where a chart concentrates its power.

1 credit per call

Parameters

NameTypeInRequiredDescription
datestringbodyrequiredBirth date, YYYY-MM-DD
timestringbodyoptionalBirth time, HH:MM (24h)
time_unknownbooleanbodyoptionalSet true when birth time is unknown
latitudenumberbodyrequiredBirth latitude, −90 to 90
longitudenumberbodyrequiredBirth longitude, −180 to 180
timezonestringbodyoptionalIANA timezone, e.g. Asia/Kolkata (default UTC)
ayanamsastringbodyoptionallahiri (default), raman, krishnamurti or fagan_bradley

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/vedic/ashtakvarga" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "date": "1990-05-15",
  "time": "14:30",
  "latitude": 9.9312,
  "longitude": 76.2673,
  "timezone": "Asia/Kolkata",
  "ayanamsa": "lahiri"
}'

Example response

JSON
{
  "result": {
    "sarvashtakavarga": {
      "Mesha": 28,
      "Vrishabha": 31,
      "Mithuna": 25
    },
    "bhinnashtakavarga": {
      "Surya": {
        "Mesha": 4,
        "Vrishabha": 5
      }
    },
    "strongest_house": 10
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

POST/api/v1/vedic/poruthamVedic Astrology

Porutham matching

South-Indian porutham (10-point) marriage compatibility between two birth stars (nakshatras) and rasis (Moon signs).

1 credit per call

Parameters

NameTypeInRequiredDescription
bride_starstringbodyrequiredBride's birth nakshatra, e.g. Rohini
groom_starstringbodyrequiredGroom's birth nakshatra, e.g. Mrigashira
bride_rasistringbodyrequiredBride's Moon sign, e.g. Vrishabha
groom_rasistringbodyrequiredGroom's Moon sign, e.g. Vrishabha

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/vedic/porutham" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "bride_star": "Rohini",
  "groom_star": "Mrigashira",
  "bride_rasi": "Vrishabha",
  "groom_rasi": "Vrishabha"
}'

Example response

JSON
{
  "result": {
    "matched": 8,
    "total": 10,
    "verdict": "Excellent match",
    "poruthams": [
      {
        "name": "Dina",
        "matched": true
      },
      {
        "name": "Gana",
        "matched": true
      }
    ]
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

POST/api/v1/vedic/guna-milanVedic Astrology

Guna milan

North-Indian guna milan (36-guna Ashtakoota) marriage compatibility — the eight kootas scored out of 36 with a detailed breakdown.

1 credit per call

Parameters

NameTypeInRequiredDescription
bride_starstringbodyrequiredBride's birth nakshatra, e.g. Rohini
groom_starstringbodyrequiredGroom's birth nakshatra, e.g. Mrigashira
bride_rasistringbodyrequiredBride's Moon sign, e.g. Vrishabha
groom_rasistringbodyrequiredGroom's Moon sign, e.g. Vrishabha

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/vedic/guna-milan" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "bride_star": "Rohini",
  "groom_star": "Mrigashira",
  "bride_rasi": "Vrishabha",
  "groom_rasi": "Vrishabha"
}'

Example response

JSON
{
  "result": {
    "total_gunas": 28,
    "max_gunas": 36,
    "verdict": "Very good match",
    "kootas": [
      {
        "name": "Varna",
        "score": 1,
        "max": 1
      },
      {
        "name": "Vashya",
        "score": 2,
        "max": 2
      }
    ]
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

POST/api/v1/vedic/doshaVedic Astrology

Dosha analysis

Detect Mangal dosha, Kaal Sarp dosha, Pitra dosha and other afflictions in a birth chart, with cancellation (bhanga) checks.

1 credit per call

Parameters

NameTypeInRequiredDescription
datestringbodyrequiredBirth date, YYYY-MM-DD
timestringbodyoptionalBirth time, HH:MM (24h)
time_unknownbooleanbodyoptionalSet true when birth time is unknown
latitudenumberbodyrequiredBirth latitude, −90 to 90
longitudenumberbodyrequiredBirth longitude, −180 to 180
timezonestringbodyoptionalIANA timezone, e.g. Asia/Kolkata (default UTC)
ayanamsastringbodyoptionallahiri (default), raman, krishnamurti or fagan_bradley
current_datestringbodyoptionalReference date for transit-based doshas, YYYY-MM-DD (default today)

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/vedic/dosha" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "date": "1990-05-15",
  "time": "14:30",
  "latitude": 9.9312,
  "longitude": 76.2673,
  "timezone": "Asia/Kolkata",
  "ayanamsa": "lahiri",
  "current_date": "2026-10-15"
}'

Example response

JSON
{
  "result": {
    "mangal_dosha": {
      "present": false,
      "houses": []
    },
    "kaal_sarp_dosha": {
      "present": false
    },
    "pitra_dosha": {
      "present": true,
      "severity": "mild"
    },
    "remedies": [
      "Offer water to the rising Sun on Sundays"
    ]
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

GET/api/v1/vedic/panchangam?date=2026-10-15&lat=9.9312&lon=76.2673&tz=Asia/KolkataVedic Astrology

Panchangam

Daily Hindu almanac for any date and location: tithi, nakshatra, yoga, karana, vara and auspicious muhurta windows.

1 credit per call

Parameters

NameTypeInRequiredDescription
datestringqueryrequiredDate, YYYY-MM-DD
latnumberqueryrequiredLatitude, −90 to 90
lonnumberqueryrequiredLongitude, −180 to 180
tzstringqueryoptionalIANA timezone (default Asia/Kolkata)

Example request

cURL
curl "https://api-rho-eight-42.vercel.app/api/v1/vedic/panchangam?date=2026-10-15&lat=9.9312&lon=76.2673&tz=Asia/Kolkata" \
  -H "X-API-Key: kundli_abc123..."

Example response

JSON
{
  "result": {
    "date": "2026-10-15",
    "tithi": "Shashthi",
    "nakshatra": "Rohini",
    "yoga": "Saubhagya",
    "karana": "Gara",
    "vara": "Thursday",
    "muhurta": [
      {
        "name": "Abhijit",
        "start": "11:48",
        "end": "12:36"
      }
    ]
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

POST/api/v1/vedic/varshphalVedic Astrology

Varshphal

Annual (solar-return) varshphal chart for a target year — the Tajik-system year chart with muntha, sahams and yearly dasha timing.

1 credit per call

Parameters

NameTypeInRequiredDescription
datestringbodyrequiredBirth date, YYYY-MM-DD
timestringbodyoptionalBirth time, HH:MM (24h)
time_unknownbooleanbodyoptionalSet true when birth time is unknown
latitudenumberbodyrequiredBirth latitude, −90 to 90
longitudenumberbodyrequiredBirth longitude, −180 to 180
timezonestringbodyoptionalIANA timezone, e.g. Asia/Kolkata (default UTC)
ayanamsastringbodyoptionallahiri (default), raman, krishnamurti or fagan_bradley
target_yearintegerbodyrequiredSolar-return year, e.g. 2027

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/vedic/varshphal" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "date": "1990-05-15",
  "time": "14:30",
  "latitude": 9.9312,
  "longitude": 76.2673,
  "timezone": "Asia/Kolkata",
  "ayanamsa": "lahiri",
  "target_year": 2027
}'

Example response

JSON
{
  "result": {
    "target_year": 2027,
    "solar_return": "2027-05-14T21:02:00+05:30",
    "muntha": {
      "sign": "Kanya",
      "house": 5
    },
    "sahams": [
      {
        "name": "Punya",
        "sign": "Simha",
        "degree": 8.2
      }
    ]
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

POST/api/v1/vedic/kp-chartVedic Astrology

KP chart

Krishnamurti Paddhati chart: sub-lords for every cusp, planetary star/sub lords and ruling planets for precise event timing.

1 credit per call

Parameters

NameTypeInRequiredDescription
datestringbodyrequiredBirth date, YYYY-MM-DD
timestringbodyoptionalBirth time, HH:MM (24h)
time_unknownbooleanbodyoptionalSet true when birth time is unknown
latitudenumberbodyrequiredBirth latitude, −90 to 90
longitudenumberbodyrequiredBirth longitude, −180 to 180
timezonestringbodyoptionalIANA timezone, e.g. Asia/Kolkata (default UTC)
ayanamsastringbodyoptionallahiri (default), raman, krishnamurti or fagan_bradley

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/vedic/kp-chart" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "date": "1990-05-15",
  "time": "14:30",
  "latitude": 9.9312,
  "longitude": 76.2673,
  "timezone": "Asia/Kolkata",
  "ayanamsa": "lahiri"
}'

Example response

JSON
{
  "result": {
    "cusps": [
      {
        "cusp": 1,
        "sign": "Mesha",
        "degree": 12.44,
        "star_lord": "Ketu",
        "sub_lord": "Shukra"
      }
    ],
    "ruling_planets": [
      "Guru",
      "Shukra",
      "Chandra"
    ],
    "ayanamsa_used": "krishnamurti"
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

GET/api/v1/vedic/baby-names?nakshatra=Rohini&pada=2Vedic Astrology

Baby-name syllables

Auspicious baby-name starting syllables for a birth nakshatra and pada — the traditional namakarana lookup.

1 credit per call

Parameters

NameTypeInRequiredDescription
nakshatrastringqueryrequiredBirth nakshatra name, e.g. Rohini
padaintegerqueryrequiredNakshatra pada, 1–4

Example request

cURL
curl "https://api-rho-eight-42.vercel.app/api/v1/vedic/baby-names?nakshatra=Rohini&pada=2" \
  -H "X-API-Key: kundli_abc123..."

Example response

JSON
{
  "result": {
    "nakshatra": "Rohini",
    "pada": 2,
    "syllables": [
      "O",
      "Va",
      "Vi",
      "Vu"
    ],
    "sample_names": [
      "Om",
      "Vaibhav",
      "Vivaan"
    ]
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

Western Astrology

View all →
POST/api/v1/western/chartWestern Astrology

Natal chart

Full Western natal chart — tropical planet positions, houses, aspects — with a deterministic written interpretation of Sun, Moon and rising.

1 credit per call

Parameters

NameTypeInRequiredDescription
datestringbodyrequiredBirth date, YYYY-MM-DD
timestringbodyoptionalBirth time, HH:MM (24h)
time_unknownbooleanbodyoptionalSet true when birth time is unknown
latitudenumberbodyrequiredBirth latitude, −90 to 90
longitudenumberbodyrequiredBirth longitude, −180 to 180
timezonestringbodyoptionalIANA timezone (default UTC)
house_systemstringbodyoptionalHouse system (default Placidus)

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/western/chart" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "date": "1990-05-15",
  "time": "14:30",
  "latitude": 9.9312,
  "longitude": 76.2673,
  "timezone": "Asia/Kolkata",
  "house_system": "Placidus"
}'

Example response

JSON
{
  "chart": {
    "sun": {
      "sign": "Taurus",
      "degree": 24.5,
      "house": 2
    },
    "moon": {
      "sign": "Cancer",
      "degree": 3.1,
      "house": 4
    },
    "ascendant": {
      "sign": "Virgo",
      "degree": 17.8
    },
    "aspects": [
      {
        "planets": [
          "Sun",
          "Moon"
        ],
        "aspect": "trine",
        "orb": 2.3
      }
    ]
  },
  "interpretation": {
    "sun_line": "With the Sun in Taurus, your core identity is steady, sensual and built to last.",
    "moon_line": "A Cancer Moon gives you deep emotional tides and a fierce need for home."
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

POST/api/v1/western/synastryWestern Astrology

Synastry

Compatibility analysis between two Western birth charts: composite score, inter-chart aspects, highlights and house overlays in both directions.

1 credit per call

Parameters

NameTypeInRequiredDescription
person_aobjectbodyrequiredFirst person's birth details (same shape as the natal chart endpoint)
person_bobjectbodyrequiredSecond person's birth details (same shape as the natal chart endpoint)
languagestringbodyoptionalTwo-letter language code (default en)

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/western/synastry" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "person_a": {
    "date": "1990-05-15",
    "time": "14:30",
    "latitude": 9.9312,
    "longitude": 76.2673,
    "timezone": "Asia/Kolkata",
    "house_system": "Placidus"
  },
  "person_b": {
    "date": "1992-11-03",
    "time": "09:15",
    "latitude": 9.9312,
    "longitude": 76.2673,
    "timezone": "Asia/Kolkata",
    "house_system": "Placidus"
  },
  "language": "en"
}'

Example response

JSON
{
  "score": 82.5,
  "summary": "A strong, growth-oriented bond with natural emotional attunement.",
  "inter_aspects": [
    {
      "planets": [
        "Venus",
        "Mars"
      ],
      "aspect": "conjunction",
      "orb": 1.8
    }
  ],
  "highlights": [
    "Venus–Mars conjunction fuels magnetic attraction"
  ],
  "overlays_a_in_b": [
    {
      "planet": "Sun",
      "house": 7
    }
  ],
  "overlays_b_in_a": [
    {
      "planet": "Moon",
      "house": 5
    }
  ]
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

GET/api/v1/western/horoscope/{sign}?date=2026-10-15Western Astrology

Daily horoscope

Daily horoscope for a tropical zodiac sign (case-insensitive). Defaults to today when no date is passed.

1 credit per call

Parameters

NameTypeInRequiredDescription
signstringpathrequiredZodiac sign, e.g. taurus — aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius, pisces
datestringqueryoptionalDate, YYYY-MM-DD (default today)

Example request

cURL
curl "https://api-rho-eight-42.vercel.app/api/v1/western/horoscope/{sign}?date=2026-10-15" \
  -H "X-API-Key: kundli_abc123..."

Example response

JSON
{
  "sign": "Taurus",
  "date": "2026-10-15",
  "headline": "Steady wins the day",
  "love": "An honest conversation deepens a bond.",
  "career": "Finish the detail work you've been avoiding.",
  "wellness": "Protect your sleep like a ritual.",
  "lucky_number": 6,
  "lucky_color": "emerald"
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

POST/api/v1/tarot/readingTarot

Draw a reading

Draw cards for a spread. Omit cards for a random server draw, or pass user-picked card ids from your own interactive fan. Premium spreads return a full AI interpretation; the single-card daily draw returns a free teaser.

2 credits per call

Parameters

NameTypeInRequiredDescription
spread_typestringbodyoptionalsingle_card, three_card (default), celtic_cross, horseshoe, relationship, career, monthly, year_ahead
spread_idstringbodyoptionalAlias for spread_type — accepts frontend slugs like "three-card"
questionstringbodyoptionalThe querent's question (max 1000 chars)
categorystringbodyoptionalQuestion category, e.g. love, career
cardsarraybodyoptionalUser-picked cards: [{card_id, position, reversed}] — server draws randomly if omitted
seedintegerbodyoptionalOptional seed for deterministic draws
languagestringbodyoptionalTwo-letter language code (default en)

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/tarot/reading" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "spread_type": "three_card",
  "question": "What should I focus on this month?",
  "category": "career",
  "language": "en"
}'

Example response

JSON
{
  "reading_id": "9f2a1c4e-6b3d-4a5f-8e7c-2d1a3b4c5d6e",
  "spread_type": "three_card",
  "cards_drawn": [
    {
      "position": "Past",
      "card_name": "The Hermit",
      "orientation": "upright"
    },
    {
      "position": "Present",
      "card_name": "Ace of Pentacles",
      "orientation": "upright"
    },
    {
      "position": "Future",
      "card_name": "The Star",
      "orientation": "upright"
    }
  ],
  "interpretation": {
    "summary": "A period of quiet preparation is paying off..."
  },
  "unlocked": true
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

POST/api/v1/tarot/readings/clarifyTarot

Clarifying card

Draw a clarifying card that builds on an existing reading — free, deterministic, zero AI cost. Already-drawn cards are excluded so the clarifier is always new.

1 credit per call

Parameters

NameTypeInRequiredDescription
original_cardsstring[]bodyoptionalCard names already drawn (excluded from the clarifying draw)
original_questionstringbodyoptionalThe querent's original question for context
languagestringbodyoptionalTwo-letter language code (default en)

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/tarot/readings/clarify" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "original_cards": [
    "The Hermit",
    "Ace of Pentacles"
  ],
  "original_question": "What should I focus on this month?",
  "language": "en"
}'

Example response

JSON
{
  "card_name": "The Star",
  "orientation": "upright",
  "narrative": "The Star appears upright as your clarifying card — its themes are hope, renewal, inspiration.",
  "combination": "When we place The Star beside The Hermit, the story deepens...",
  "followups": [
    "What would hope look like as a daily practice?"
  ],
  "actions": [
    "Write down one thing you are quietly hoping for."
  ]
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

GET/api/v1/tarot/reading/{reading_id}Tarot

Get a reading

Fetch a previously created reading by its id, including drawn cards and teaser/interpretation state.

1 credit per call

Parameters

NameTypeInRequiredDescription
reading_idstringpathrequiredUUID returned by POST /reading

Example request

cURL
curl "https://api-rho-eight-42.vercel.app/api/v1/tarot/reading/{reading_id}" \
  -H "X-API-Key: kundli_abc123..."

Example response

JSON
{
  "reading_id": "9f2a1c4e-6b3d-4a5f-8e7c-2d1a3b4c5d6e",
  "spread_type": "three_card",
  "cards_drawn": [
    {
      "position": "Past",
      "card_name": "The Hermit",
      "orientation": "upright"
    }
  ],
  "unlocked": true
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

GET/api/v1/tarot/reading/{reading_id}/interpretationTarot

Reading interpretation

Unlock the full AI interpretation for a reading id (consumes the matching one-time purchase on the web product; via API it is billed per call).

2 credits per call

Parameters

NameTypeInRequiredDescription
reading_idstringpathrequiredUUID returned by POST /reading

Example request

cURL
curl "https://api-rho-eight-42.vercel.app/api/v1/tarot/reading/{reading_id}/interpretation" \
  -H "X-API-Key: kundli_abc123..."

Example response

JSON
{
  "reading_id": "9f2a1c4e-6b3d-4a5f-8e7c-2d1a3b4c5d6e",
  "interpretation": {
    "summary": "A period of quiet preparation is paying off...",
    "positions": [
      {
        "position": "Past",
        "text": "The Hermit marks a retreat..."
      }
    ]
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

GET/api/v1/tarot/spreadsTarot

Spread configurations

List every supported spread with its positions and card counts — use it to render your own spread picker UI.

1 credit per call

Parameters

No parameters — call it as-is.

Example request

cURL
curl "https://api-rho-eight-42.vercel.app/api/v1/tarot/spreads" \
  -H "X-API-Key: kundli_abc123..."

Example response

JSON
{
  "three_card": {
    "name": "Three-Card Spread",
    "card_count": 3,
    "positions": [
      "Past",
      "Present",
      "Future"
    ]
  },
  "celtic_cross": {
    "name": "Celtic Cross",
    "card_count": 10,
    "positions": [
      "Present",
      "Challenge",
      "Past"
    ]
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

GET/api/v1/tarot/deckTarot

Card reference deck

The complete 78-card reference: names, arcana, suits, keywords and upright/reversed meanings for rendering your own cards.

1 credit per call

Parameters

No parameters — call it as-is.

Example request

cURL
curl "https://api-rho-eight-42.vercel.app/api/v1/tarot/deck" \
  -H "X-API-Key: kundli_abc123..."

Example response

JSON
[
  {
    "card_id": "0",
    "name": "The Fool",
    "arcana": "major",
    "keywords": [
      "beginnings",
      "innocence",
      "spontaneity"
    ],
    "upright": "New beginnings, spontaneity...",
    "reversed": "Recklessness, poor judgment..."
  }
]

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

Numerology

View all →
POST/api/v1/numerology/Numerology

Numerology report

Complete numerology report — life path, expression, heart's desire, personality and birth-day numbers with written interpretations.

1 credit per call

Parameters

NameTypeInRequiredDescription
full_namestringbodyrequiredFull birth name
birthdatestringbodyrequiredBirthdate, YYYY-MM-DD

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/numerology/" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "full_name": "Aarav Sharma",
  "birthdate": "1990-05-15"
}'

Example response

JSON
{
  "full_name": "Aarav Sharma",
  "birthdate": "1990-05-15",
  "life_path": {
    "number": 3,
    "title": "The Creative",
    "interpretation": "..."
  },
  "expression": {
    "number": 8,
    "title": "The Powerhouse",
    "interpretation": "..."
  },
  "heart_desire": {
    "number": 5,
    "title": "The Freedom Seeker",
    "interpretation": "..."
  },
  "personality": {
    "number": 3,
    "title": "The Creative",
    "interpretation": "..."
  },
  "birth_day": {
    "number": 15,
    "title": "The Harmonizer",
    "interpretation": "..."
  }
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

AI Guide

View all →
POST/api/v1/guide/chatAI Guide

Chat with the Guide

Send a message to the astrology Guide. Replies are grounded in chart context with deterministic intent handling; AI depth is used when available. Pass conversation history for multi-turn context.

2 credits per call

Parameters

NameTypeInRequiredDescription
messagestringbodyrequiredUser message, 1–2000 chars
languagestringbodyoptionalTwo-letter language code (default en)
historyarraybodyoptionalPrior turns: [{role, content}]

Example request

cURL
curl -X POST "https://api-rho-eight-42.vercel.app/api/v1/guide/chat" \
  -H "X-API-Key: kundli_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
  "message": "What does today hold for my career?",
  "language": "en",
  "history": [
    {
      "role": "user",
      "content": "Tell me about my strengths"
    }
  ]
}'

Example response

JSON
{
  "reply": "With Saturn transiting your 10th house, today rewards patient, visible work...",
  "intent": "career",
  "grounded": true,
  "is_ai": true,
  "remaining_free": 4
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

GET/api/v1/guide/chat/historyAI Guide

Chat history

Retrieve the stored conversation history for the authenticated identity — roles, intents and timestamps.

1 credit per call

Parameters

No parameters — call it as-is.

Example request

cURL
curl "https://api-rho-eight-42.vercel.app/api/v1/guide/chat/history" \
  -H "X-API-Key: kundli_abc123..."

Example response

JSON
{
  "history": [
    {
      "role": "user",
      "content": "Tell me about my strengths",
      "intent": "self",
      "is_ai": false
    },
    {
      "role": "guide",
      "content": "Your chart shows a strong 10th house...",
      "intent": "self",
      "is_ai": true
    }
  ]
}

Try it — paste your own key from Developers → API Keys in place of kundli_abc123... and run the snippet against https://api-rho-eight-42.vercel.app.

Simple pricing

1 credit per call. No subscription.

Top up credits one time, use them whenever. AI-powered endpoints (tarot interpretations, Guide chat) cost 2 credits — everything else costs 1.

Base URL https://api-rho-eight-42.vercel.app