Free horoscope API

Horoscope & astrology data API

A read-only JSON API over the same Swiss-Ephemeris engine that runs Sigastra: daily, weekly and monthly horoscopes for all twelve signs in fifteen languages, plus live moon phase, today’s planetary aspects and sign compatibility. No account, no key, no invoice — the only condition is attribution, and a canonical tag when you publish the full text.

Try it

GET /api/v1/daily?lang=en&sign=leo

Runs against the live API from your browser. CORS is open, so this is also a working example of a client-side integration.

Endpoints

GET /api/v1/dailylang, sign, fullToday’s horoscope. All twelve signs, or one.
GET /api/v1/weeklylang, sign, fullThe current week, with its period key and range label.
GET /api/v1/monthlylang, sign, fullThe current month.
GET /api/v1/moonlangIlluminated fraction, phase, waxing/waning, moon sign. Pure ephemeris.
GET /api/v1/cosmiclangThe day’s closest planet-to-planet aspects, with orbs. Pure ephemeris.
GET /api/v1/compatlang, a, bDeterministic sign compatibility: score, band, element and modality relation.

Parameters

lang
One of the fifteen served languages (en, de, tr, ro, pl, es, sr, hr, nl, sl, pt-BR, fr, it, ja, id). Anything else falls back to English rather than erroring.
sign
The English key (leo), the English slug (leo) or the locale’s own slug (loewe). Omit it for all twelve.
full
full=1 returns the complete text instead of a teaser. This is the syndication mode and it turns the canonical requirement on.
a, b
Compat only. Two signs, in any of the accepted forms.

Teaser or full text

By default every item carries a teaser — enough for a card, a sidebar or a feed row. Add full=1 and you get the complete body, plus a sections object matching the source page. Full text is meant for republishing, so the attribution object switches canonicalRequired to true and hands you the exact tag to paste.

Rate limit

10 requests per second per IP, with a burst of 30, enforced at the edge. A syndication partner polls once a day per language and will never see it. There is no daily cap and no quota to apply for.

Examples

curl -s "https://sigastra.com/api/v1/daily?lang=en&sign=leo" | jq .
curl -s "https://sigastra.com/api/v1/weekly?lang=en&sign=leo&full=1" | jq '.attribution.canonicalTag'
const res = await fetch("https://sigastra.com/api/v1/daily?lang=en&sign=leo");
const { items, attribution } = await res.json();

document.querySelector("#horoscope").textContent = items[0].text;
document.querySelector("#credit").outerHTML =
  `<a href="${attribution.localizedHref}">${attribution.text}</a>`;

// Publishing the FULL text (full=1)? Also put this in <head>:
// attribution.canonicalTag

The terms, in full

  • Free for any site, commercial or not. No account, no key, no rate card.
  • Render the visible “Powered by Sigastra” link, do-follow, pointing at the localizedHref we return.
  • If you publish the FULL text, add the canonicalTag from the payload to that page’s <head>.
  • Do not present the content as computed by you — it is computed, and the attribution is what makes that claim checkable.

API FAQ

Is the horoscope API really free?+

Yes — no account, no key, no invoice, for commercial sites too. The conditions are attribution and, for full text, a canonical tag.

Do I need an API key?+

No. The endpoints are keyless and rate-limited at the edge instead. The response shape already carries everything a key would later attach to, so adding one would not break your integration.

What is the rate limit?+

10 requests per second per IP with a burst of 30. There is no daily cap.

Can I republish the whole horoscope?+

Yes, with full=1 — and then you must add the canonical tag the payload gives you. Without it, two identical pages compete and search engines pick one; the canonical is what keeps that from being a coin flip.

Which languages does the astrology API cover?+

Fifteen: en, de, tr, ro, pl, es, sr, hr, nl, sl, pt-BR, fr, it, ja, id. Sign names, planet names, aspect names and phase names are all localized.

Is the data computed or written?+

Computed. Moon phase and aspects come straight from the ephemeris; horoscope text is generated daily from the real planetary positions of that day and cached — the API never generates on your request, it reads what is already there.

Everything here is free. The only condition is a visible do-follow link — plus a canonical tag when you publish the full text.