◆ New · Astro Chatbot API

Meet AI Astrologer that reads the real chart, not the horoscope column

Add a conversational AI Astrologer to your app with one API call. Your users ask anything in their own words — DivineAPI pulls their birth chart, grounds every sentence in it, and answers back in their own language.

Grounded in the real chart • Answers in any language • Pay per answer, not per token • No SDK needed

Grounded answers,
not generic horoscopes

Every reply is checked against the real natal chart before it's sent back — exact degrees, houses and placements, explained in plain language.

  • One endpoint — POST /chat — covers every question, every session
  • 4 plans, 104,000 to 2,350,000 credits a month
  • One flat cost per depth — quick 20 · standard 30 · deep 50 credits, however long the reply

Three steps. The hard part is ours.

You never calculate a chart, pick a house system or write an astrology prompt. You send the question and we do the reading.

Send the question, and the birth details once

One JSON request to POST /chat with the user's message, a session_id and their birth data. Later messages in the same session skip the birth data entirely.

We fetch and compress the real chart

Planets, houses, dashas and transits are computed with Swiss Ephemeris precision, then distilled to what the question actually needs. Cached per session, so follow-ups are fast.

A grounded answer comes back, written for a person

Every claim is checked against the chart before it leaves. You get the answer, what it cost, and what is left in your wallet. Stream it token by token or wait for the whole reply.

Not a chatbot with a zodiac costume

Generic AI guesses. AI Astrologer is handed the actual chart and is not allowed to make things up.

Grounded, never guessed

Answers reference exact placements, houses and dasha dates from the chart. A code check and an AI judge verify each reply, and the result is reported back to you as grounding: ok.

Remembers the conversation

"And my career?" or "what about him?" resolve on their own. The thread and birth details live server-side against your session_id. Fetch or delete any session whenever you need.

Any language

Set language to Hindi, Spanish or any language name and it replies in that language — English by default if left out.

One request in, one answer out

Plain JSON over HTTPS. Your API key goes in the body, no headers, no OAuth, no SDK to install. Same key as the rest of DivineAPI.

Request
POST https://ask.divineapi.com/chat
{
  "api_key": "your_api_key",
  "user_id": "u_8812",
  "session_id": "s_5f21",
  "message": "When will I get married?",
  "depth": "standard",
  "language": "english",
  "full_name": "Priya Sharma",
  "day": "24",
  "month": "05",
  "year": "1996",
  "hour": "14",
  "min": "40",
  "gender": "female",
  "place": "New Delhi",
  "lat": "28.7041",
  "lon": "77.1025",
  "tzone": "5.5"
}
Response · 200 OK
{
  "request_id": "7659de5e21cb4124",
  "answer": "Your strongest marriage window appears to be from late 2026 through 2028, with especially meaningful developments between now and November 29, 2026, during your Venus-Mercury period...",
  "band": "standard",
  "credits_charged": 30,
  "credits_remaining": 29370,
  "grounding": "ok",
  "chart_cache": {
    "hits": 0,
    "misses": 16
  },
  "usage": {
    "input_tokens": 7048,
    "output_tokens": 250
  },
  "latency_ms": {
    "chart_fetch": 3137,
    "time_to_first_token": 5242,
    "total": 10273
  }
}

Set "stream": true to receive the answer as it is written • Charged only when an answer succeeds • Guardrail replies come back with blocked: true and cost nothing • No headers, no OAuth — the same api_key as the rest of DivineAPI

What each field means

api_keyYour DivineAPI key — the same one used across the rest of the platform
user_idYour own identifier for this end user, for per-user usage reporting
session_idGroups a conversation. Send birth details once per session_id; later turns can skip them
messageThe user's question, in their own words
depthquick, standard or deep — how much of the chart is read, and what it costs: 20 / 30 / 50 credits
languageOptional. Reply language, e.g. "hindi" — defaults to English if left out
length_capOptional. short, medium or full — how long the written answer is
full_nameUsed in the reading's phrasing — not required for the chart calculation itself
day, month, yearBirth date
hour, minBirth time, 24-hour clock
genderUsed for phrasing pronouns in the reply
placeBirthplace, shown back for context
lat, lonBirth location coordinates — used to compute the actual chart
tzoneBirth timezone offset, e.g. 5.5 for IST

Pay per answer. Bigger plan, cheaper answer.

Every plan has the same features. Only the credit pool and the price per credit change. Prices shown in USD based on your location.

Quick answerReads the essentials of the chart 20credits
Standard answerThe default. Balanced depth and speed 30credits
Deep answerReads the whole chart, dashas and transits 50credits

Spark

For building, testing and small apps

$29 / month
104,000credits / month

$0.00028 per credit · 358,621 per $100

Base rate Start Trial

What one message costs

DepthCredits/ month
Quick 20 5,200
Standard 30 3,466
Deep 50 2,080

Sage

For apps with a few thousand active users

$59 / month
294,000credits / month

$0.00020 per credit · 498,305 per $100

29% cheaper per credit than Spark Start Trial

What one message costs

DepthCredits/ month
Quick 20 14,700
Standard 30 9,800
Deep 50 5,880

Cosmos

For high-volume platforms and resellers

$229 / month
2,350,000credits / month

$0.00010 per credit · 1,026,201 per $100

65% cheaper per credit than Spark Start Trial

What one message costs

DepthCredits/ month
Quick 20 117,500
Standard 30 78,333
Deep 50 47,000

All plans: 14-day free trial, billed monthly, unused credits do not roll over • Failed and guardrail replies are never charged • Billed separately from your REST API and MCP plans

Everything you need to run it, not just try it

Session history and deletion

GET /sessions, GET /session/{id} to restore a chat screen, DELETE /session/{id} when a user asks you to erase their data.

Balance and usage endpoints

GET /balance for the wallet, GET /usage for a day-by-day breakdown you can reconcile against your own billing.

Cost in every response

Each answer reports the credits charged and remaining, plus chart-cache hits and latency, so you can meter per user in real time.

One wallet, many users

Keep the API key server-side and pass your own user_id. Usage is recorded per user for reporting; billing is one account.

Streaming or whole

Stream deltas for a live typing feel, or wait for the full JSON. Same endpoint, one flag.

Liveness check

GET /health needs no key and is never charged. Point your uptime monitor at it.

Frequently asked questions

Is this the same quota as my REST API / MCP plan?
No. AI Astrologer is billed separately, in credits, against its own 4 plans below — it does not draw from your existing DivineAPI request quota.
What do depth and length_cap actually control?
depth (quick / standard / deep) decides how much chart data is analyzed for the answer — more depth reads more of the chart. length_cap (short / medium / full) decides how long the written answer is. They are independent knobs.
How many credits does one message cost?
A flat amount per depth, regardless of length_cap: quick = 20 credits, standard = 30 credits, deep = 50 credits per message.
Do credits carry over if I don't use them?
Credits are attached to your plan's active subscription period and refresh each billing cycle.
Is there a free trial?
Yes — start a 14-day free trial, grab your key, and send your first question in under a minute.
◆ 14-day free trial

Give your product a real AI Astrologer

Get an API key, send one request, and read the first grounded answer in under a minute. No SDK, no prompt engineering, no chart maths.