Financial astrology data API: planetary lines, ephemeris and celestial events
Verifiable, reproducible astro-financial data for backtesting: geocentric and heliocentric positions, declination, Gann planetary lines and a celestial event calendar. The only astro-finance data source that is provable and replayable: every result is SHA-256 hashed.
For traders, quants and the bots they run: the real NASA/JPL DE440 ephemeris behind one HTTP call, returned as plain JSON (or pandas DataFrames with the Python client), with a SHA-256 hash on every result so a backtest can be replayed to the byte. Data for your own analysis, never a trading signal or forecast.
Planetary lines API
Gann planetary lines, geocentric and heliocentric, as a time series:
longitudes, aspect offsets, the Mean of 5 and Circle of 8 averages, and price levels
price = (degree + 360k) × unit. $0.20 per call (up to 1,000 samples).
Celestial events API
Every ingress, station, lunation, solar and lunar eclipse, aspect, declination parallel and out-of-bounds crossing between two dates, 1800-2200, each to the minute. $0.25 per call (up to a year).
Ephemeris API
Positions geocentric or heliocentric, ecliptic or equatorial (right ascension, declination, out-of-bounds), speed and retrograde flags, aspects and the full sky at a moment. From $0.01 per call.
Routes and prices
| Route | What | Price | Summary |
|---|---|---|---|
POST /v1/finance/planetary-lines | Gann planetary lines | $0.20 | Planet degrees (geocentric and heliocentric) at a moment or as a time series, with aspect offsets, Mean of 5 / Circle of 8 and price levels. |
POST /v1/finance/events | Astro event calendar | $0.25 | Every ingress, station, lunation, eclipse, aspect, parallel and out-of-bounds between two dates (1800-2200), to the minute. |
POST /v1/western/positions | Planetary positions | $0.01 | Tropical (or sidereal) longitudes, latitudes, speeds and retrograde flags of Sun..Pluto, nodes, Lilith. |
POST /v1/western/aspects | Aspects | $0.02 | Aspects (with orb, exactness, applying/separating) for a moment, or for any longitudes you supply. |
POST /v1/western/sky | Sky today | $0.01 | The sky now plus the exact UTC times of the next ingresses, stations, lunations and aspects (no birth data). |
Try it
curl -X POST https://astro-agent.dev/v1/finance/events -H 'Content-Type: application/json' \
-d '{"start":"2024-01-01","end":"2024-12-31","include":["eclipse","station"]}'
curl -X POST https://astro-agent.dev/v1/finance/planetary-lines -H 'Content-Type: application/json' \
-d '{"start":"2024-01-01","end":"2024-03-31","bodies":["jupiter","saturn"],"perspective":"both"}'
The first answer is a 402 with the price; any x402 or MPP client pays and retries. Or use credits:
send X-Credits-Token.
Python client: DataFrames for backtests
pip install "astro-agents @ git+https://github.com/aidatatools-dev/astro-agents#subdirectory=clients/python" # PyPI release: pip install astro-agents
from astro_agents import Client, merge_events
client = Client() # ASTRO_CREDITS_TOKEN
lines = client.planetary_lines(start="2020-01-01", end="2024-12-31", bodies=["jupiter", "saturn"],
perspective="both", averages=["mean_of_5"])
events = client.events("2020-01-01", "2024-12-31", include=["eclipse", "station", "ingress"])
candles = merge_events(candles, events, on="open_time")
Ready-made examples for vectorbt, backtrader and Freqtrade: see the gallery.
Free TradingView indicator
Celestial Events & Planetary Lines draws Gann planetary lines (geo + helio) and marks ingresses, stations and eclipses on any TradingView chart. Its 3,600+ events (1990-2040) are exact to the minute from DE440; its lines use a lightweight on-chart ephemeris whose error against DE440 is measured and published. Source and accuracy report.
Why the numbers can be trusted
- Positions from NASA/JPL DE440 (NASA/JPL), 1800-01-01..2200-01-01, via Skyfield: geocentric apparent, true equinox of date, IAU 2006/2000A.
- Historical time zones resolved for you (IANA tz database, DST of the era, Local Mean Time); ambiguous or non-existent local times are flagged, never guessed.
- Deterministic, no LLM: same input -> same bytes. Every response carries meta.input_sha256 and meta.result_sha256 (also as X-Input-SHA256 / X-Result-SHA256 headers); POST /v1/verify recomputes one.
- Every convention is in the response: ayanamsa (name, true and mean value), house system, orbs, node type, dasha year length, dosha and koota rule sets.
- Cross-validated against an independent engine (XALEN, Apache-2.0): ayanamsas agree to < 0.1", 15/16 divisional charts identically, all 11 house systems in structure.
- Accuracy vs NASA/JPL Horizons (12,400 comparisons, 1800-2199): positions within 0.024" (ICRF); ecliptic longitudes as served within 0.062" over 1962-2026. Method and every number: https://astro-agent.dev/benchmark.md
Accuracy benchmark against NASA/JPL Horizons · How this compares with Swiss Ephemeris or computing it yourself
Prepaid credits
Pay once, then spend call by call with a token. 1 credit = $1 (USDC); credits never expire.
| Pack | You pay | Credits | Bonus | Worth |
|---|---|---|---|---|
| Probe | $10.00 | 10 | +0% | 50 planetary-lines calls, or 40 event-calendar years, or 166 natal charts, or 20 Vedic reports |
| Backtest | $50.00 | 60 | +20% | 300 planetary-lines calls, or 240 event-calendar years, or 1000 natal charts, or 120 Vedic reports |
| Quant | $200.00 | 260 | +30% | 1300 planetary-lines calls, or 1040 event-calendar years, or 4333 natal charts, or 520 Vedic reports |
| Autopilot | $1000.00 | 1400 | +40% | 7000 planetary-lines calls, or 5600 event-calendar years, or 23333 natal charts, or 2800 Vedic reports |
FAQ
Is this a trading signal or a forecast?
No. Astro Agents returns astronomical data: positions, angles, price levels derived from degrees by your own scale, and the exact times of events. What you test with it, and what you conclude, is yours. There are no buy/sell calls, scores or predictions anywhere in the API.
Which ephemeris is used, and how accurate is it?
NASA/JPL DE440 through Skyfield. Compared with NASA/JPL Horizons on 12,400 values from 1800 to 2200, positions agree to 0.024 arcseconds at worst (the full method and every compared value are published).
What date range and time resolution do I get?
Events from 1800 to 2200, each to the UTC minute (ingresses, stations, lunations, solar and lunar eclipses, aspects, declination parallels, out-of-bounds). Planetary lines as a series at 1h, 4h, 12h, 1d or 1w, up to 1,000 samples per call; the Python client pages longer ranges for you.
How do I prove a backtest used these exact numbers?
Every response carries meta.input_sha256 and meta.result_sha256. Keep them with the backtest: the same request returns the same bytes, and POST /v1/verify (free) or the Python client's verify_dataframe() recomputes the hash.
Do I need an account or an API key?
No. Pay per call with x402 or MPP (USDC), or buy a prepaid credit pack once and spend it with a token. Each client gets 1 free call on the $0.01-0.02 routes to try it.