The Lumo Engine · private beta

The astrology API you can verify.

The same calculation engine behind Lumo, as an API. Vedic, KP, panchang, matching and numerology. Every position is cross-checked against authorities outside our own code, and every interpretive surface passes a six-layer safety guard. Plain JSON in, typed JSON out.

57/57 accuracy cross-checks passing, live

Real data sandbox · OpenAPI + typed SDKs · MCP for agents · flat pricing in ₹ & $

lumo · /v1/chart
POST /v1/chart
{
  "dob": "1990-01-15", "tob": "14:30",
  "lat": 13.0827, "lng": 80.2707,
  "tz": "Asia/Kolkata", "ayanamsa": "lahiri"
}
200 OK
{
  "ascendant": 123.45,
  "planets": {
    "moon": 45.23,   // Rohini
    "sun": 295.67,
    "saturn": 234.56
  }
}

Every position cross-checked against NASA/JPL & astro.com. open the live check

Verified against
  • The sky itself
  • NASA / JPL Horizons
  • astro.com (Astrodienst)
  • The Tamil panchangam
37

calculations in one /v1 contract, mirrored as 37 MCP tools

6

safety layers on every interpretive response

600+

engine tests, green in CI on every release

4

independent authorities every position is checked against

Why this, not a chatbot

Generic AI guesses. Lumo verifies.

Ask a general-purpose model where the Moon was at a birth moment and it will answer with confidence, but it has no ephemeris. It pattern-matches, the answer drifts run to run, and there is no source to check. Lumo computes the position and shows you the cross-check.

A general-purpose chatbot

“Which nakshatra is the Moon in for 15 Jan 1990, 14:30, Chennai?”
“The Moon is in Ashwini nakshatra, in Aries.”

⚠ No ephemeris behind it. Confident, source-less, and different the next time you ask. Nothing you can verify, or stand behind.

Lumo · POST /v1/chart

{ "planets": { "moon": 45.23 } }
// 45.23°  →  Rohini nakshatra

Cross-checked against NASA/JPL and astro.com: same position, two independent engines.

An exact degree, the same every time, with a published cross-check. Open the live report →

Examples shown for illustration. The proof isn't this page. It's the live accuracy report, where 57 of 57 cross-checks pass right now. Nothing here is a number we ask you to take on faith.

One call, real JSON

A birth chart in a single request, authenticated with a header, typed both ways. The same shape you'd get in production, not a brochure mockup.

POST /v1/chart

curl "$LUMO_API_URL/v1/chart" \
  -H "x-api-key: $LUMO_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "dob": "1990-01-15", "tob": "14:30",
    "lat": 13.0827, "lng": 80.2707, "tz": "Asia/Kolkata",
    "ayanamsa": "lahiri", "houseSystem": "whole-sign"
  }'

Response

{
  "ascendant": 123.45,
  "planets": {
    "sun": 295.67, "moon": 45.23, "mars": 178.9,
    "jupiter": 123.45, "venus": 289.2, "saturn": 234.56,
    "rahu": 320.1, "ketu": 140.1
  },
  "houses": {
    "system": "whole-sign", "ayanamsa": "lahiri",
    "cusps": [123.45, 153.45, 183.45, 213.45, 243.45, 273.45,
              303.45, 333.45, 3.45, 33.45, 63.45, 93.45]
  }
}

POST /v1/match/compatibility

// POST /v1/match/compatibility  →  strengths + what to nurture, never a verdict
{
  "summary": "Complementary strengths, especially in conversation and mutual care.",
  "strengths": [
    "Easy conversation — Mercury placements support rapport",
    "Mutual care — supportive Moons"
  ],
  "nurture": [
    "Money decisions — different risk appetites",
    "Honesty under stress"
  ],
  "remedies": [
    "Weekly check-ins before choices harden",
    "Honour each other's family traditions"
  ]
}

Matching returns strengths and what to nurture, framed without verdicts, because the engine's safety guard won't let a “doomed” reach your users.

Your whole astrology backend. One contract.

Stop stitching five services together for charts, timings, matching and interpretation. One versioned /v1 API, and the same calculations, the same key, three ways to call it.

Your app

birth date · time · place

Lumo Engine · /v1

deterministic · safety passed

Charts & vargas

Rasi · D-charts · houses

Dashas

Vimshottari · Yogini · Chara

KP & horary

sub-lords · 1–249

Panchang & muhurta

5 angas · Rahu Kalam

Matching

porutham · ashtakoota

Interpret + safety

grounded · six-layer guard

RESTOpenAPI 3, typed both ways
Typed SDKsTypeScript + Python
MCP37 tools, same schemas

Thirty-seven endpoints, one contract

Everything below is served from one versioned /v1 API, documented in OpenAPI with request and response schemas, and mirrored by an MCP server for AI agent integrations.

Charts & vargas

Rasi, divisional charts, house systems, computed, not looked up.

Dashas

Vimshottari, Yogini, Ashtottari and Chara periods with sub-periods.

Strengths & yogas

Complete six-fold Shadbala, Ashtakavarga with sodhana, yoga detection.

KP, including horary

Sub-lords, significators, and the full 1–249 horary number system.

Panchang & muhurta

The five angas with solved end-times, Rahu Kalam, horas, tarabala.

Matching

10-porutham and ashtakoota compatibility, framed without verdicts.

Numerology & peyarchi

Life path cycles and the slow transits Tamil readers actually follow.

A live accuracy report

An endpoint that shows our own cross-checks passing, or failing.

Grounded interpretation

A warm, safety passed reading, and what the guard did is in safetyFlags.

Safety check as a service

Run your own astrology text through our six-layer guard before you show it.

Don't take our word for it

Our accuracy isn't a self-reported percentage. Every position is cross-checked against authorities outside our own code: NASA/JPL, astro.com and the Tamil panchangam. These are real checks pulled from the engine this request, 57/57 passing right now.

  • Independent tool · astro.com

    Independent (astro.com): Chennai 1980-07-04 08:20

    Δsun 0.0000° Δmoon 0.0002° Δasc 0.0000°

    within 0.2°
  • Independent ephemeris · NASA/JPL

    Sun vs JPL — Chennai 1980-07-04 08:20

    engine 102.2792° vs JPL 102.2763° (1980-Jul-04 02:50 UT)

    within 0.02°
  • Drik panchangam

    Panchangam: Chennai 2026-01-15

    Dwadashi ends Δ1.0min · Jyeshtha ends Δ0.9min

    within 3 min
  • Golden chart · regression

    Golden chart: Chennai 1980-07-04 08:20

    Δsun 0.0000° Δmoon 0.0000° Δasc 0.0000°

    within 0.01°

37 of 37 astro.com reference charts independently transcribed. See the full report →

For AI agents

Built for agents, not just servers

The same 37 calculations are exposed as an MCP server, so Claude, Cursor, or your own agent can discover and call them with typed input and output. One key, the same schemas as REST, structured data back (not prose to parse).

POST /v1/mcp

// POST /v1/mcp — Streamable HTTP, one API key (same as REST).
// An agent discovers the whole catalog — 37 tools, typed in AND out:
{
  "tools": [
    { "name": "chart",               "title": "Sidereal chart" },
    { "name": "dashas_vimshottari",  "title": "Vimshottari dasha" },
    { "name": "match_compatibility", "title": "Compatibility summary" },
    { "name": "panchang",            "title": "Panchang for a date + place" },
    { "name": "interpret",           "title": "Grounded interpretation (safety-passed)" },
    { "name": "safety_check",        "title": "Astrology-content safety check" }
    // … 31 more
  ]
}

What you can build

From a matrimony match to a panchang feed to an AI assistant, the calculations are the same, the safety is the same, the contract is the same.

Matrimony & matching

match/compatibility + doshas return strengths and what to nurture, never a verdict. Safe for a matrimony or dating product that carries fear content liability.

Panchang & daily feeds

panchang + transits give tithi (lunar day), nakshatra (the day's star), Rahu Kalam, horas (planetary hours) and Sade Sati (Saturn's 7½-year passage over your Moon) — the timings Tamil readers actually follow.

AI assistants & agents

An MCP server exposes all 37 tools with typed input and output, so Claude, Cursor or your own agent can call the catalog and get structured data back.

Reports & horoscopes

chart + interpret produce a warm, safety passed reading, and whatever the guard changed is reported back to you in safetyFlags.

How Lumo compares

The trust axis is the whole point: most astrology APIs ask you to take accuracy and safety on faith. Ours are checkable.

LumoTypical astrology API
AccuracyCross-checked live against NASA/JPL, astro.com and the Tamil panchangam, and the report is public.A self-reported percentage, with no way to check it.
SafetyA six-layer guard inside the engine, so no death, illness or relationship verdicts reach your users.Returns whatever “the stars say,” fear and verdicts included.
SandboxReal engine data, not mocks. Every endpoint, free, before you pay.Mock responses, or no sandbox at all.
ContractOpenAPI 3, typed TypeScript + Python SDKs, and an MCP server (37 tools).Partial docs, REST only.
PricingFlat and published, in ₹ and $.“Contact sales to learn the price.”

Built to integrate

The developer experience surface, in full. During the beta we issue keys and SDKs directly, and the contract and the public proofs are live today.

OpenAPI 3 contract

Every endpoint typed both ways, request and response.

Typed SDKs

TypeScript and Python clients, issued with your key.

MCP server

37 tools for AI agents, the same schemas as REST.

Unauthenticated /v1/health

Engine and ephemeris versions, for your uptime probes.

Live accuracy report

Watch our cross-checks pass, or fail.

Verify it yourself →

Safety-check endpoint

Run your text through the guard before you show it.

Verify it yourself →

Built by the engineers

Made by the people who built the engine

Lumo's engine is its own work, with no reselling of someone else's API. We hold ourselves to three rules, and we publish the proof for each.

Computed, not looked up

Every position comes from a deterministic ephemeris, unit tested against reference charts, not a lookup table someone typed once and forgot.

Checked against the world

We cross-check ourselves against NASA/JPL, astro.com and the Tamil panchangam, and publish the result live. You never have to take our word for it.

Safe by construction

A six-layer guard sits inside the engine. No death, illness or relationship verdict can reach your users, even when a prompt asks for one.

Flat pricing, published

No “contact sales to learn the price.” This is what the engine costs, in rupees and dollars. Beta partners keep their launch price.

Sandbox

₹0· $0

1,000 calls a month

Real data, not mocks. The same engine and every endpoint, free. Build and demo a real integration before you pay anything.

Request a sandbox key
Most common

Starter

₹1,499/mo· $19/mo

25,000 calls a month

For a feature in production: a matching flow, a panchang feed, a daily horoscope. Email support from the people who built the engine.

Talk to us

Growth

₹6,499/mo· $79/mo

250,000 calls a month

For platforms. Priority support and an uptime commitment as we leave beta. Need more? Flat volume pricing, no surprises.

Talk to us

Scale

Millions of calls, a private deployment, or data residency needs? Flat volume pricing and an SLA as we leave beta. We'll quote a number, not a runaround.

Talk to us

All plans use the same engine, the same accuracy checks and the same safety rules. The tiers only change how many calls you get. During the beta, billing is by invoice, and card billing arrives with general availability.

Questions developers ask

How do I authenticate?
An x-api-key header on every request, the same key for REST and the MCP server. Keys are issued during the private beta. Self-serve keys and rotation arrive with general availability.
What are the rate limits?
The free sandbox is 1,000 calls a UTC month, 10 a minute. Paid plans raise the monthly cap, and the limit per minute scales with your plan. You get clear headers, never a silent cutoff.
What happens to the birth data I send?
It is used to compute the response and nothing else. No profile building, no resale. The calculation layer is pure and stateless, and only your usage counts are metered.
How accurate is it, really?
We verify calculation, not prediction. Every position is cross-checked against authorities outside our own code, and the report is public and updates on every release. See the live accuracy report
Is there an SLA?
Not yet. We are in private beta, and we would rather say so than promise uptime we have not measured. Growth plan partners get an uptime commitment as we leave beta, and the engine status is on /v1/health today.
Why should I trust the safety claim?
Because you can test it. POST your own astrology text to /v1/safety/check and watch the six-layer guard pass it, soften it, or refuse it. See the safety guard
What does it cost?
Flat, published pricing in ₹ and $. Sandbox free, Starter ₹1,499/$19, Growth ₹6,499/$79. No “contact sales to learn the price.”

Build with us

Tell us what you're building, whether a matching flow, a panchang feed or an AI assistant, and we'll set you up with a sandbox key and the docs.

Request beta access