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=leoRuns 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/daily | lang, sign, full | Today’s horoscope. All twelve signs, or one. |
GET /api/v1/weekly | lang, sign, full | The current week, with its period key and range label. |
GET /api/v1/monthly | lang, sign, full | The current month. |
GET /api/v1/moon | lang | Illuminated fraction, phase, waxing/waning, moon sign. Pure ephemeris. |
GET /api/v1/cosmic | lang | The day’s closest planet-to-planet aspects, with orbs. Pure ephemeris. |
GET /api/v1/compat | lang, a, b | Deterministic 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.canonicalTagThe 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.