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.

POST/natal

Planetary 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}'
GET/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.

GET/events/upcoming

Events 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"
GET/events/kinds

Every 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.

GET/content/daily

All twelve signs for today.

GET/content/daily/{sign}

One sign for today.

curl "https://api.cosmyday.com/content/daily/leo"
GET/content/weekly

All twelve signs for this week.

GET/content/weekly/{sign}

One sign for this week.

GET/content/monthly

All twelve signs for this month.

GET/content/monthly/{sign}

One sign for this month.

GET/content/monthly-archive/list

Every archived sign-month available.

GET/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"
GET/content/moon

Current moon phase article.

GET/content/transit

Today's transit article.

GET/content/week-ahead

Seven-day forecast.

GET/content/monthly-overview

Monthly overview article.

Utility

GET/health

Service 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.