Free Astrology API
Natal charts, horoscope content and exact sky-event dates as JSON. No key, no account, no paid tier. Every position and station time is computed from the Swiss Ephemeris rather than copied from another calendar.
✦Reviewed by the CosmyDay Astrology TeamLast reviewed August 2026
Start here
Base URL https://api.cosmyday.com. No headers required, and /natal, /events/* and /content/* are CORS-open so you can call them straight from the browser.
curl "https://api.cosmyday.com/events/upcoming?days=30&min_importance=60"
Machine-readable spec: /openapi.json (OpenAPI 3.0)
Charts
Astronomical calculation, computed per request.
/natalPlanetary positions, house cusps and aspects for a birth moment. Time is local to the coordinates — the timezone is resolved for you.
curl -X POST https://api.cosmyday.com/natal \
-H "Content-Type: application/json" \
-d '{"year":1990,"month":6,"day":15,"hour":14,"minute":30,"lat":40.7128,"lon":-74.006}'/search-location?q=Turn a place name into the coordinates /natal needs. Proxied to OpenStreetMap Nominatim, rate limited to one request per second.
curl "https://api.cosmyday.com/search-location?q=New%20York"
Sky events
One unified timeline of retrogrades, lunations, eclipses, zodiac seasons and planetary sign changes.
/events/upcomingEvents in the next N days. Filter with min_importance (60+ is roughly 'notable'), kind, days, limit and from_date.
curl "https://api.cosmyday.com/events/upcoming?days=60&min_importance=60"
/events/kindsEvery event kind with counts, so you can build a filter without hardcoding a list that drifts.
curl "https://api.cosmyday.com/events/kinds"
Horoscope content
Generated text, refreshed on a schedule. Sign values are lowercase English names.
/content/dailyAll twelve signs for today.
/content/daily/{sign}One sign for today.
curl "https://api.cosmyday.com/content/daily/leo"
/content/weeklyAll twelve signs for this week.
/content/weekly/{sign}One sign for this week.
/content/monthlyAll twelve signs for this month.
/content/monthly/{sign}One sign for this month.
/content/monthly-archive/listEvery archived sign-month available.
/content/monthly-archive/{sign}/{yyyy-mm}A specific past or future month for one sign.
curl "https://api.cosmyday.com/content/monthly-archive/leo/2026-03"
/content/moonCurrent moon phase article.
/content/transitToday's transit article.
/content/week-aheadSeven-day forecast.
/content/monthly-overviewMonthly overview article.
Utility
/healthService status.
Fair use
This runs on a single small server and costs us money to keep free. Cache what you can, do not poll faster than the data changes — horoscope content is regenerated once a day and the sky-event feed only changes when we extend it to new years — and identify your app in a User-Agent so we can contact you rather than block you if something goes wrong. There is no hard rate limit today, and we would rather not add one.
If you build something with this, we would genuinely like to see it: admin@cosmyday.com. If you need a browser-callable version or a bulk export, ask — both are easier than you would expect.
Prefer something you can drop into a page without writing code? The free embeddable widgets cover horoscopes, natal charts and daily astro-news.
Frequently asked questions
Do I need an API key?
No. There is no key, no account and no paid tier. Please keep request volume reasonable and cache responses where you can — there is nothing to upgrade to if you exhaust it.
Can I call it from the browser?
Yes, for most of it. /natal, /events/* and /content/* send an open CORS header, so you can fetch them straight from client-side JavaScript with no proxy. The one exception is /search-location: it proxies OpenStreetMap under a shared rate limit, so it stays server-side only. If you need geocoding in the browser, call Nominatim directly with your own User-Agent.
How accurate are the dates?
Positions and station times are computed from the Swiss Ephemeris, the same high-precision engine professional astrology software uses, then localised to US Eastern Time. Retrograde stations, lunations and eclipse maxima are exact to the minute rather than rounded to a day — most astrology sites copy dates from each other, which is where the discrepancies you may have noticed come from.
Can I use this commercially?
Yes. It is free for any use. A credit linking to cosmyday.com is appreciated but not required. Do not present the computed data as your own original astronomical research.
Why does an eclipse appear twice in the events feed?
Because it genuinely is two things: an eclipse is also a new or full moon. Both records are returned so you can treat it either way, and the eclipse record carries the higher importance score.