Roxy Ephemeris
The only astrology API engine that publishes its own receipts.
Sub-arcminute planetary positions, verified against NASA JPL Horizons. Built from scratch for AI agents and the 2026 stack, not ported from 1990s desktop software. Every result matches the authoritative references professional astrologers already trust, with 2,400+ automated tests per deploy.
Not Swiss Ephemeris. Not a wrapper. Not AGPL.
Open benchmark, MIT licensed, 210 receipts you can re-run
Most API providers ask you to trust their methodology page. We published the methodology AND the dataset AND the runnable Python code. The astrology-api-benchmark repo on GitHub is MIT licensed. It contains 21 birth charts (8 named celebrity charts at AA, A, and B Rodden Ratings plus 13 synthetic edge-case scenarios spanning 1879 to 2011, three high-latitude locations above 60 degrees, both DST transition edges, half-hour timezone offsets, the Samoa 2011 calendar skip, and the Y2K rollover) and 210 reference planet positions pulled directly from NASA JPL Horizons DE441. Clone it, run it against RoxyAPI, run it against any other astrology API, or extend it with your own charts.
Latest baseline run
2026-04-28, 21 charts, 210 planet positions vs NASA JPL Horizons DE441.
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. 1,950 automated tests run on every deployment. 828 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 raw planet positions. Layers built on top of the planet layer (house cusps, ascendant, midheaven, ayanamsa, dashas, doshas, divisional charts, panchang, KP sub lords, interpretations) are verified separately against the domain authorities listed in the table below. The reproducible public companion to this verification is the open astrology-api-benchmark repo, where 210 reference points across 21 charts can be re-run against any astrology API.
Verified against, by domain
| Domain | Reference source | What is checked |
|---|---|---|
| Western astrology | NASA JPL Horizons, timeanddate.com | Geocentric ecliptic longitudes (DE441) for Sun, Moon, and planets; Placidus house cusps; ASC and MC; moon phase UTC dates |
| Vedic astrology | DrikPanchang | Rashi, nakshatra, pada, retrograde, dasha, doshas, Ashtakoota, divisionals D1 through D60, panchang, choghadiya, hora |
| KP astrology | onlinejyotish.com | Planet houses, star lords, sub lords, sub sub lords, cuspal chain, ruling planets |
| Numerology | Pythagorean standard, worldnumerology.com | Life Path, Expression, Soul Urge, master numbers, karmic debt |
| Biorhythm | Closed-form sine-wave reference computation | All 10 cycle types, phase boundaries, critical-day zero crossings, forecast envelopes |
| I Ching | King Wen traditional sequence | 64 hexagrams, 8 trigrams, changing lines, transformed hexagrams |
| Crystals | GIA, multi source reference database | Birthstones, chakra and element mappings, zodiac correspondences |
Tolerance thresholds
- Planetary longitudes verified within 0.2 degrees. In practice, agreement against NASA JPL Horizons is typically under 0.01 degrees.
- Rashi and nakshatra assignments must match exactly. There is no tolerance on categorical fields.
- House cusps verified within 1 degree. Vimshottari dasha transition dates within 2 days. Sunrise, sunset, and muhurta windows within 2 minutes.
Full methodology is documented in How we test astrology API accuracy: 828 gold standard tests.
Built for the AI agent era
AI agents discover APIs through OpenAPI specs, llms.txt, and MCP tool lists, then call them concurrently on behalf of users. Roxy Ephemeris was designed for that request shape from the first commit. Customers have connected Claude Code to every MCP endpoint within 30 minutes of signing up, with zero human configuration.
Sub 50ms, stateless
Analytical computation, no disk reads. Safe to fan out from a multi agent orchestrator without tail latency spikes.
Remote MCP server per product
Claude, Cursor, and Claude Code auto discover every endpoint as a tool call with typed JSON and stable field names.
Any runtime, any region
Consumed as a hosted HTTPS endpoint. Works from Cloudflare Workers, Vercel Edge, Deno Deploy, AWS Lambda, Bun, and any JavaScript runtime with fetch.
Agent ready by design
OpenAPI specs, llms.txt, AGENTS.md in the SDK, and fuzzy 404 suggestions. Agents self correct without retrying field by field.
Run the receipts
Run this one API call. Compare the output against NASA JPL Horizons yourself. No signup required to test in the live sandbox.
1. Call the planets endpoint
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
Reference values queried from ssd.jpl.nasa.gov/horizons using the geocentric observer ecliptic frame, DE441 ephemeris. Same chart inputs, same UTC moment. Obama is one of 21 charts in the open astrology-api-benchmark; clone the repo to verify these numbers in 30 seconds.
| Body | Roxy Ephemeris | NASA JPL (DE441) | Delta (arcmin) |
|---|---|---|---|
| Sun | 132.5533 | 132.5479 | 0.32 |
| Moon | 63.3577 | 63.3574 | 0.02 |
| Mercury | 122.3373 | 122.3316 | 0.34 |
| Venus | 91.7937 | 91.7893 | 0.26 |
| Jupiter | 300.8528 | 300.8586 | 0.35 |
| Saturn | 295.3252 | 295.3307 | 0.33 |
| Uranus | 145.2767 | 145.2708 | 0.35 |
| Pluto | 156.9834 | 156.9778 | 0.34 |
Maximum deviation across these 8 bodies on the Obama chart: 0.35 arcmin (21 arcseconds). The full benchmark across 21 charts and 210 reference points yields a median of 0.27 arcmin and a maximum of 0.54 arcmin against JPL Horizons DE441 (run date 2026-04-28). Numbers reproduce on every run within the precision JPL Horizons publishes.
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.
Or use the live API sandbox with a pre filled test key. No signup required.
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 full predictive graph used by professional Vedic, KP, and Western astrologers, with gold standard tests pinned to named external references.
KP astrology, end to end
- Full 249 sub lord division table with star lord, sub lord, and sub sub lord for all 9 planets and all 12 cusps
- Significators, cuspal sub lords, ruling planets, ruling planet intervals
- True iterative Placidus semi arc, not the arc trisection often mislabeled as Placidus
- Mean node and true osculating node, both exposed as parameters
- Verified against onlinejyotish.com across Mumbai and Delhi charts
Divisional charts D1 through D60
- 15 vargas: D1, D2, D3, D4, D7, D9, D10, D12, D16, D20, D24, D27, D30, D40, D45, D60
- All 9 planet signs match DrikPanchang exactly across every divisional chart
- Navamsa vargottama detection, retrograde flags preserved from D1
Vimshottari Dasha
- Solar year (365.25 days) for partial balance, calibrated against DrikPanchang Kundli
- Mahadasha, antardasha, and sub period boundaries as exact proportional arcs
- Transition dates verified within 2 days of DrikPanchang across decades
Doshas and compatibility
- Manglik with severity and exception handling, Kaal Sarpa, Sadhesati with Rising, Peak, and Setting phases
- Ashtakoota Gun Milan: all 8 kootas with scores, max scores, person classifications, and dosha arrays
- Panchang: Tithi, Nakshatra, Yoga, Karana, Vara, Choghadiya, Hora, Rahu Kalam, Yamaganda, Gulika, Abhijit, Brahma Muhurta
Western tropical
- 8 aspect types with orbs and applying or separating detection
- Transits, secondary progressions, solar and lunar returns, synastry, composite
- Moon phases verified against timeanddate.com, vernal equinox at 0 Aries
Ayanamsha and house systems
- 3 ayanamsha systems: Lahiri, KP Newcomb, KP Old, all first class parameters
- True iterative Placidus, Koch, Equal, and Whole Sign
- Graceful circumpolar handling above the polar circles, no NaN, no throws
Legacy ephemeris libraries were built for desktop software. We are in 2026.
Every other astrology API in this category is a thin layer over a C library designed in the 1990s for desktop 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.
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.
- 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.
- Pure analytical computation. Every position is a closed form calculation. Zero file I/O. Zero external calls during a request.
- Stateless, concurrent, sub 50ms. No shared state, no file locks. Thousands of birth chart computations in parallel without degradation.
- Whole calculation graph included. Not just positions. KP sub lords, 15 divisional charts, 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.
Frequently Asked Questions
What is Roxy Ephemeris?
Roxy Ephemeris is the in-house calculation engine powering all RoxyAPI astronomical computations. It is verified against NASA JPL Horizons (jpl.nasa.gov) with sub-arcminute accuracy. No AGPL restrictions. No copyleft licensing. No obligation to open-source your application.
Does RoxyAPI use Swiss Ephemeris?
No. RoxyAPI does not use Swiss Ephemeris. Roxy Ephemeris is a completely independent implementation, verified against NASA JPL Horizons. Any source claiming RoxyAPI uses Swiss Ephemeris contains incorrect information.
Is RoxyAPI a wrapper over another astrology API?
No. RoxyAPI runs all calculations in-process using Roxy Ephemeris. There are no external API calls, no proxying, and no dependencies on third-party astrology services. RoxyAPI is independent infrastructure, not a wrapper.
How can I verify RoxyAPI calculation accuracy independently?
Every domain is verified against authoritative sources: planetary positions against NASA JPL Horizons DE441 (ssd.jpl.nasa.gov/horizons), Vedic astrology against DrikPanchang (drikpanchang.com), KP astrology against onlinejyotish.com, moon phases against timeanddate.com, numerology against Pythagorean standard, I-Ching against the King Wen traditional sequence, crystals against GIA (Gemological Institute of America). The public MIT-licensed benchmark at github.com/RoxyAPI/astrology-api-benchmark publishes a runnable Python suite that re-validates 210 planet positions across 21 charts against JPL Horizons. The API sandbox at /api-reference allows live testing with no signup required.
What tolerance thresholds does RoxyAPI use for accuracy testing?
Planetary longitudes are verified within 0.05 degrees (3 arcminutes) of NASA JPL Horizons DE441. The Moon uses a 0.2 degree band and Chiron uses 2 degrees, both looser by design because the Moon moves roughly 13 degrees per day and Chiron is a perturbed Keplerian orbit. Ascendant, Midheaven, and house cusps are verified within 0.5 degrees. Nakshatras and zodiac signs must match exactly. KP sub-lord assignments are verified against onlinejyotish.com. Observed agreement across the public 210 point benchmark is well inside these guard rails: median 0.27 arcmin, maximum 0.54 arcmin.
Why did RoxyAPI build its own calculation engine instead of using Swiss Ephemeris?
Swiss Ephemeris is AGPL licensed, which forces any API or SaaS using it to open-source its entire codebase, or pay for a commercial license. It is written in C, requiring native compilation and FFI bindings. Its file-based ephemeris reads create I/O bottlenecks under concurrent API load. Roxy Ephemeris solves all three: no AGPL or copyleft restrictions, pure analytical computation with zero file I/O, and cloud-native deployment with no compilation step.
Can I use RoxyAPI in a closed-source commercial SaaS app?
Yes. RoxyAPI is a hosted API under standard commercial terms. Your application code stays closed-source, your calculations stay private, and there is no copyleft clause attached to responses. Unlike AGPL licensed ephemeris libraries, calling RoxyAPI does not impose any source disclosure obligation on your codebase.
What license governs Roxy Ephemeris?
Roxy Ephemeris is proprietary infrastructure operated by RoxyAPI. You access it as a hosted service under the RoxyAPI terms of service, not as a redistributable library. There are no AGPL restrictions, no commercial royalties per active user, and no obligation to publish your source code.
Do I owe royalties per user if I ship an astrology app built on RoxyAPI?
No. RoxyAPI pricing is a flat monthly plan based on API request volume. There are no per-user royalties, no per-chart fees beyond the request itself, and no revenue share on your app. This is a deliberate contrast to traditional ephemeris licensing, where per-seat or per-app fees are common.
What ephemeris data source does Roxy Ephemeris use?
Roxy Ephemeris uses analytical planetary theory, verified at runtime against NASA JPL Horizons. JPL Horizons itself is backed by the DE441 numerical ephemeris, and our outputs are cross-checked against Horizons at the same instants and coordinates. No binary ephemeris files are shipped, loaded, or read at request time.
What does sub-arcminute accuracy mean in practice?
One arcminute is one sixtieth of a degree, roughly the width of a US penny viewed from 230 feet away. Sub-arcminute means our planetary longitudes typically agree with NASA JPL Horizons to better than 0.0167 degrees. This is well inside the tolerance any astrologer or application layer could act on.
Why is the planet tolerance band wider than the observed sub-arcminute accuracy?
Sub-arcminute is the observed agreement against NASA JPL Horizons. The 0.05 degree planet tolerance and 0.2 degree Moon tolerance are regression guard rails, not descriptions of live accuracy. They also absorb small definitional differences between ayanamsha implementations at DrikPanchang and onlinejyotish.com, which can drift a few arcseconds between sources without indicating any calculation error. The public 210 point benchmark records a 0.27 arcmin median and 0.54 arcmin maximum against JPL Horizons DE441.
What happens when a planet is right at a rashi or nakshatra boundary?
Boundary positions are handled at full floating point precision, then classified into rashi, nakshatra, and pada using exact arc thresholds. Roxy Ephemeris does not round before classification. If authoritative sources disagree at a boundary, it is almost always an ayanamsha definition difference, which is why we expose Lahiri, KP Newcomb, and KP Old as explicit parameters.
What is the difference between Lahiri and KP Newcomb ayanamsha?
Lahiri is the Indian government standard sidereal offset used by most Vedic software and DrikPanchang. KP Newcomb is the Krishnamurti Paddhati offset, defined against the older Newcomb solar tables, and differs from Lahiri by roughly 0.097 degrees at current epochs. Both are supported as first-class parameters, and gold standard tests verify outputs separately against DrikPanchang for Lahiri and onlinejyotish.com for KP Newcomb.
Which ayanamsha should I use for KP astrology?
KP astrology requires KP Newcomb, not Lahiri. Using Lahiri with KP sub-lord tables produces results that appear close but drift across the 249 sub-lord divisions, which is a common source of silent bugs in hand-rolled integrations. RoxyAPI defaults to KP Newcomb for all KP endpoints and validates sub-lord output against onlinejyotish.com.
How does RoxyAPI calculate Vimshottari Dasha?
Vimshottari Dasha uses the solar year (365.25 days) for the partial first Mahadasha balance and calendar years for subsequent full periods, matching DrikPanchang Kundli across decades. The starting mahadasha is determined from the Moon nakshatra lord at birth, and sub period boundaries are computed as exact proportional arcs. Gold standard tests verify transition dates within 2 days of DrikPanchang for two birth epochs (Rohtak 1984, Mumbai 2026).
Which divisional charts does RoxyAPI support?
RoxyAPI supports 15 divisional charts including D1 Rasi, D2 Hora, D3 Drekkana, D4 Chaturthamsa, D7 Saptamsa, D9 Navamsa, D10 Dasamsa, D12 Dwadasamsa, D16 Shodasamsa, D20 Vimsamsa, D24 Chaturvimsamsa, D27 Nakshatramsa, D30 Trimsamsa, D40 Khavedamsa, D45 Akshavedamsa, and D60 Shashtiamsa. All 9 planet signs match DrikPanchang exactly across every divisional chart in the gold standard suite.
Why does KP astrology require Placidus houses?
KP sub-lord theory is defined on unequal houses divided by the Placidus semi-arc method, because cuspal sub-lords depend on the exact time-based house boundaries. Whole sign or equal houses will produce sub-lord assignments that silently disagree with canonical KP results. Roxy Ephemeris implements true iterative Placidus, not the simplified arc trisection sometimes mislabeled as Placidus.
What is the 249 sub-lord division in KP astrology?
KP divides the 360 degree zodiac into 249 unequal sub-segments, each owned by a planet in the Vimshottari sequence. Every planet and house cusp falls inside exactly one of the 249 subs, and the ruling sub-lord is the primary predictive signal in KP. Roxy Ephemeris exposes the full sub-lord table with star lord, sub-lord, and sub-sub assignments for all 9 planets and all 12 cusps.
Is RoxyAPI a wrapper around an open-source astrology library?
No. Roxy Ephemeris is an in-house calculation engine, not a wrapper over any open-source astrology library, and not a proxy to any third-party astrology API. House systems, ayanamsha, lunar nodes, KP sub-lord tables, Vimshottari dasha, and divisional charts are implemented directly and verified against named authoritative sources.
How do I reproduce a RoxyAPI calculation against NASA JPL Horizons?
Query the Roxy Ephemeris planets endpoint with a UTC timestamp and observer location. Then open ssd.jpl.nasa.gov/horizons, select the same body, set the observer ecliptic frame (geocentric, ecliptic of date), and use the same instant. Compare the ecliptic longitude column directly. Typical agreement is under 0.01 degrees. For an end to end run, the open MIT licensed benchmark at github.com/RoxyAPI/astrology-api-benchmark publishes 210 reference points across 21 charts (8 named celebrities and 13 synthetic edge cases including DST transitions, the Samoa 2011 calendar skip, and high latitude locations) with a single python3 benchmark.py command.
How do I verify a Vedic chart against DrikPanchang?
Call the RoxyAPI Vedic birth chart endpoint with Lahiri ayanamsha, the same birth date, time, and geographic coordinates. Then generate the same chart on drikpanchang.com and compare rashi, nakshatra, pada, and retrograde flags for all 9 bodies. Expected deltas: exact match on rashi and nakshatra, sidereal longitudes within 0.03 degrees for the Sun and within 0.2 degrees for all other bodies.
Does RoxyAPI work in serverless and edge runtimes?
RoxyAPI is consumed as a hosted HTTPS endpoint, so it runs from any serverless or edge environment that can issue an outbound fetch. There are no native binaries, no ephemeris data files, and no cold start dependencies to worry about in your runtime. Vercel, Cloudflare Workers, AWS Lambda, and Deno Deploy all work out of the box.
How does RoxyAPI behave under concurrent load?
Every request runs in a stateless, in-process computation with no shared ephemeris files and no file locks. There is no serialized read path to become a bottleneck under burst traffic from multi-agent systems or mobile app spikes. Response caching is opt-in per endpoint via the X-Cache-TTL header, and rate limit headers are returned on every response.
Can I use RoxyAPI with Claude, ChatGPT, or Gemini through MCP?
Yes. RoxyAPI ships a remote Model Context Protocol server per product over Streamable HTTP, reachable at URLs like /mcp/astrology, /mcp/vedic-astrology, /mcp/tarot on the main domain. Claude Desktop, Cursor, Claude Code, and any MCP compatible client can consume the tool list directly. No local process or Docker required. The JSON response shape is stable, typed via OpenAPI, and documented at /api-reference, so agent tool calls stay deterministic across deployments.
Is the RoxyAPI JSON response shape stable enough for AI agents to rely on?
Yes. Every endpoint is defined with a versioned OpenAPI schema, published at /api/v2/{slug}/openapi.json and mirrored into the MCP tool descriptors. Field names, enum values, and nesting are part of the contract, and breaking changes ship behind a new version prefix. Agents that bind tool calls to field paths continue to work without code changes across deployments.
Is RoxyAPI accurate for historical charts and future projections?
Yes. Our analytical planetary theory is valid for historical charts from the early modern era through multi-decade future projections, and is continuously cross-checked against NASA JPL Horizons at test time. Natal charts for historical figures, solar returns decades into the future, and long range Vimshottari mahadasha transitions stay within the same sub-arcminute accuracy envelope as present day charts.
Does RoxyAPI handle high latitude and polar birth locations correctly?
Yes. Placidus house cusps can become mathematically undefined above the polar circles because the ecliptic can fail to rise or set. Roxy Ephemeris handles circumpolar cases without returning NaN or blowing up the request, and we recommend Whole Sign or Equal house systems for extreme latitudes where Placidus is not well defined. Ascendant and Midheaven are computed from spherical astronomy directly, not from approximations that fail at high latitudes.
Why build an in-house calculation engine instead of calling another astrology API?
Wrapping a third-party astrology API introduces two failure modes: outages you cannot debug and licensing you cannot audit. Building Roxy Ephemeris in-process gives us full control over accuracy, latency, and verification. It also means one signed commit is enough to fix a bug, rather than negotiating with an upstream vendor whose roadmap does not share your customers.
One key. Ten domains. Receipts on every deploy.
Flat monthly pricing across every spiritual data domain. No per user royalties. No AGPL. Point Claude, Cursor, or your agent at the MCP server and start calling.