Lx Ephemeris Rust engine

Lx Ephemeris — the Rust engine behind Astrology API

Our own clean-room Rust engine computes from NASA JPL DE440 and is verified against JPL Horizons to under 0.003″.

Use it through the REST API, or install it yourself.

<0.003″
vs JPL Horizons DE440
~150 µs
per natal chart
23
House Systems
68
JPL Minor Bodies
Verified against JPL Horizons
Memory-safe Rust (forbid(unsafe_code))
Python / Node.js / Rust SDKs

How was Lx Ephemeris verified? The golden-vector results

Every suite below compares the engine with an outside reference. Errors are the largest difference found, in arcseconds (″) unless noted. Figures come from the engine's acceptance report for version 1.0.0.

SuiteReferenceVectorsLargest errorPass limit
l1a_horizons_de440JPL Horizons DE440 positions3600.002975″< 0.005″
l1b_planets_de440sDE440s with IAU 2006/2000A (SOFA)900.000527″≤ 0.01″
l1b_asteroids_68JPL Horizons SB441-N16 with IAU 2006/2000A3400.000006″≤ 0.05″
l1b_ayanamsas_12Lieske (1977), IAE (1989), Hipparcos-21200.000000″≤ 0.05″
l1b_houses_23Holden (1977) and Munkasey (1991): 23 systems, angles and Gauquelin sectors2530.000000″≤ 0.01″
l1b_lunar_points_7ELP-2000/82B and DE440s apogee630.000025″≤ 0.05″
l1b_uranians_9Witte, Sieggrün and Seov models540.000018″≤ 0.05″
l1b_stars_50VizieR Hipparcos-2, XHIP and SOFA1040.000263″≤ 0.01″
l3_se_referenceSwiss Ephemeris black-box cross-check2501.1402″ planets, 0.000000″ housesDocumented budget
l3_se_10k_gridFull-domain grid, years 1850 to 210010,2420.000486″ planets, 0.000254″ minor bodiesAll sections verified
l3_wave_bcf_10k_gridEvents, lunar phases, solar terms, ayanamsas, house positions10,5400.0005″ ayanamsas, events below 1e-9°All sections verified
l3_wave_g_extreme_10k_gridExtreme boundaries and SWE-01..SWE-11 regression guards10,0000 bug regressionsAll guards verified

The under 0.003″ claim rests on the first row, which compares against JPL Horizons. The l3_se_reference row measures agreement with Swiss Ephemeris output as a compatibility budget. It is not an accuracy claim.

Lx Ephemeris vs Swiss Ephemeris: what differs?

A side-by-side look at observable differences. We list behaviors, not marketing numbers, and we publish no latency comparison until a fair head-to-head benchmark exists.

FeatureLx EphemerisSwiss Ephemeris
Core languageRust, forbid(unsafe_code)C library (libswe)
Data sourceNASA JPL DE440 (native DE440s kernel)DE431-based compressed .se1 files
Missing data filesEngine() runs with zero files in built-in analytical mode; loading a kernel directory raises an error if files are missingCan fall back silently from .se1 to an analytical series
Polar housesExplicit PolarPolicy: error or labelled fallbackSilent fallback to Porphyry cusps above about 66.56° latitude
Star-anchored ayanamsasNo yearly aberration wobbleAbout ±20.5″ annual wobble
Minor bodies setup68 JPL minor bodies from one verified kernel fileSeparate .se1 files to manage
Event solversBuilt-in transit, return, station and Void-of-Course Moon solversWrite your own search loops
Shared stateImmutable engine, no process-global stateProcess-global settings for sidereal mode, observer and path
SDKsPython, Node.js, Rust and CLI with identical mathC library plus separate third-party bindings

Lx Ephemeris Commercial License

Three ways to use the engine in a commercial product. Pick the one that fits how you deploy.

Astrology API subscription

Turnkey cloud REST API

Commercial use is included and there is no engine license to buy. You also get geocoding, historical timezone resolution, SVG chart wheels and interpretations.

  • Commercial use included
  • No separate engine license
  • No AGPL obligation for API users
  • Free tier: 50 requests every month
See API plans

Standard Commercial License

Self-hosted Lx Ephemeris

For running the engine on your own servers inside products you ship to end users.

  • End-user web and mobile apps
  • Content platforms
  • Internal business systems
  • Own cloud, on-premise or embedded deployment
Request pricing

Enterprise / API Provider Agreement

For API and platform businesses

Required for any B2B developer API, Ephemeris-as-a-Service, SDK, webhook, MCP or passthrough service. The Standard Commercial License does not allow these.

  • B2B developer APIs
  • Ephemeris-as-a-Service
  • SDK, webhook and MCP services
  • Passthrough calculation services
Request pricing

What a commercial license includes

Offline license key

A signed Ed25519 key is verified locally, with zero network calls at runtime.

Easy delivery

Pass the key as an environment variable or a mounted secret file in Docker and Kubernetes.

Perpetual fallback

Production never expires, and numerical behavior never changes after the updates_until date.

Same math in every SDK

Python, Node.js, Rust and the CLI return identical results.

Free 30-day evaluation

Companies can test in non-production environments for 30 days before they buy.

Free non-commercial use

Personal, academic and non-profit use stays free under PolyForm Noncommercial.

Request commercial pricing

Tell us how you plan to use Lx Ephemeris. We reply with pricing for the right license.

SDKs you plan to use (optional)

Explore the APIs powered by Lx Ephemeris

Lx Ephemeris runs behind every calculation endpoint. See it in action with the Natal Chart API — full birth charts; Transit API — real-time planetary timing; Vedic Astrology API — sidereal charts and dashas; House Systems API — 23 house systems with polar handling; Fixed Stars API — 52 fixed stars.