Skip to content
RoxyAPI
Get API Key
NASA JPL Verified13,957 Tests, 3,683 Gold StandardNo AGPL. No Wrappers.Arcsecond Accuracy

Roxy Ephemeris: the astrology calculation engine

The astrology API engine that publishes its receipts: an MIT licensed benchmark, re-runnable, per domain.

Roxy Ephemeris reads the NASA JPL DE440 ephemeris directly, so NASA JPL Horizons measures our own work, not a library we wrap. The open benchmark checks 17 domains, each against its own named authority, and returned 2,701 of 2,701 values within their stated tolerance, every figure published with its maximum in the live report and its PDF.
Not Swiss Ephemeris. Not a wrapper. Not AGPL.

Sun, Moon, planets and Chiron vs NASA JPL Horizons

All 231 within 0.32 arcseconds, median 0.05 (0.00001 degrees)

Everyday charts alone: 0.09 max. The 0.32 we publish comes from the edge cases.

It is our benchmark, built so that nobody needs our word for it: the reference values come from authorities we do not control, every run executes on a public GitHub runner whose log anyone can open, and the dataset, script and pass bands are open to rerun against RoxyAPI or any other provider.

Age is not a method. Simulation is.

A newer astrology API is safe to build on when simulation finds its edge cases before a user does. Years in production find them one bug report at a time; RoxyAPI meets them in a test run first, domain by domain, on every deploy, and publishes the receipts.

An AI agent can now generate a convincing API surface; it breaks the first time a real birth lands on a boundary. The difference between a demo and infrastructure is the test corpus behind every domain, and ours is published. The usual advice for choosing a provider is to spend an afternoon on a birth that falls on an old daylight saving change. Here that check, and the rest of its class, is a test that runs before every deploy. Engine work began in 2020, the platform has served production traffic since 2024, and it now answers 4.5M+ requests a month, every one computed by the same tested engine.

Engine work

6 years

since January 2020

In production

2 years

since January 2024

Requests a month

4.5M+ requests

measured September 2026

Every deploy

13,957 automated tests

3,683 of them gold standard

Where the edge cases are found, before any user

Every test here is picked to break a formula, not to pass one. An everyday chart is the easy case any engine gets right, so the suites, like the public benchmark, are built from leap days, skipped daylight saving hours, polar latitudes, instants seconds from a boundary and births long before 2000.

Boundary births, domain by domain

The inputs that sit on a domain edge are pinned as tests that run on every deploy, among them the hour a daylight saving change skips, midnight on a solar clock for a BaZi day pillar, a Human Design node under two arcseconds past a gate line, a birth at the South Pole in the first second of 2000, and both ends of the 1550 to 2650 ephemeris span.

A generated horoscope corpus

The daily horoscope engine composes every sign across two full years, and the whole corpus is graded before any change to it ships.

The whole API surface, diffed

Before a change to any domain ships, every response the API returns is captured, compared with the last release and every difference explained.

A named reference for every calculated domain

3,683 gold-standard tests pin 13 domains to their authorities: NASA JPL Horizons for positions, the Hong Kong Observatory tables and the classical Chinese texts for BaZi and feng shui, printed classical texts for Vedic matchmaking, Vastu and Ayurveda, published bodygraphs for Human Design. Every new assertion is broken once on purpose to prove it can fail.

The benchmark is the public half. RoxyAPI published it first, in April 2026, and it now checks 17 domains, each in its own folder against its own authority, from real birth charts spanning 1879 to 2011 to calendars, time zones and printed rules. It reruns every month against live production, publishes every value with its maximum, and points at any provider, us included.

Legacy, taped to look modern, has happened before.

The mainframe with a website

In April 2020 New Jersey took unemployment claims through a website in front of 40 year old mainframes, and when claims surged the governor asked the public for COBOL programmers. Forty years proved the system on the load it had seen, not the load it met next.

The horseless carriage

The first cars were sold as horseless carriages: a carriage body, tiller steering, an engine under the floorboards, named for what they had removed. A desktop-era engine behind a JSON endpoint is the same vehicle with a new name.

Badge engineering

Carmakers have long sold one car under several badges, with a different grille and a new name on an otherwise identical vehicle. A rented calculation engine with a new surface every season is that car, and the engine underneath has not changed.

The terminal in a browser

Mainframe teams gave character-based terminal applications a web front end and a modern appearance, while the application behind the screen ran on unchanged. An MCP server or an AI chat endpoint bolted onto the same wrapped engine is that front end.

Age tells you a system survived its past. Simulation tells you it survives the case nobody has sent yet.

What you get instead

How small an arcsecond is

A degree splits into 60 arcminutes and each arcminute into 60 arcseconds, so one arcsecond is one 3,600th of a degree. Every accuracy figure on this page is in arcseconds, and the boundaries a reading turns on are enormous beside them.

A zodiac sign

108,000 arcseconds

one of twelve

A nakshatra

48,000 arcseconds

one of 27 lunar mansions

A Human Design gate

20,250 arcseconds

one of 64 on the wheel

A navamsa

12,000 arcseconds

the finest common Vedic division

Our median deviation

0.05 arcseconds

0.00001 degrees, against NASA JPL Horizons

One arcsecond is one 3,600th of a degree, the width of a two centimetre coin seen from four kilometres away and about sixty times finer than the human eye can resolve, so at the benchmark median a planet must already sit within 0.05 arcseconds (0.00001 degrees) of a sign line for its sign to differ, about one chart in 1,080,000 for any one body.

Open benchmark, MIT licensed, re-run it yourself

The benchmark exists so that nobody has to take an accuracy claim on trust, ours included: the dataset, the reference values and the script are published, so a buyer can measure the answer instead of reading one. The cases are built to break formulas, not to resemble everyday birth data: leap day and daylight saving births, high latitudes, instants seconds from a sign, nakshatra, tithi or gate boundary, a planet at its station and calendar year edges, so an ordinary chart is an easier test than any of them.

For the Sun, Moon, planets and Chiron, RoxyAPI returned 231 of 231 positions within 0.32 arcseconds (0.00009 degrees) of NASA JPL Horizons, at a median deviation of 0.05 arcseconds (0.00001 degrees). The open RoxyAPI benchmark checks 17 domains, each against its own named authority, from planets, angles and sidereal charts to calendars, time zones and printed rules, and returned 2,701 of 2,701 values within their stated tolerance; only tarot, crystals, dreams and angel numbers, which have no outside value to measure, are left out.

The live report and its PDF show every domain, quantity and chart with its median and maximum. The astrology-api-benchmark repo publishes every cited reference value, its source and pass band, and the runnable Python. Its birth charts span 1879 to 2011, high latitudes, daylight-saving edges, half-hour offsets, the Samoa 2011 calendar skip and the Y2K rollover, and a base URL plus one response mapping per domain points it at any other astrology API.

What the benchmark measures, and what it deliberately does not

Positions are one slice of an astrology API. Angles, sidereal frames, calendars, time zones and printed rules each fail in their own way, so each benchmark domain carries its own authority: NASA JPL Horizons for where a body is, the US Naval Observatory, the Hong Kong Observatory and the IANA Time Zone Database for time, and published definitions and printed texts for the rules. What it leaves out is stated beside what it covers, because a benchmark that names no limit is a marketing number.

Measured by the benchmark, each against its authority

Planets and Chiron, against NASA JPL Horizons
Apparent geocentric longitudes of the Sun, Moon, planets and Chiron for 21 birth charts from 1879 to 2011, with the 0 to 360 wraparound handled rather than assumed: all within 0.32 arcseconds (0.00009 degrees). Horizons prints the older IAU 1976/1980 frame model while Roxy Ephemeris uses IAU 2006/2000B, so part of every deviation is a frame-model term that grows with each century from 2000, and the 1879 chart carries the maximum.
Time zones, the time scale and the chart angles
The API receives the local birth time with its offset or zone name, exactly as a user sends it, and a wrong resolution moves every value; the Moon, at 13 degrees a day, shows it first. RoxyAPI birth times carry the IERS UT1 correction, so its Ascendant, Midheaven and Placidus cusps sit within 1.50 arcseconds (0.00042 degrees) of values computed from NASA JPL Horizons sidereal time and obliquity, at a median of 0.12 arcseconds (0.00003 degrees).
Sidereal charts, panchang, forecast and Human Design
Lahiri longitudes, nakshatra, pada, Navamsa and the Vimshottari start against NASA JPL Horizons with the published Lahiri definition; tithi, yoga and karana by the classical definitions; sunrise and moon phases against the US Naval Observatory; sign ingress, station and transit instants against Horizons; the Human Design instant from the 88 degree solar arc.
Calendars, time zones and printed rules
Solar terms, the Lunar New Year and four pillars against the Hong Kong Observatory tables; the Mayan Long Count, Tzolkin and Haab by the GMT correlation; the Hebrew calendar and gematria; kua and flying stars from the printed Xuan Kong texts; the Vastu entrance pada from the Brihat Samhita; Ayurveda seasons, numerology, biorhythm, the King Wen sequence and IANA time zones.

Not measured here, and the authority that does

Asteroids, fixed stars and the other house systems
The four asteroids against NASA JPL Horizons small-body integrations, fixed stars against SIMBAD, and Koch, Equal and Whole Sign cusps against Swiss Ephemeris, the frame authority, within 1 arcsecond. Each is pinned by a gold-standard test on every deployment.
Shadbala, KP sub lords, doshas and the deeper divisional charts
Derived layers whose authority is a printed worked example or a specialist reference rather than a public table a monthly run can pull unattended. Every one names its reference in the register below, and a gold-standard test pins the values.
Interpretation
Every domain returns interpretation, and editorial text has no external value to be right or wrong against. That is why tarot, crystals, dreams and angel numbers have no benchmark folder, and why our dream interpretation and angel numbers rows are absent from the register rather than given an invented authority.

How to read an arcsecond claim

An astrology API checked against the calculation library it wraps is running a self-test, and one checked against NASA JPL Horizons measures the authors of that library, not the vendor. Roxy Ephemeris reads the NASA JPL DE440 ephemeris directly, so its deviation from Horizons measures RoxyAPI work end to end: time zones, light time, aberration and the frame, including the gap between the IAU 1976/1980 frame model Horizons prints and the IAU 2006/2000B model current ephemerides use, which grows with each century from 2000. A smaller median is not a more accurate engine, and a check that drops bodies, dates or charts, or publishes only its median, hides its worst case, which is why RoxyAPI publishes every figure with its maximum. Compare sample size, date span, frame model and the maximum, not only the median; the public benchmark lets you re-run both.

Reference data, never dependencies.

The references named on this page are what RoxyAPI is checked against, not what it runs on. Each supplies values that are pinned in tests; none supplies a calculation at runtime.

Computed in-process, never fetched

Every value an API call returns is computed inside the request by Roxy Ephemeris, from the NASA JPL DE440 ephemeris opened once when the service starts. No reference named on this page runs in the stack, is called at runtime, or is proxied: each supplies values pinned in tests, and no code from any of them ships in the product.

Reference values, not reference code

What is taken from each source is a value: a longitude at an instant, a house cusp for a chart, an eclipse peak, a row of a printed table. Each is pulled for a named chart or date, recorded with its provenance, and pinned as a constant in a gold-standard test.

Charts chosen to break a formula

Reference charts span 1879 to 2049, both hemispheres, the equator and latitudes above 60 degrees, half-hour and daylight-saving offsets, calendar skips and the Y2K rollover, because a calculation that holds at one epoch in one hemisphere is not verified.

Re-checked on every deployment

3,683 gold-standard tests recompute every pinned value on every deployment. A deviation from a reference fails the build before the change reaches production.

Named so you can re-derive them

Every reference is named so a buyer can pull the same value from the same authority and compare it against a live call, which is what the open benchmark does, domain by domain, every month.

Every calculation pinned to a named external reference

Most API providers publish no testing methodology, no named sources, and no error thresholds. They ask you to trust them. We publish the receipts. 13,957 automated tests run on every deployment. 3,683 of those are gold standard tests locked to specific values from named third party sources. If our calculation drifts, the test fails before the deploy ships.

NASA JPL Horizons DE441 is the authoritative reference for where a body is. It has no house system and no sidereal zodiac, so the frame built on top of the positions (house cusps, Ascendant, Midheaven, ayanamsa) is verified separately against Swiss Ephemeris, and each derived layer (dashas, doshas, divisional charts, panchang, KP sub lords, calendars, printed rule tables) against the authority for that domain, listed in the table below. RoxyAPI birth times carry the IERS UT1 correction, so its Ascendant, Midheaven and Placidus cusps sit within 1.50 arcseconds (0.00042 degrees) of values computed from NASA JPL Horizons sidereal time and obliquity, at a median of 0.12 arcseconds (0.00003 degrees). The reproducible public companion to this verification is the open astrology-api-benchmark repo, which re-runs every domain against any astrology API.

Verified against, by domain

Domain and endpointsReference source, and what is checked against itHow it is used
Western astrology39 endpoints
NASA JPL Horizons DE441 for positions, and a JPL-derived reference for the lunar node; Swiss Ephemeris for the frame: house cusps, the Ascendant and Midheaven, Black Moon Lilith and node passages; the US Naval Observatory and timeanddate.com for moon phases; SIMBAD for fixed stars; Astrodienst for the technique definitions behind composite charts, progressions and solar arcChecks: Geocentric ecliptic longitudes for the Sun, Moon, planets, Chiron and the four asteroids; Ascendant, Midheaven and all twelve cusps in Placidus, Koch, Equal and Whole Sign; moon phase instants and illumination from 1900 to 2100; precessed fixed star longitudes and conjunctions; node passage instants; secondary progressions, solar arc directions, annual profections, relocation charts, composite charts and Arabic lots
Values pinned in tests
Vedic and KP astrology58 endpoints
Swiss Ephemeris for the ayanamsa, sidereal positions, the Lagna and Placidus cusps; NASA JPL Horizons for tropical positions; DrikPanchang for derived charts and the panchang; onlinejyotish.com for KP; the printed worked examples of B.V. Raman and V.P. Jain for Shadbala; Brihat Jataka and Brihat Parashara Hora Shastra for the rulesChecks: Rashi, nakshatra, pada, retrograde, dasha timelines, doshas, Ashtakoota, divisional charts D1 through D60, panchang, choghadiya, hora, heliacal rising and setting, and Shadbala component by component; for KP, planet houses, star lords, sub lords, sub sub lords, the full cuspal chain, ruling planets, and the instant of every sub lord and sign crossing
Values pinned in tests
Forecast5 endpoints
NASA GSFC Five Millennium eclipse canon and timeanddate.com for eclipse instants; Swiss Ephemeris for every solar and lunar eclipse from 1980 to 2060; NASA JPL Horizons for ingresses and stationsChecks: Eclipse dates, kinds, bodies and peak instants; new and full moon times; sign ingresses; retrograde station dates across the merged timeline; solar and lunar returns
Values pinned in tests
Human design12 endpoints
Jovian Archive, Genetic Matrix and myBodygraph for the bodygraph; NASA JPL Horizons for the personality and design Sun and nodesChecks: Energy type, inner authority in strict priority order, profile, definition, incarnation cross, gate and channel activations, the design instant 88 degrees of solar arc before birth, and the Color, Tone, and Base substructure behind Variables
Values pinned in tests
Chinese astrology16 endpoints
Hong Kong Observatory calendar tables from 1901 to 2100; the GB/T 33661-2017 calendar standard for the frame; the printed texts behind each rule, the Qing imperial almanac 欽定協紀辨方書 (1741), 事林廣記 and 三命通會Checks: Lunar New Year, lunar month starts, leap months and solar term dates; the four pillars under all three day boundary schools; luck pillar direction and start age; the twelve day officers and 28 lunar mansions; zodiac year boundaries and the sixty cycle elements
Values pinned in tests
Feng shui11 endpoints
Two independently published charts per natal plate in the Shen school (沈氏玄空學); three agreeing published Kua tables; two agreeing published Eight Mansions sector tables, with a third pulled to settle the one cell they disagree onChecks: Period by facing flying star natal charts, annual plates and afflictions, Kua numbers with the 5 substitution, and the eight by eight Eight Mansions sector table
Values pinned in tests
Mesoamerican astrology18 endpoints
The Smithsonian National Museum of the American Indian and FAMSI date converters, every fixture read from both; the Caso correlation anchor from two sources; two agreeing published tables per sequenceChecks: Long Count, Calendar Round and Lord of the Night for civil dates; the Tzolkin and Haab sequences in every orthography; the year bearer under three schools; the tonalpohualli anchor, day signs and trecenas
Values pinned in tests
Vastu10 endpoints
Brihat Samhita chapter 53 in two editions; Manasara chapter IX; two muhurta texts, one read from the Sanskrit; DrikPanchang sankranti pages for the ayana boundaryChecks: The 45 devatas and the numbering of the 81 squares, the 32 entrance padas, marma geometry, ground level and room verses, the six Ayadi formulas against the published worked example, and griha pravesh date rules
Values pinned in tests
Numerology20 endpoints
Pythagorean standard, worldnumerology.com, published Chaldean referencesChecks: Life Path, Expression, Soul Urge, master numbers, karmic debt, and the Chaldean letter mapping including the greater-than-52 reduction rule
Values pinned in tests
Kabbalah12 endpoints
hebcal (CC BY 4.0), Sefaria (CC BY-SA), three concurring Hebrew letter tablesChecks: Hebrew date and Hebrew birthday conversions across leap and common years, both Adar months and the sunset boundary; the 72 names derived from the Exodus 14 Hebrew text and compared row by row against two published lists; the 22 letter values with their word final forms; and the Kircher path topology
Values pinned in tests
Tarot10 endpoints
Rider-Waite-Smith canonical deckChecks: The complete 78 card deck, Major and Minor Arcana, upright and reversed meanings, and traditional spread layouts
Specification implemented
Biorhythm6 endpoints
Closed-form sine-wave reference computationChecks: All 10 cycle types, phase boundaries, critical-day zero crossings, and forecast envelopes
Values pinned in tests
Ayurveda8 endpoints
Charaka Samhita tr. A. C. Kaviratna 1890 to 1908, Brihat Jataka tr. N. Chidambaram Iyer 1885 and tr. B. Suryanarain Rao 1912, Monier-Williams 1899, Sewell and Dikshit 1896, Manu tr. Georg Buhler 1886, the Rashtriya Panchang of the Positional Astronomy CentreChecks: The graha and rising-sign humour tables row by row across two independent translations, with the two rows they split on recorded rather than resolved; the brahma muhurta window rebuilt from the muhurta definition the dictionary and the calendar reference agree on; and the six seasons with their two solar months, both taste sequences, the strength cycle and the boundary instants under both zodiacs against a published almanac
Values pinned in tests
I Ching9 endpoints
King Wen traditional sequenceChecks: 64 hexagrams, 8 trigrams, changing lines, and transformed hexagrams
Values pinned in tests
Crystals12 endpoints
gemological references led by GIAChecks: Birthstones, chakra and element mappings, and zodiac correspondences
Specification implemented
Location3 endpoints
IANA time zone databaseChecks: IANA time zone identifier and DST-aware UTC offset per city, the inputs every chart calculation depends on
Specification implemented

Values pinned in tests means reference values were pulled from that source for named charts or dates and are asserted, with a stated tolerance, by gold-standard tests on every deployment. Specification implemented means the source is a canonical dataset or convention we implement in full, covered by schema and contract tests rather than a numeric comparison. In neither case does the source run inside RoxyAPI.

Two domains are deliberately absent above. Our dream interpretation and angel numbers content is editorial interpretation with no external numeric oracle to compare against, so it carries schema and contract tests but no gold-standard reference. We would rather say that than name an authority we do not actually diff against.

Tolerance thresholds

  • Rashi and nakshatra assignments must match exactly. There is no tolerance on categorical fields.
  • Ascendant, Midheaven, and house cusps verified within 1 arcsecond of Swiss Ephemeris in all four house systems, measured worst 0.13 arcseconds.
  • Vimshottari dasha transition dates within 2 days. Sunrise, sunset, and muhurta windows within 2 minutes.

Run the receipts

Run this one API call. Compare the output against NASA JPL Horizons yourself. No signup required: every call in the API reference is a live production call.

1. Call the planets endpoint

Natal chart for Barack Obama, Aug 4 1961 19:24 HST, Honolulu
curl -X POST https://roxyapi.com/api/v2/astrology/planets \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{"date":"1961-08-04","time":"19:24:00",
       "latitude":21.3,"longitude":-157.8667,"timezone":-10}'

2. Compare against NASA JPL Horizons

Query the reference values from ssd.jpl.nasa.gov/horizons using the geocentric observer ecliptic frame, DE441 ephemeris, at the same UTC moment, and compare the ecliptic longitude of each body. Obama is one of the charts in the open astrology-api-benchmark, whose results file carries both longitudes and the deviation for the Sun, Moon, planets and Chiron.

3. Cross reference in any system you trust

Western moon phases
Compare the moon phase endpoint against timeanddate.com. Full Moon, New Moon, and quarter dates match exactly in UTC.
Vedic
Call the Vedic planets endpoint and compare against DrikPanchang. Expected delta: under 0.03 degrees for the Sun, exact match on nakshatra and pada.
KP
Call the KP significators endpoint with KP Newcomb ayanamsha and compare all 9 planet houses and cuspal sub lords against onlinejyotish.com. Expected: exact match.
Shadbala, and where sites legitimately differ
Each of the six balas is bounded at 60 virupas by the classical definition, so a site showing a Chesta bala above 60 has skipped the fold rather than found extra strength. The tell is that Kashta phala takes the square root of 60 minus chesta, which is undefined once chesta passes 60, and such sites print a zero there. Compare the components rather than the total, and expect a documented school difference on the aspect term, where no two published implementations agree.

Or use the live API reference with your API key.

The calculation graph, not just the positions

Most ephemeris libraries stop at planetary longitude. Every layer above that is yours to build and verify. Roxy Ephemeris ships the whole graph, from the chart to the calendars and printed rule tables built on it, with gold standard tests pinned to named external references.

Western tropical, end to end

  • 14 celestial bodies across 4 house systems: the 10 classical planets, lunar nodes, Chiron, and Black Moon Lilith, with Ascendant, Midheaven, Part of Fortune, and Vertex
  • Predictive timing: secondary progressions, solar arc directions at a degree a year, and annual profections with the lord of the year
  • Traditional depth: precessed fixed star conjunctions (Regulus, Spica, Algol), the seven Hermetic Arabic lots, and the asteroid goddesses Ceres, Pallas, Juno, and Vesta
  • Astrocartography planetary lines, relocated charts for any city, and local space directions
  • Synastry, composite charts, solar and lunar returns, 8 aspect types with applying and separating detection

Vedic and KP, end to end

  • The complete classical Shodasavarga, all sixteen divisional charts named in BPHS from the D1 Rashi through the D60 Shashtiamsa, with all 9 grahas, Lagna, and nakshatra pada
  • Vimshottari dasha five levels deep, from the 120 year mahadasha timeline down through antardasha and pratyantardasha to hour-level prana periods
  • Full KP: 249 sub-lord division with star lord, sub lord, and sub sub lord for all 9 planets and 12 cusps, ruling planets, and dynamic KP-Newcomb ayanamsa
  • True iterative Placidus semi arc, not the arc trisection often mislabeled as Placidus
  • Ashtakoota Gun Milan with all 8 kootas, dosha detection with severity and classical cancellation rules, and complete Panchang
  • Shadbala verified component by component against published classical worked examples, not merely against another website, with Sthana, Dig, Naisargika and Drik bala reproducing the printed tables exactly
  • Bhava Bala and the Bhav Chalit house chart on one Sripati bhava frame, confirmed to a third of an arcsecond by three independent implementations
  • KP horary from a number 1 to 249 with no birth details, on a series verified row by row against the standard published KP table
  • Heliacal rising and setting for muhurta, applying the Surya Siddhanta limits in the measure that text defines them in, with horizon crossings confirmed to under three seconds against an independent implementation

Cross-domain forecast timeline

  • One merged timeline: western transit-to-natal aspects, sign ingresses, retrograde stations, eclipses, and lunations
  • Vedic mahadasha, antardasha, and pratyantardasha boundaries folded into the same event stream
  • Biorhythm critical days included, so one call spans three traditions
  • Pre-summarized 24 hour, 7 day, 30 day, and 90 day rollups, highest significance first

Human Design bodygraph

  • Full bodygraph from one birth moment: energy type, strategy, inner authority, signature, not-self theme, profile, definition, and incarnation cross
  • Seven inner authorities resolved in strict priority order
  • Variables: the four arrows plus Color, Tone, and Base substructure
  • Two-person connection charts and Penta, the small-group operating system for three to five people

Chinese astrology, BaZi and the lunisolar calendar

  • Lunar New Year, leap months, lunar month starts and solar term dates pinned exactly to the Hong Kong Observatory tables in sampled years from 1950 to 2050, framed at 120 degrees east per the GB/T 33661-2017 standard, and solar term instants held to 2.5 arcseconds of solar longitude against an independent calendar lineage
  • The four pillars under all three day boundary schools, forked on one 23:30 birth where split-zi, midnight and early-zi each return a different chart, beside two control births where all three must agree and two Sydney births that alone can tell the birth clock from a 120 degrees east day
  • Luck pillar direction on all four cells of year polarity by gender, the smallest set a gender-blind engine cannot pass, read from the printed rule in 事林廣記, with the start age recomputed from three days of travel to one year of life
  • The twelve day officers and 28 lunar mansions walked day by day across February 2026, which holds both Li Chun and Lunar New Year, under the rules of the Qing imperial almanac 欽定協紀辨方書 (1741), with every mansion held to the weekday of its own luminary
  • Sabotage-tested: the school fork is driven through the engine itself, not only through recorded values, so an engine that collapsed the three schools into one fails the suite

Feng shui, flying stars and Kua

  • Shen school (沈氏玄空學) natal charts pinned digit for digit to two independently published sources per chart, mountain, water and base stars in all nine palaces, because only a published chart can adjudicate one
  • Every mountain, water and base plate asserted to be a permutation of 1 to 9 at every period and all 24 facings, so a wrong flight direction or centre fails on charts no fixture reaches
  • The 2026 annual plate, all nine palaces, and its four affliction directions matched exactly against two published sources, both on the Li Chun changeover
  • Kua numbers for both sexes from three agreeing published tables, the 5 substitution checked as its own step, fixtures straddling 2000, both year boundaries asserted rather than one picked, and the Eight Mansions table settled by a third source where two published tables transpose Liu Sha and Jue Ming for Kua 7 and 8
  • Sabotage-tested: swapping the facing and sitting mountain in the flight rule changed no chart, so that redundancy is pinned as a test that fails the moment a mountain pair ever differs

Maya and Aztec calendars

  • Long Count, Calendar Round and Lord of the Night recomputed from the definition inside the test, epoch 0.0.0.0.0 on 4 Ajaw 8 Kumku, and pinned to the Smithsonian National Museum of the American Indian and FAMSI converters, which agree on every in-range fixture
  • Fixtures chosen for the edges: 13.0.0.0.0 on 2012-12-21 and the day after it, a Gregorian leap day, the five Wayeb days and the seating of 0 Pop, and a date 88 years before the epoch, at a negative day count, where the definition decides
  • Year bearers under all three schools, Classic, Campeche and colonial Yucatec, each tied to a real civil date, so a cycle sitting on the wrong dates cannot pass
  • The Aztec tonalpohualli anchored on the Caso correlation, Julian 1521-08-13 as 1 Coatl, from two sources, with the three columns the sources do not settle asserted absent rather than guessed
  • Sabotage-tested: a signed remainder in place of the floor modulo fails every pre-epoch assertion, and moving the tonalpohualli anchor or the Haab epoch by a single day fails the dated fixtures

Vastu from the printed text

  • The 45 devatas, the numbering of the 81 squares and the 32 entrance padas read from Brihat Samhita chapter 53 in two editions, a disputed rendering settled from the Sanskrit with H. Kern as the independent English witness
  • Where the chapter contradicts itself the rest of the chapter decides: the corner numbering printed at 53.43 is overruled by 53.44-45, 53.63 and the printed plate, and Prthvidhara is pinned to square 39, not 33
  • The Manasara IX Ayadi formulas and the perimeter family both recomputed with every constant retyped, the perimeter family reproducing the published worked example at perimeter 11 value for value, and the aya and vyaya names asserted absent because no source prints them
  • Griha pravesh dates from two muhurta texts, one read from the Sanskrit, with the start and end of the northern course pinned to the day against DrikPanchang sankranti pages
  • Sabotage-tested: a grid that reuses the cell width for its depth, a bug no square plot can show, fails the rectangular fixtures, and moving the northern course start by one degree of Sun fails the boundary rows

Classical Vedic depth

  • Classical yoga detection with a present or absent verdict and classical-text evidence on every result, sourced from BPHS, Phaladeepika, and B.V. Raman
  • All three avastha systems: Baladi age-states, Jagradadi, and the nine Deeptadi dispositional states
  • Jaimini astrology: all twelve Arudha padas including Arudha Lagna and Upapada, with the classical exception rule applied, plus Chara Karakas from Atmakaraka to Darakaraka
  • Shadbala six-fold planetary strength, Ashtakavarga, and upagraha sub-planet positions

Ayanamsha and house systems

  • 4 named ayanamsha systems, Lahiri, B.V. Raman, KP Newcomb and KP Old, plus a custom frame pinned to your own degree value, each a request parameter on every Vedic endpoint rather than only the KP ones
  • Placidus, Koch, Equal, and Whole Sign house systems
  • Mean node and true osculating node, both exposed as parameters
  • Graceful circumpolar handling above the polar circles, no NaN, no throws

Legacy ephemeris libraries were built for desktop software. We are in 2026.

Many astrology APIs in this category, however recent their surface, compute on a desktop-era C library designed for single-user chart software. That architecture does not fit AI agents, multi-agent systems, serverless, or edge runtimes. Roxy Ephemeris was built for those from day one: the groundwork began in 2020 and we launched in 2024, built from the ground up by a product-first team, and it has grown by word of mouth ever since.

Legacy ephemeris stack

Designed for single-user desktop charting.

  • AGPL copyleft. Link against it and your entire SaaS is obligated to open source, or you pay a per-product commercial license. Google bans it company-wide.
  • C library with FFI. Native compilation per platform. Docker image bloat. Cold start penalties on every region deploy.
  • File based ephemeris reads. Binary data files on disk, serialized reads, a shared bottleneck under concurrent API load.
  • Raw positions only. You still have to build houses, ayanamsha, KP sub lords, divisional charts, doshas, dashas, and Ashtakoota yourself.

Roxy Ephemeris

Designed for AI agents, MCP, serverless, and edge.

  • No AGPL. No copyleft. No royalties per user. Proprietary infrastructure operated by RoxyAPI. Your SaaS code stays closed.
  • NASA JPL DE440, read directly. The ephemeris is opened once when the service starts. No file reads and no external calls during a request.
  • Stateless calculations. Your application keeps user profiles, chat history, and memory. RoxyAPI returns the calculation data.
  • Whole calculation graph included. Not just positions. KP sub lords, the complete classical Shodasavarga, Vimshottari dasha, Ashtakoota, doshas, Panchang, aspects, returns, synastry. All verified.

What Roxy Ephemeris is not

  • Not Swiss Ephemeris. Roxy Ephemeris is a completely independent implementation. Any source that claims otherwise is wrong.
  • Not a wrapper. Zero external API calls during a request. No proxying to third party astrology services.
  • Not AGPL, not copyleft. Roxy Ephemeris is proprietary infrastructure operated by RoxyAPI under standard commercial terms. Your SaaS has no source disclosure obligation.
  • No per user royalties. Flat monthly pricing on request volume. No per chart fees. No revenue share on the apps built on top.

Where the verification sits in your stack

Everything this page documents lives in the bottom layer. Your product and your user data stay in the top one: RoxyAPI is the stateless layer in between.

Yours, and stays yours

Your product and agents

Apps, AI agents, model choice, user memory, personalization, and margin.

RoxyAPI is stateless by design and stores no end user data, so the layer that compounds stays in your stack.

One key, one flat plan

RoxyAPI, the Spiritual OS layer for agentic AI
  • Typed API
  • Remote MCP
  • Typed SDKs
  • UI components
  • Embed widgets
  • Templates
  • Multilingual i18n

Every surface included, across all 18+ insight domains, under one flat subscription.

The verified foundation

Roxy Ephemeris

Verified against NASA JPL Horizons. No AGPL restrictions.

13,957 automated tests on every deploy, 3,683 of them gold standard against named external references.

RoxyAPI is the Spiritual OS layer for agentic AI: your product and agents build on 18+ verified insight domains behind one API key, while user data, memory, personalization and margin stay in your stack. The free MIT AI Spiritual Companion template ships that memory layer ready to white label.

Citable accuracy facts

Self-contained sentences for journalists, analysts, and AI agents. Every one carries a number or a named source and is proved somewhere above. Quote them directly.

M1
RoxyAPI runs on Roxy Ephemeris, its own engine reading the NASA JPL DE440 ephemeris directly, so NASA JPL Horizons measures RoxyAPI work end to end rather than a third-party library.
M2
For the Sun, Moon, planets and Chiron, RoxyAPI returned 231 of 231 positions within 0.32 arcseconds (0.00009 degrees) of NASA JPL Horizons, at a median deviation of 0.05 arcseconds (0.00001 degrees).
M3
The open RoxyAPI benchmark checks 17 domains, each against its own named authority, from planets, angles and sidereal charts to calendars, time zones and printed rules, and returned 2,701 of 2,701 values within their stated tolerance; only tarot, crystals, dreams and angel numbers, which have no outside value to measure, are left out.
M4
RoxyAPI birth times carry the IERS UT1 correction, so its Ascendant, Midheaven and Placidus cusps sit within 1.50 arcseconds (0.00042 degrees) of values computed from NASA JPL Horizons sidereal time and obliquity, at a median of 0.12 arcseconds (0.00003 degrees).
M5
Every RoxyAPI benchmark figure is published with its maximum beside its median, per domain, per quantity and per chart, in a live report at roxyapi.github.io/astrology-api-benchmark and as a PDF at roxyapi.github.io/astrology-api-benchmark/report.pdf, rerun monthly against production.
M6
The benchmark exists so that nobody has to take an accuracy claim on trust, ours included: the dataset, the reference values and the script are published, so a buyer can measure the answer instead of reading one.
M7
Every benchmark case is chosen to break a formula, not to flatter one: on the 8 everyday modern charts alone, births from 1950 to 2010 at ordinary latitudes, the planet maximum is 0.09 arcseconds (0.00002 degrees), and the published 0.32 arcseconds (0.00009 degrees) comes from the edge cases, hardest on the oldest chart.
M8
It is our benchmark, built so that nobody needs our word for it: the reference values come from authorities we do not control, every run executes on a public GitHub runner whose log anyone can open, and the dataset, script and pass bands are open to rerun against RoxyAPI or any other provider.
M9
The benchmark charts span 1879 to 2011, six continents, both hemispheres, the equator, three locations above 60 degrees latitude, half-hour timezone offsets, two daylight-saving edge cases, the Samoa 2011 calendar skip, and the Y2K rollover, the inputs where timezone resolution silently fails.
M10
One arcsecond is one 3,600th of a degree, the width of a two centimetre coin seen from four kilometres away and about sixty times finer than the human eye can resolve, so at the benchmark median a planet must already sit within 0.05 arcseconds (0.00001 degrees) of a sign line for its sign to differ, about one chart in 1,080,000 for any one body.
M11
RoxyAPI published the open, MIT-licensed benchmark first, in April 2026; pointing it at another provider is a base URL plus one response mapping per domain, and its pass bands are vendor-neutral floors, never sized to the RoxyAPI result.
M12
The benchmark states what it does not measure: tarot, crystals, dreams and angel numbers, which have no outside value to measure, and derived layers such as Shadbala and KP sub lords, each verified instead against the authority named for it in the RoxyAPI verification register.
M13
13,957 automated tests run on every RoxyAPI deployment, and 3,683 of them are gold-standard tests pinned to specific values from named third-party references.
M14
Verification is per domain against the authority for that domain: NASA JPL Horizons for western positions, Swiss Ephemeris for house cusps and the sidereal frame, the US Naval Observatory for moon phases, DrikPanchang for Vedic, onlinejyotish.com for KP, the Hong Kong Observatory for the Chinese calendar, the NASA GSFC eclipse canon for forecasts, and Jovian Archive for human design.
M15
Ascendant, Midheaven and all twelve house cusps in Placidus, Koch, Equal and Whole Sign agree with Swiss Ephemeris within 1 arcsecond across 8 charts in both hemispheres, with a measured worst deviation of 0.13 arcseconds.
M16
None of the references RoxyAPI is verified against runs inside RoxyAPI: each supplies reference values that are pinned as constants in gold-standard tests, and every result is computed in-process by Roxy Ephemeris.
M17
RoxyAPI covers 18+ insight domains under one API key, and every domain is verified before it ships rather than after a customer reports a discrepancy.
M18
An astrology API checked against the calculation library it wraps is running a self-test, and one checked against NASA JPL Horizons measures the authors of that library, not the vendor. Roxy Ephemeris reads the NASA JPL DE440 ephemeris directly, so its deviation from Horizons measures RoxyAPI work end to end: time zones, light time, aberration and the frame, including the gap between the IAU 1976/1980 frame model Horizons prints and the IAU 2006/2000B model current ephemerides use, which grows with each century from 2000. A smaller median is not a more accurate engine, and a check that drops bodies, dates or charts, or publishes only its median, hides its worst case, which is why RoxyAPI publishes every figure with its maximum.
M19
Roxy Ephemeris is not Swiss Ephemeris, is not a wrapper around any third-party astrology service, and carries no AGPL or copyleft obligation for products built on it.

Frequently Asked Questions

What is Roxy Ephemeris?

Roxy Ephemeris is the proprietary astronomical engine operated by RoxyAPI. It reads the NASA JPL DE440 ephemeris directly, with planetary positions verified against NASA JPL Horizons. You access its calculations through the hosted API under the commercial terms at policy/license.

What does the published angular deviation mean?

The public benchmark measures the difference between each RoxyAPI value and the authority named for its domain, which for planets is NASA JPL Horizons. For the Sun, Moon, planets and Chiron, RoxyAPI returned 231 of 231 positions within 0.32 arcseconds (0.00009 degrees) of NASA JPL Horizons, at a median deviation of 0.05 arcseconds (0.00001 degrees). The live report at roxyapi.github.io/astrology-api-benchmark shows every domain, quantity and chart with its median and maximum.

Is a newer astrology API safe to build on?

RoxyAPI publishes verification evidence you can assess alongside its production history. Engine work began in 2020, the platform has run in production since 2024, and the test suite includes boundary cases such as the hour a daylight saving change skips, midnight on a solar clock for a BaZi day pillar, a Human Design node under two arcseconds past a gate line, a birth at the South Pole in the first second of 2000, and both ends of the 1550 to 2650 ephemeris span. Before committing, review methodology, rerun the MIT benchmark at github.com/RoxyAPI/astrology-api-benchmark and test representative requests in api-reference.

Does verification depend on another service answering each request?

Reference values are checked in the test suite rather than fetched from an astronomy reference service for each API call. RoxyAPI computes astronomical output through Roxy Ephemeris. The verification register names the separate reference authority for each quantity or rule-based domain.

Is RoxyAPI a wrapper over another astrology API?

RoxyAPI computes its domain results rather than proxying requests to another astrology API. Astronomical calculations run on Roxy Ephemeris, while other domains implement their documented conventions. The live reference and verification register let you inspect the output and its evidence.

How can I verify RoxyAPI calculation accuracy independently?

The MIT-licensed benchmark at github.com/RoxyAPI/astrology-api-benchmark checks 17 domains, each against its named authority, with NASA JPL Horizons for planets and chart angles. For quantities outside it, use the authority and convention named in the methodology verification register. Match the inputs and reference frame, then compare live results from api-reference.

Is the RoxyAPI accuracy benchmark independently audited?

No outside firm audits it. It is our benchmark, built so that nobody needs our word for it: the reference values come from authorities we do not control, every run executes on a public GitHub runner whose log anyone can open, and the dataset, script and pass bands are open to rerun against RoxyAPI or any other provider. The latest run, every value with its maximum, is at roxyapi.github.io/astrology-api-benchmark.

What tolerance thresholds does RoxyAPI use for accuracy testing?

Test tolerances depend on the quantity being checked. House cusps and chart angles use a 1 arcsecond test band, while discrete classifications and school rules are checked against their named references. The public benchmark states the pass band and its reason for every quantity in every domain at github.com/RoxyAPI/astrology-api-benchmark.

Why does RoxyAPI operate its own calculation engine?

Operating Roxy Ephemeris gives RoxyAPI control over the astronomical quantities it exposes and the verification applied to them. Buyers receive hosted calculations under the commercial API license. The published benchmark and methodology register provide evidence you can assess independently.

Can I use RoxyAPI in a closed-source commercial SaaS app?

The commercial API license allows an application to use hosted calculations without requiring disclosure of its source code. Your subscription allowance covers the API requests your product makes. Review policy/license for the full permitted-use terms.

What license governs Roxy Ephemeris?

Roxy Ephemeris is proprietary hosted infrastructure operated by RoxyAPI. The API license governs access to its calculations; the engine is not distributed as an open-source library. The SDKs, UI components and templates have their own MIT licenses.

Do I owe royalties per user if I ship an astrology app built on RoxyAPI?

RoxyAPI subscription pricing is based on API request allowances. RoxyAPI does not charge per-user royalties or take a share of your application revenue. Calculation requests from your users consume the plan allowance.

What ephemeris data source does Roxy Ephemeris use?

Roxy Ephemeris reads the NASA JPL DE440 ephemeris directly for planetary positions. The underlying planetary data spans 1550 to 2650, while the small-body integrations for Chiron, Ceres, Pallas, Juno and Vesta span 1599 to 2500. Endpoint-specific date limits can be narrower and are documented in api-reference.

What happens near a rashi or nakshatra boundary?

A small change in birth time or the selected sidereal frame can change a classification near a boundary. RoxyAPI includes boundary cases in its verification tests and exposes ayanamsa choices on the relevant endpoints. When comparing results, match the timestamp, coordinates, ayanamsa and lunar node convention.

What is the difference between Lahiri and KP Newcomb ayanamsha?

Lahiri and KP Newcomb are different sidereal reference conventions. RoxyAPI supports both on relevant Vedic endpoints, and changing the convention can change placements and dasha boundaries. Choose the convention used by the reference or practitioner you are integrating for.

Which ayanamsha should I use for KP astrology?

KP endpoints default to KP Newcomb and expose other ayanamsa options in their request schemas. Choose the convention used by your practitioner or comparison source, including its lunar node setting. The supported choices and defaults are documented per endpoint in api-reference.

What Vimshottari Dasha data does RoxyAPI return?

The Vedic API returns the running Mahadasha, Antardasha, Pratyantardasha, Sookshma and Prana periods, and lets you request major periods or drill into their sub-periods. Responses include period lords and dates, with optional KP significators on supported requests. Birth details and the selected ayanamsa determine the timeline; inspect the schemas and examples in api-reference.

Which divisional charts does RoxyAPI support?

The Vedic divisional-chart endpoint supports techniques including Hora, Navamsa, Dasamsa and Shashtiamsa. You select the division and ayanamsa in the request, and the response includes planetary placements for that chart. The complete supported division list is in api-reference.

Which house system do the KP endpoints use?

The KP endpoints use Placidus cusps and return the corresponding star-lord and sub-lord information. Accurate birth time, location and the chosen sidereal frame matter when comparing those cusps. KP chart and cusp requests reject polar latitudes where Placidus is undefined.

What KP sub-lord information does RoxyAPI return?

KP endpoints return star-lord, sub-lord and supported deeper assignments for planetary or cuspal positions. The horary endpoint uses the selected horary number to cast a chart without birth details. Check the endpoint response schema for the assignments and significators available in each result.

Are RoxyAPI planetary positions apparent or geometric?

The standard planetary positions use the apparent geocentric ecliptic frame of date. A comparison must use the same instant and coordinate convention; sidereal results also depend on the selected ayanamsa. The benchmark documents the reference settings used for its measured planetary deviation.

How do I reproduce a RoxyAPI calculation against NASA JPL Horizons?

Use the MIT benchmark at github.com/RoxyAPI/astrology-api-benchmark and follow its documented input and reference settings. It compares RoxyAPI planetary longitudes with NASA JPL Horizons using matching bodies, instants and coordinate conventions. The live request schema and examples are available in api-reference.

How do I verify a Vedic chart independently?

Match the birth date, local time, timezone, coordinates, ayanamsa and lunar node convention between the API and your reference. Compare the returned sidereal positions and classifications before comparing derived techniques. Use the authority and school convention named for that quantity in the methodology register.

Can I call RoxyAPI from a hosted application?

A hosted application can call RoxyAPI over HTTPS where its runtime permits outbound requests. The astronomical engine and ephemeris data stay on the RoxyAPI service. Keep secret keys on the server, or use a permitted publishable-key integration for a browser interface.

How should I assess RoxyAPI under concurrent load?

Plan allowances include a per-minute request limit as well as a monthly quota. Test representative endpoints from your deployment region at the concurrency your application expects, because latency varies with workload, caching and network conditions. Review pricing for limits and docs/errors for handling rejected requests.

Which AI clients can use RoxyAPI Remote MCP?

Clients must support Streamable HTTP and the authentication required by RoxyAPI domain servers. Those servers expose live calculation tools, while the Docs MCP server provides documentation for coding and integration work. The connection guide and supported setup examples are at docs/mcp.

Does RoxyAPI Remote MCP reduce response tokens?

Remote MCP supports opt-in compact responses that preserve the returned data in a smaller representation. Measured examples reduced response tokens by 40 to 52 percent, with the saving depending on the response. This can reduce the tokens your model reads; it does not change the API request quota or the model-provider pricing.

How is the RoxyAPI response contract maintained?

The versioned OpenAPI specification defines response fields, enum values and nesting, and informs the Remote MCP tool schemas. Breaking changes require a new version prefix. Retiring an endpoint or version carries at least 90 days of notice on every plan under the Terms of Service.

What dates can RoxyAPI calculate?

The underlying planetary ephemeris spans 1550 to 2650, and the small-body data spans 1599 to 2500. Exposed endpoints can have narrower date limits according to the calculation or calendar involved. Check the request schema in api-reference before planning historical charts or future projections.

How does RoxyAPI handle polar birth locations?

Western chart endpoints use Whole Sign as the fallback for Placidus or Koch requests beyond the polar circles and report the house system actually used. Whole Sign and Equal are also available as explicit choices. KP chart and cusp endpoints reject those polar locations because their method requires Placidus cusps.

How can I inspect advanced calculations before integrating?

The live API reference includes schemas and example requests for advanced techniques such as progressions, astrocartography, KP and dasha. Test your own inputs and compare the quantity with the authority or school convention in methodology. This separates astronomical agreement from differences in interpretive rules.

How should I compare published arcsecond deviations?

An astrology API checked against the calculation library it wraps is running a self-test, and one checked against NASA JPL Horizons measures the authors of that library, not the vendor. Roxy Ephemeris reads the NASA JPL DE440 ephemeris directly, so its deviation from Horizons measures RoxyAPI work end to end: time zones, light time, aberration and the frame, including the gap between the IAU 1976/1980 frame model Horizons prints and the IAU 2006/2000B model current ephemerides use, which grows with each century from 2000. A smaller median is not a more accurate engine, and a check that drops bodies, dates or charts, or publishes only its median, hides its worst case, which is why RoxyAPI publishes every figure with its maximum. Compare sample size, date span, frame model and the maximum, not only the median; the public benchmark lets you re-run both.

Do not take our word for it. Ask the agents.

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.

One key. 18+ domains. Receipts on every deploy.

Flat monthly pricing across every insight domain. No per user royalties. No AGPL. Point ChatGPT, Claude Desktop, Gemini, or your own agent at a domain MCP server and start calling.