Horoscope API
Transit-based editorial columns
A publish-ready column for any zodiac sign, built from the dated transits over it and returned with those events for fact-checking. The reading names the aspects, sign ingresses, lunations and retrograde stations driving it and reads each into the whole-sign houses of that sign, so every sign gets different content rather than one blurb reused twelve times. Alongside the column come overview, love, career, health, finance and advice, the active transits, Moon sign and phase, an energy rating, lucky number and color, and compatible signs. No language model is involved, so a given sign and date always returns the same text and a piece scheduled months ahead is the piece that runs. Content rolls over at midnight, by default UTC. Pass date for editorial scheduling, or timezone to roll over on a local clock. Available in eight languages. Daily horoscope API, zodiac forecast, sun sign horoscope, astrology prediction.
Request
GET /api/v2/astrology/horoscope/{sign}/daily
Parameters
| Parameter | Type | Description |
|---|---|---|
| sign*path | string enum | Zodiac sign, case-insensitive (e.g., aries, Aries, ARIES all work). |
| langquery | string enum | Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English. Default en. |
| datequery | string (date) | Forecast date in YYYY-MM-DD format. Past and future dates are both supported, for editorial scheduling and backfill. Defaults to the current period in the timezone parameter. |
| timezonequery | string | Selects which period counts as current when date is omitted. Defaults to UTC, so the forecast rolls over at 00:00 UTC on each day. Pass the timezone of the end user to roll over on their local clock instead. Ignored when date is set. Accepts an IANA name (e.g. "America/New_York"), decimal hours (e.g. 5.5 for IST), or a fixed UTC offset (e.g. "-05:00"). |
Response
Structured JSON with documented fields, covered by 9,557 automated tests per deploy, 2,121 of them gold-standard tests verified against NASA JPL Horizons. Not hallucinated text.
{
"sign": "Aries",
"date": "2026-04-03",
"overview": "Saturn teaches Aries through focused effort today. What feels heavy now becomes your greatest strength later. Trust the process of mastery and keep showing up.",
"love": "Venus in your sixth house shows love through acts of service. Small gestures of care mean more than grand declarations. Health-focused activities with a partner strengthen your bond.",
"career": "Take responsibility seriously at work. Hard work brings lasting results, even when progress feels invisible. Your reliability earns respect.",
"health": "The Sun in your fifth house connects vitality with joy and self-expression. Physical play, creative movement, and laughter are the best medicine today.",
"finance": "Jupiter in your fifth house brings financial luck through creative ventures and speculative risks. Hobbies could become income sources.",
"advice": "Mercury in your fourth house turns attention to family conversations and household planning. Important discussions about home life go well.",
"column": "Mercury trines Jupiter today. Your twelfth house of solitude and inner reflection takes the weight of it. The working mind is set against the impulse to expand here. A talent that costs nothing tends to get spent on nothing in particular. Alongside that, the Sun forms a semi-square to Uranus today, sitting in your first house. Between the will and the break in the pattern, the difference is the whole story. Acting early is what this angle rewards, since the cost of waiting compounds quietly. Start with a plain account of what is actually wanted. Your first house of identity and self-expression is held by Neptune in Aries, and the first impression gets made before anything has been explained. If only one thing gets done, make it the quiet hour taken deliberately rather than stolen.",
"events": [
{
"type": "aspect",
"at": "2026-04-03T11:27:57Z",
"bodies": [
"Mercury",
"Jupiter"
],
"aspect": "trine",
"house": 12,
"through": "2026-04-11T02:28:12Z"
},
{
"type": "aspect",
"at": "2026-04-03T15:18:11Z",
"bodies": [
"Sun",
"Uranus"
],
"aspect": "semi-square",
"house": 1,
"through": "2026-04-05T18:24:14Z"
}
],
"luckyNumber": 8,
"luckyColor": "Red",
"compatibleSigns": [
"Leo",
"Sagittarius",
"Gemini"
],
"activeTransits": [
"Moon in Libra (7th house of partnerships and relationships)",
"Venus in Taurus (2nd house of finances and personal values)"
],
"moonSign": "Libra",
"moonPhase": "Waning Gibbous Moon",
"energyRating": 6
}Response fields
| Field | Type | Description |
|---|---|---|
| sign* | string | Zodiac sign for this horoscope. |
| date* | string | Date of this daily horoscope (YYYY-MM-DD). |
| overview* | string | General daily overview based on Moon house activation and planetary transits. Unique per sign based on whole-sign house positions. |
| love* | string | Love and relationship forecast. Based on Venus house position relative to this sign, providing unique guidance per sign. |
| career* | string | Career and professional outlook. Based on Mars house position relative to this sign, with Saturn and Jupiter influences. |
| health* | string | Health, energy, and wellness guidance for the day. |
| finance* | string | Financial outlook and money-related guidance. |
| advice* | string | Actionable daily advice based on the dominant transit energy. |
| column* | string | The full column for this period, ready to run as one piece, with paragraphs separated by a blank line. Names the events driving it and the dates they fall on, read into the whole-sign houses of this sign. Typically 120 to 180 words. The six section fields are the same reading split by topic, so render either shape and never both. Deterministic: the same sign and period always returns the same column. |
| events* | array of object | The dated astronomical events this reading is built on, earliest first. Every field in every row can be checked against an independent authority, so a column can be fact-checked before it is published. Empty on a period in which nothing exact happens, where the reading falls back to the standing positions instead. |
| events[].type* | string enum | Kind of event. aspect is an exact angle between two moving bodies, sign-ingress a body entering a new sign, retrograde-station a body turning retrograde or direct, lunar-phase one of the four quarters, eclipse a solar or lunar eclipse, and solar-season the Sun entering a sign. |
| events[].at* | string | Exact instant the event perfects, UTC, to the second. Verifiable against NASA JPL Horizons for a position event and against the US Naval Observatory for a lunar phase or eclipse. |
| events[].bodies* | array of string | Bodies involved, canonical English regardless of the requested language so the value stays safe to switch on. Two entries for an aspect, faster body first. One entry for an ingress, a station, a lunar phase, or an eclipse. |
| events[].aspect | string | Angle formed, on aspect events only: conjunction, sextile, square, trine, opposition, semi-sextile, quincunx, semi-square, or sesquiquadrate. |
Show all fieldsShow fewer fields
| Field | Type | Description |
|---|---|---|
| events[].sign | string | Sign the event falls in, lowercase, where it has exactly one. Absent for an aspect whose two bodies stand in different signs. |
| events[].house* | integer | Whole-sign house the event falls in, counted from the queried sign, 1 to 12. This is what turns one global sky event into a statement about this reader. |
| events[].through | string | End of the window this event holds open, UTC, given only where a bounded window is a real fact about it: the orb span of an aspect, the sign span of an ingress or a season, the retrograde span of a station. Absent for a lunar phase or an eclipse, which are instants and not spans. |
| luckyNumber* | number | Lucky number for the day, 1 to 9, from the traditional planetary number correspondence applied to the planet that governs this sign today. Not a random draw and not a function of the date. |
| luckyColor* | string | Lucky color for the day, drawn from the three colors of the sign element and selected by the planet governing the reading. |
| compatibleSigns* | array of string | Most compatible zodiac signs for this sign. Trine partners (same element) followed by a sextile partner (complementary element). Use for compatibility widgets, dating app onboarding, and horoscope cards. |
| activeTransits* | array of string | Active planetary transits affecting this sign today, with house activations. Each transit shows the planet, its current sign, and which house it activates for the queried sign. |
| moonSign* | string | Current Moon sign. Changes every 2-3 days, sets the emotional tone for all signs. |
| moonPhase* | string | Display name of the current lunar phase, one of the eight standard phases from New Moon through Waning Crescent. Translates in place with the lang parameter, like the moonSign beside it, so render it directly. |
| energyRating* | number | Overall energy for this sign today (1-10). Derived from how many aspects are in force between the planets, how tight they are, whether they are harmonious or challenging, and which houses they fall in for this sign, so a busy day rates higher than a quiet one and a harmonious day higher than a hostile one of the same weight. Useful for content widgets and visual indicators. |
Supported options
sign
lang
Call it in your language in seconds.
Every snippet is generated from the live OpenAPI spec, so method names, parameters, and fields always match production.
import { createRoxy } from '@roxyapi/sdk'
const roxy = createRoxy(process.env.ROXY_API_KEY!)
const { data } = await roxy.astrology.getDailyHoroscope({ path: { sign: 'aries' } })from roxy_sdk import create_roxy
roxy = create_roxy("YOUR_API_KEY")
result = roxy.astrology.get_daily_horoscope(sign='aries')use function RoxyAPI\Sdk\createRoxy;
$roxy = createRoxy(getenv('ROXY_API_KEY'));
$result = $roxy->astrology->getDailyHoroscope(sign: 'aries');using RoxyApi;
var roxy = new RoxyClient(Environment.GetEnvironmentVariable("ROXY_API_KEY")!);
var result = await roxy.Astrology.Horoscope["aries"].Daily.GetAsync();import roxyapi "github.com/RoxyAPI/sdk-go"
roxy, _ := roxyapi.NewRoxy(os.Getenv("ROXY_API_KEY"))
resp, _ := roxy.Astrology.GetDailyHoroscope(ctx, "aries", nil)curl "https://roxyapi.com/api/v2/astrology/horoscope/aries/daily" \
-H "X-API-Key: YOUR_KEY"Prefer to try before you write code? Run this Western Astrology endpoint live in the API playground and inspect a real production response.
More Horoscope endpoints
The Horoscope API bundles these related endpoints under one key.
Monthly horoscope by zodiac sign - Editorial column with key dates
A month-long column for any zodiac sign, plus a week-by-week breakdown and dated key dates a calendar page renders directly. The column names every aspect, ingress, lunation and station of the month and reads each into the whole-sign houses of that sign, and those events come back beside the prose with their exact instants, so a piece can be checked against NASA JPL Horizons or the US Naval Observatory before it runs. Key dates are the real New Moon, Full Moon and retrograde instants, never approximations. Alongside the column come overview, love, career, health, finance and advice. Pass any date inside a month to retrieve that month, or timezone to roll over on a local clock. Available in eight languages. Monthly horoscope API, zodiac monthly forecast, astrology monthly prediction.
Try it liveWeekly horoscope by zodiac sign - Seven-day editorial column
A Monday to Sunday column for any zodiac sign, naming the transits that perfect during the week and the days they fall on. Each event is read into the whole-sign houses of that sign, so content is unique per sign, and the dated events come back beside the prose so an editor can check a piece before it runs. Alongside the column come overview, love, career, health, finance and advice, plus lucky days, lucky numbers and compatible signs. No language model is involved, so the same sign and week always returns the same text. Pass any date inside a week to retrieve that week, or timezone to roll over on a local clock. Available in eight languages. Weekly horoscope API, zodiac weekly forecast, astrology weekly prediction.
Try it liveYearly horoscope by zodiac sign - Year ahead forecast with themes, key periods, eclipses and retrogrades
Get the year ahead for any zodiac sign, as a long-form column plus the structured arrays a year-ahead page is built from: the slow-body themes that set the backdrop, a dated key period for each of the twelve houses, the best month for love, career, health and finance, and every eclipse and every retrograde and direct station with the house it falls in for this sign. Love, career, health, finance and advice cover the whole year, and the dated events behind the copy come back beside it so an editor can check the piece before it runs. Omit the year for the one in progress, or pass any year from 1900 to 2100 to build an archive or a forecast ahead of time. Yearly horoscope API, year ahead astrology, annual zodiac forecast, eclipse and retrograde calendar.
Try it liveRemote MCP for AI agents
Every Western Astrology endpoint is a callable tool on the Remote MCP server over Streamable HTTP. No local setup, no Docker. Claude, ChatGPT, Cursor, and any MCP client auto-discover the tools and ground their answers in verified data.
claude mcp add --transport http \
roxy-astrology https://roxyapi.com/mcp/astrology \
--header "X-API-Key: YOUR_KEY"Tool name for GET /astrology/horoscope/{sign}/daily: get_astrology_horoscope_sign_daily. Full MCP setup guide
What you can build
Launch natal chart apps with professional-grade accuracy: birth charts, planet positions, house placements, aspects, and element analysis ready for your UI in days
Add zodiac compatibility scoring to dating apps: synastry analysis, composite charts, and compatibility scores with detailed relationship dynamics
Ship personalized horoscope platforms: editorial daily, weekly, monthly, and yearly columns with unique content per sign, the dated events each one rests on returned beside the prose for fact-checking, active transit metadata, Moon phase data, and any past or future period on request for editorial pre-publishing
Build AI astrology chatbots with MCP: your OpenAI, Claude, or Gemini agent auto-discovers and calls every astrology endpoint with zero integration code
Power wellness and lifestyle apps with real-time transits, moon phase calendars, solar returns, and planetary movement alerts for self-discovery features
Create astrology content engines: automated zodiac content with house-based uniqueness per sign, horoscope newsletters with real lunar event dates, transit alerts, and year-ahead pages built from every eclipse and every retrograde and direct station of the year with the house each one falls in for that sign
Drop-in UI components & widgets
Render Horoscope API responses without building charts yourself. Install the npm package and drop these into Next.js, React, Vue, Svelte, Angular, or plain HTML, or embed the very same component on Squarespace, Wix, or WordPress by pasting one snippet, with no backend and no build step. They belong to one library that covers the entire spiritual stack rather than astrology alone, MIT licensed and included in every plan at no extra cost, never a separate product and never an upsell. The Horoscope API calculations, the interface that renders them, and the Remote MCP your agent calls, all behind one key, end to end.
Show all Horoscope UI componentsShow fewer Horoscope UI components
| Element | Renders |
|---|---|
| <roxy-horoscope-card> | Daily, weekly, monthly, or yearly horoscope card |
Related capabilities
Horoscope API FAQ
What does the Horoscope API return?
A publish-ready column for any zodiac sign, built from the dated transits over it and returned with those events for fact-checking. Every response is structured JSON with documented fields, not free text, so you map it straight into your product.
How do I authenticate with the Horoscope API?
Pass your key in the X-API-Key header on every request. Keys are delivered instantly at checkout with no approval queue. Use a secret sk key server side, or mint a publishable pk key locked to your origins for browser and no-code use.
Does the Horoscope API support multiple languages?
Yes. Append the lang query parameter to any endpoint for responses in English, German, Spanish, French, Hindi, Portuguese, Russian and Turkish. The translated payload includes the full interpretation text, not just field labels.
Is the Horoscope API available over Remote MCP for AI agents?
Yes. Every endpoint is exposed as a callable tool on the Remote MCP server at https://roxyapi.com/mcp/astrology over Streamable HTTP, so Claude, ChatGPT, Cursor, and any MCP client auto-discover it with no local setup or Docker.
How is the Horoscope API billed?
Flat pricing: 1 request equals 1 quota unit, REST and MCP identical, with no credit weighting or per-token markup. Every plan includes all 14 domains, so the Horoscope API is included at no extra cost.
What sign values does the Horoscope API accept?
The sign parameter accepts aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius, pisces. Case-insensitive where it is a path value.
Start using Horoscope API today.
Ship your astrology app this weekend. Not this quarter.
All 14 domains included with every plan. Every endpoint, MCP server, SDK, and starters.
Plans from $39/mo, starting at $2.32 per domain on annual billing. No credit card required for testing.
View Pricing & Get API Key
