
Astrology API Accuracy Benchmark
Benchmark / Open Source5 minIndependent proof, domain by domain. Every reference value cited, rerun monthly.
Ayurvedic dosha type, dinacharya and ritucharya with a verse cited on every value, not another dosha quiz.
Ayurvedic ConstitutionDosha TypeDinacharyaBrahma MuhurtaRitucharyaDaily AyurvedaAyurvedic RasaAyurvedic Guna
Included with every plan (at no extra cost)
Ayurveda API for dosha profiles, the dinacharya daily routine and the ritucharya seasonal regimen, with a verse cited on every value. Read the vata, pitta and kapha constitution from a verified sidereal birth chart, compute brahma muhurta and the six dosha periods from the real sunrise at any location, resolve the Ayurvedic season from actual solar ingress instants under two published conventions, and serve the catalogue of three doshas, fifteen sub-doshas, six tastes and twenty qualities straight from the primary texts. Deterministic, cacheable and localized. One key covers every RoxyAPI domain, with Remote MCP and typed SDKs.
Every Ayurveda calculation is covered by 13,405 automated tests per deploy, 3,620 of them gold-standard tests locked to the named references on our methodology page. See how we test.
Interpretations in English, Deutsch, Español, Français, हिन्दी, Português, Русский, Türkçe, one query parameter away.
Typed SDKs for TypeScript, Python, PHP, C#, and Go, generated from the live spec, each with an AGENTS.md so your coding assistant calls the Ayurveda API correctly.
A Remote MCP server exposes every endpoint as a tool for Claude, ChatGPT, Cursor and any MCP client, with no local install. Opt-in compact responses cut the tokens your agent reads by roughly 40 to 52 percent, and one call stays one request.
Paste a widget into any site builder, install the WordPress plugin, or start from an MIT template you can white-label. Results render from the Ayurveda API with no backend.
The depth behind every line above, written out in full.
Want to try without writing code? Try this domain live in API playground →
npm install @roxyapi/sdkimport { createRoxy } from '@roxyapi/sdk'
const roxy = createRoxy(process.env.ROXY_API_KEY!)
const { data } = await roxy.ayurveda.get(/* ... */)pip install roxy-sdkfrom roxy_sdk import create_roxy
roxy = create_roxy("your-api-key")
result = roxy.ayurveda.get(...) # async: await roxy.ayurveda.get_async(...)composer require roxyapi/sdkuse function RoxyAPI\Sdk\createRoxy;
$roxy = createRoxy(getenv('ROXY_API_KEY'));
$result = $roxy->ayurveda->get(/* ... */);dotnet add package RoxyApi.Sdkusing RoxyApi;
var roxy = new RoxyClient(Environment.GetEnvironmentVariable("ROXY_API_KEY")!);
// await roxy.Ayurveda.<resource>.GetAsync() or .PostAsync(new() { ... })go get github.com/RoxyAPI/sdk-goimport roxyapi "github.com/RoxyAPI/sdk-go"
roxy, _ := roxyapi.NewRoxy(os.Getenv("ROXY_API_KEY"))
// resp, err := roxy.Ayurveda.<Method>(context.Background(), nil)claude mcp add --transport http \
roxy-ayurveda https://roxyapi.com/mcp/ayurveda \
--header "X-API-Key: YOUR_KEY"AI agents auto-discover all endpoints as callable tools. Zero configuration. Responses can come back token-optimized and lossless, cutting the tokens your agent spends per call by roughly 40 to 52 percent.
Full MCP setup guidecurl -H "X-API-Key: YOUR_KEY" \
https://roxyapi.com/api/v2/ayurveda/Want to ship faster? Clone a free template and white-label it as your own app.
Building with Cursor, Claude Code, or Bolt? Use our AI prompts to generate a complete app.
Building on WordPress? Install the RoxyAPI plugin and drop a shortcode, no code required.
{
"frame": {
"ayanamsa": "lahiri",
"ayanamsaDegrees": 23.728208791839048
},
"lagnaSign": "leo",
"moonSign": "scorpio",
"factors": [
{
"id": "lagna-sign",
"input": "leo",
"doshas": [
"pitta"
],
"weight": 2,
"source": {
"text": "Brihat Jataka",
"chapter": "18",
"verse": "note to 20, the Satyacharya extract",
"translation": "N. Chidambaram Iyer",
"year": 1885,
"publicDomain": true,
"note": "Chapter 18, not 19: the running head on the printed pages reads CH. 19 while the chapter opening precedes the list and chapter 19 begins after the Pisces entry, in two independent scans and in the Rao translation. It is an appended authority the translator credits to Satyacharya, never a verse of Varahamihira. All twelve rows agree across both translations; the two translations order the pair of humour words differently in seven rows, which carries no weight because the sets are identical."
}
},
{
"id": "moon-sign",
"input": "scorpio",
"doshas": [
"pitta"
],
"weight": 1,
"source": {
"text": "Brihat Jataka",
"chapter": "18",
"verse": "20",
"translation": "N. Chidambaram Iyer",
"year": 1885,
"publicDomain": true,
"note": "The verse expressly equates the effects of a sign occupied by the Moon with the effects of the same sign rising, which is what licenses reading the rising-sign table across to the Moon. The humours themselves come from whichever sign table the signDoshaScheme convention names, so this citation covers the read-across and not the table. Hora Sara chapter 29 states a bodily temperament from the Moon sign directly and is cited by reference only, because no public-domain English of it exists."
}
},
{
"id": "strongest-planet",
"input": "Mars Sun Moon",
"doshas": [
"vata",
"pitta",
"kapha"
],
"weight": 2,
"source": {
"text": "Saravali",
"chapter": "38",
"verse": "5",
"translation": "R. Santhanam",
"year": 1983,
"publicDomain": false,
"note": "Referenced, never quoted: no public-domain English exists. Three limits ride with it. The verse names only the five non-luminaries while shadbala ranks seven grahas; it says strengths rather than shadbala, so the choice of metric is ours; and its own frame is the five mahabhutas, with the humours named after them. The blend it licenses is what the composite share split rests on."
}
}
],
"composite": {
"vata": 7,
"pitta": 87,
"kapha": 6,
"dominant": "pitta",
"secondary": "vata",
"type": "pitta",
"convention": "roxyapi/v1",
"weighting": {
"lagnaSign": 2,
"moonSign": 1,
"strongestPlanet": 2,
"strongPlanetThreshold": 0.9,
"dualTypeMargin": 10
}
},
"strengthRanking": [
{
"graha": "Mars",
"totalVirupas": 525.49,
"rank": 1,
"strong": true
},
{
"graha": "Sun",
"totalVirupas": 521.2,
"rank": 2,
"strong": true
},
{
"graha": "Moon",
"totalVirupas": 481.89,
"rank": 3,
"strong": true
},
{
"graha": "Venus",
"totalVirupas": 468.66,
"rank": 4,
"strong": false
},
{
"graha": "Jupiter",
"totalVirupas": 460.58,
"rank": 5,
"strong": false
},
{
"graha": "Mercury",
"totalVirupas": 436.18,
"rank": 6,
"strong": false
},
{
"graha": "Saturn",
"totalVirupas": 347.83,
"rank": 7,
"strong": false
}
],
"planetDoshas": [
{
"graha": "Sun",
"sanskritName": "sūrya",
"doshas": [
"pitta"
],
"dhatu": "bone",
"dhatuSanskrit": "asthi",
"doshaSource": {
"text": "Brihat Jataka",
"chapter": "2",
"verse": "8 to 11",
"translation": "N. Chidambaram Iyer",
"year": 1885,
"publicDomain": true,
"note": "Confirmed row for row against the independent B. Suryanarain Rao translation. The Moon and Venus rows read vata before kapha in BOTH translations, which is the reading widely circulated material diverges from. The verses cover the seven grahas only, so Rahu and Ketu carry no humour here and none is supplied."
},
"dhatuSource": {
"text": "Brihat Jataka",
"chapter": "2",
"verse": "11",
"translation": "N. Chidambaram Iyer",
"year": 1885,
"publicDomain": true,
"note": "The two translations disagree on two of the seven rows. Saturn is snayu, which is attested as sinew, tendon, muscle and nerve alike, so the Sanskrit ships and no English is chosen; Iyer reads muscles and Rao reads nerves. These seven are not the sapta-dhatu set and must not be joined to one."
}
},
{
"graha": "Moon",
"sanskritName": "candra",
"doshas": [
"vata",
"kapha"
],
"dhatu": "blood",
"dhatuSanskrit": "rakta",
"doshaSource": {
"text": "Brihat Jataka",
"chapter": "2",
"verse": "8 to 11",
"translation": "N. Chidambaram Iyer",
"year": 1885,
"publicDomain": true,
"note": "Confirmed row for row against the independent B. Suryanarain Rao translation. The Moon and Venus rows read vata before kapha in BOTH translations, which is the reading widely circulated material diverges from. The verses cover the seven grahas only, so Rahu and Ketu carry no humour here and none is supplied."
},
"dhatuSource": {
"text": "Brihat Jataka",
"chapter": "2",
"verse": "11",
"translation": "N. Chidambaram Iyer",
"year": 1885,
"publicDomain": true,
"note": "The two translations disagree on two of the seven rows. Saturn is snayu, which is attested as sinew, tendon, muscle and nerve alike, so the Sanskrit ships and no English is chosen; Iyer reads muscles and Rao reads nerves. These seven are not the sapta-dhatu set and must not be joined to one."
}
},
{
"graha": "Mars",
"sanskritName": "maṅgala",
"doshas": [
"pitta"
],
"dhatu": "marrow",
"dhatuSanskrit": "majjā",
"doshaSource": {
"text": "Brihat Jataka",
"chapter": "2",
"verse": "8 to 11",
"translation": "N. Chidambaram Iyer",
"year": 1885,
"publicDomain": true,
"note": "Confirmed row for row against the independent B. Suryanarain Rao translation. The Moon and Venus rows read vata before kapha in BOTH translations, which is the reading widely circulated material diverges from. The verses cover the seven grahas only, so Rahu and Ketu carry no humour here and none is supplied."
},
"dhatuSource": {
"text": "Brihat Jataka",
"chapter": "2",
"verse": "11",
"translation": "N. Chidambaram Iyer",
"year": 1885,
"publicDomain": true,
"note": "The two translations disagree on two of the seven rows. Saturn is snayu, which is attested as sinew, tendon, muscle and nerve alike, so the Sanskrit ships and no English is chosen; Iyer reads muscles and Rao reads nerves. These seven are not the sapta-dhatu set and must not be joined to one."
}
},
{
"graha": "Mercury",
"sanskritName": "budha",
"doshas": [
"vata",
"pitta",
"kapha"
],
"dhatu": "skin",
"dhatuSanskrit": "tvak",
"doshaSource": {
"text": "Brihat Jataka",
"chapter": "2",
"verse": "8 to 11",
"translation": "N. Chidambaram Iyer",
"year": 1885,
"publicDomain": true,
"note": "Confirmed row for row against the independent B. Suryanarain Rao translation. The Moon and Venus rows read vata before kapha in BOTH translations, which is the reading widely circulated material diverges from. The verses cover the seven grahas only, so Rahu and Ketu carry no humour here and none is supplied."
},
"dhatuSource": {
"text": "Brihat Jataka",
"chapter": "2",
"verse": "11",
"translation": "N. Chidambaram Iyer",
"year": 1885,
"publicDomain": true,
"note": "The two translations disagree on two of the seven rows. Saturn is snayu, which is attested as sinew, tendon, muscle and nerve alike, so the Sanskrit ships and no English is chosen; Iyer reads muscles and Rao reads nerves. These seven are not the sapta-dhatu set and must not be joined to one."
}
},
{
"graha": "Jupiter",
"sanskritName": "guru",
"doshas": [
"kapha"
],
"dhatu": "fat",
"dhatuSanskrit": "medas",
"doshaSource": {
"text": "Brihat Jataka",
"chapter": "2",
"verse": "8 to 11",
"translation": "N. Chidambaram Iyer",
"year": 1885,
"publicDomain": true,
"note": "Confirmed row for row against the independent B. Suryanarain Rao translation. The Moon and Venus rows read vata before kapha in BOTH translations, which is the reading widely circulated material diverges from. The verses cover the seven grahas only, so Rahu and Ketu carry no humour here and none is supplied."
},
"dhatuSource": {
"text": "Brihat Jataka with the commentary of Bhattotpala",
"chapter": "2",
"verse": "11",
"translation": null,
"year": null,
"publicDomain": true,
"note": "The mula reads vasa for Jupiter and the commentator glosses it himself as medas, fat. Iyer renders it flesh and Rao renders it the brain, and the gloss rules both out, so this row cites the commentary rather than either translation."
}
},
{
"graha": "Venus",
"sanskritName": "śukra",
"doshas": [
"vata",
"kapha"
],
"dhatu": "the generative essence",
"dhatuSanskrit": "śukra",
"doshaSource": {
"text": "Brihat Jataka",
"chapter": "2",
"verse": "8 to 11",
"translation": "N. Chidambaram Iyer",
"year": 1885,
"publicDomain": true,
"note": "Confirmed row for row against the independent B. Suryanarain Rao translation. The Moon and Venus rows read vata before kapha in BOTH translations, which is the reading widely circulated material diverges from. The verses cover the seven grahas only, so Rahu and Ketu carry no humour here and none is supplied."
},
"dhatuSource": {
"text": "Brihat Jataka",
"chapter": "2",
"verse": "11",
"translation": "N. Chidambaram Iyer",
"year": 1885,
"publicDomain": true,
"note": "The two translations disagree on two of the seven rows. Saturn is snayu, which is attested as sinew, tendon, muscle and nerve alike, so the Sanskrit ships and no English is chosen; Iyer reads muscles and Rao reads nerves. These seven are not the sapta-dhatu set and must not be joined to one."
}
},
{
"graha": "Saturn",
"sanskritName": "śani",
"doshas": [
"vata"
],
"dhatu": "sinews and tendons",
"dhatuSanskrit": "snāyu",
"doshaSource": {
"text": "Brihat Jataka",
"chapter": "2",
"verse": "8 to 11",
"translation": "N. Chidambaram Iyer",
"year": 1885,
"publicDomain": true,
"note": "Confirmed row for row against the independent B. Suryanarain Rao translation. The Moon and Venus rows read vata before kapha in BOTH translations, which is the reading widely circulated material diverges from. The verses cover the seven grahas only, so Rahu and Ketu carry no humour here and none is supplied."
},
"dhatuSource": {
"text": "Brihat Jataka",
"chapter": "2",
"verse": "11",
"translation": "N. Chidambaram Iyer",
"year": 1885,
"publicDomain": true,
"note": "The two translations disagree on two of the seven rows. Saturn is snayu, which is attested as sinew, tendon, muscle and nerve alike, so the Sanskrit ships and no English is chosen; Iyer reads muscles and Rao reads nerves. These seven are not the sapta-dhatu set and must not be joined to one."
}
}
],
"summary": "The chart reads pitta, and pitta carries the largest share of it at 87 percent. Several grahas share the strength in this chart, so the reading is a blend rather than one humour, which is what the classical rule on several strong planets allows. The reading is built from three cited factors: the rising sign, the sign the Moon occupies, and the strongest graha by shadbala. The weights across those factors are a RoxyAPI convention and are published in this response, because the primary texts give the factors and never the weighting.",
"conventions": {
"signDoshaScheme": "satyacharya",
"ayanamsa": "lahiri"
},
"meta": {
"disclaimer": "For general wellness and cultural interest only. This is not medical advice, and it is unrelated to the diagnosis, cure, mitigation, prevention or treatment of any disease or condition. Consult a qualified professional."
}
}Structured JSON with documented fields. Not hallucinated text. See all endpoints
Render Ayurveda API responses without building charts yourself. Install the npm package and drop these into Next.js, React, Vue, Svelte, Angular, or plain HTML, or embed the very same component on Squarespace, Wix, or WordPress by pasting one snippet, with no backend and no build step. They belong to one library that covers the entire spiritual stack rather than astrology alone, MIT licensed and included in every plan at no extra cost, never a separate product and never an upsell. The Ayurveda API calculations, the interface that renders them, and the Remote MCP your agent calls, all behind one key, end to end.
| Element | Renders |
|---|---|
| <roxy-dosha-constitution> | Vata, pitta and kapha shares as one bar with the dominant humour and the cited factors behind it |
Clone. Edit. Ship. Free and open source by Team Roxy.

Independent proof, domain by domain. Every reference value cited, rerun monthly.
Browse all template or use AI prompts to generate a custom app.
The products teams ship on the Ayurveda API.
Every one is live in the public OpenAPI spec and callable as an MCP tool. Click any endpoint to view detailed documentation, parameters, and response examples.
The receipts are public: the testing methodology, the open MIT benchmark, the transparency report, and the live API playground. Let ChatGPT, Perplexity, or Claude search the web and tell you what they find about RoxyAPI accuracy, MCP, SDKs, and pricing.
Opens a live web search in a new tab.
Your agent uses calculated charts and readings in its replies, with your model and your own voice. Planetary positions are verified against NASA JPL Horizons. No local setup, no AGPL, no hosted-AI markup.
Audit it yourself: every Ayurveda endpoint runs live in the API playground
It turns birth data, a date and a location into the Ayurvedic values an app needs: the vata, pitta and kapha constitution, the brahma muhurta window, the six dosha periods of the day and night, and the season with the regimen the primary text gives for it. Every value carries the work, chapter and verse it comes from, and every response states that it is for general wellness and cultural interest rather than medical advice. One key also unlocks every other RoxyAPI domain and a Remote MCP server.
The classical Jyotish texts do assign a humour to each graha and to each rising sign, and one of them states that the strongest planet imparts its humour to the native. This API scores exactly the three factors that carry such a rule and returns the verse behind each. What no primary text states is how to weigh those factors against each other, so the blend that produces the percentage split is labelled as a RoxyAPI convention, versioned, and published with its own weights inside the response.
It opens 96 minutes before sunrise and closes 48 minutes before it, so it moves with the date and the place. Send a date, a latitude and a longitude and the API returns both instants along with sunrise, sunset and the six dosha periods. The window is a fixed offset rather than a share of the night, which is the reading the classical commentary settles on outright, and calculators that scale it to the night length are following the reading it rejects.
Send a date and the API resolves the ritu from the real solar ingress instants and returns the season with its exact opening and closing times, the half of the year the sun is in, where each dosha stands in its yearly cycle, and the behaviour items the chapter gives. Boundaries are measured in the tropical zodiac by default, which is what published almanacs use for seasons; the sidereal reading is available as a convention and runs about 24 days later.
No. Every response from this API carries a scope statement in the requested language: it is for general wellness and cultural interest only, it is not medical advice, and it is unrelated to the diagnosis, mitigation, prevention or treatment of any condition. No route accepts a health complaint, no field names a substance, and no endpoint returns a recommendation of one. Anyone with a health question should speak to a qualified professional.
The Charaka Samhita and the Ashtanga Hridaya for the doshas, the tastes, the qualities, the daily routine and the seasonal regimen, and the Brihat Jataka for the graha and sign rules the constitution reads. Every value ships with the work, chapter and verse it comes from, and with whether the cited translation may be quoted or only referenced. Where two texts disagree, both readings are returned rather than one being chosen quietly.
Ayurvedic dosha type, dinacharya and ritucharya with a verse cited on every value, not another dosha quiz.
All 18 domains included with every plan. Every endpoint, MCP server, SDK, and templates.
Plans from $39/mo, starting at $1.80 per domain on annual billing. No credit card required for testing.
View Pricing & Get API KeyHi, I am Rosie, your guide to the RoxyAPI insight tools.
Ask me to read your birth chart, pull a card, or map your numbers, and I will interpret what it means for you. Unlike most AIs, I never make the numbers up: every reading runs on real, verified calculations. Curious about the API, pricing, or docs instead? Ask me that too.