Fixed Stars API
Regulus, Spica, Algol natal report
Calculate the tropical zodiac positions of the major named fixed stars for any birth moment, including the four Royal stars and the fifteen Behenian stars, then detect conjunctions to the natal planets, Ascendant, and Midheaven. Each star returns its precessed ecliptic longitude, zodiac sign, visual magnitude, and traditional planetary nature, with a plain language interpretation for every conjunction inside the chosen orb. A focused tool for natal reports that weigh Regulus, Spica, Aldebaran, Antares, and Algol against the chart.
Location first, chart second
The Fixed Stars API needs latitude, longitude, and timezone. Never ask users to type coordinates. Resolve a city with the Location endpoint first, then feed the result into the request. Timezone accepts a decimal offset or an IANA name.
1 Resolve the location
curl "https://roxyapi.com/api/v2/location/search?q=New York" \
-H "X-API-Key: YOUR_KEY"
# -> cities[0]: { latitude, longitude, timezone: "America/New_York" }2 Call the Fixed Stars endpoint
# feed latitude, longitude and timezone from step 1
POST https://roxyapi.com/api/v2/astrology/fixed-starsRequest
POST /api/v2/astrology/fixed-stars
Parameters
| Parameter | Type | Description |
|---|---|---|
| langquery | string enum | Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English. Default en. |
| orbquery | number | Conjunction orb in degrees, the maximum separation for a star to count as conjunct a chart point. Defaults to 1, maximum 3. Widen it to surface looser contacts or tighten it for only the closest hits. Default 1. |
Request body
| Field | Type | Description |
|---|---|---|
| date* | string (date) | Birth date in YYYY-MM-DD format. Determines planetary positions for the specific calendar day. |
| time* | string (time) | Birth time in 24-hour HH:MM:SS format. Determines the Ascendant (rising sign) and house cusps. Use 12:00:00 if unknown. |
| latitude* | number | Birth location latitude in decimal degrees (-90 to 90). Positive = North, negative = South. |
| longitude* | number | Birth location longitude in decimal degrees (-180 to 180). Positive = East, negative = West. |
| timezone* | number or string | Timezone: IANA name (e.g. "America/New_York", "Europe/London") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly. |
Example request
{
"date": "1990-07-15",
"time": "14:30:00",
"latitude": 40.7128,
"longitude": -74.006,
"timezone": -5
}Response
Structured JSON with documented fields, verified against NASA JPL Horizons across 828 gold-standard tests. Not hallucinated text.
{
"birthDetails": {
"date": "1990-07-15",
"time": "14:30:00",
"latitude": 40.7128,
"longitude": -74.006,
"timezone": -5
},
"orb": 1,
"stars": [
{
"id": "regulus",
"name": "Regulus",
"longitude": 150.06,
"sign": "Virgo",
"degree": 0.06,
"magnitude": 1.4,
"nature": "Mars and Jupiter",
"keywords": [
"royalty",
"honor",
"power",
"ambition",
"downfall"
],
"conjunctions": [
{
"point": "Sun",
"pointLongitude": 149.21,
"orb": 0.62
}
]
}
],
"conjunctions": [
{
"star": "Regulus",
"point": "Sun",
"orb": 0.62,
"interpretation": "string"
}
],
"summary": "Fixed star positions for 1990-07-15 with 3 conjunctions within 1 degrees across the major named stars including Regulus, Spica, and Algol."
}Response fields
| Field | Type | Description |
|---|---|---|
| birthDetails* | object | Echo of the birth moment and place used to precess every star. |
| birthDetails.date* | string (date) | Birth date in YYYY-MM-DD format. Determines planetary positions for the specific calendar day. |
| birthDetails.time* | string (time) | Birth time in 24-hour HH:MM:SS format. Determines the Ascendant (rising sign) and house cusps. Use 12:00:00 if unknown. |
| birthDetails.latitude* | number | Birth location latitude in decimal degrees (-90 to 90). Positive = North, negative = South. |
| birthDetails.longitude* | number | Birth location longitude in decimal degrees (-180 to 180). Positive = East, negative = West. |
| birthDetails.timezone* | number | Timezone offset from UTC in decimal hours. Examples: New York = -5, London = 0, India = 5.5, Tokyo = 9. |
| orb* | number | Conjunction orb in degrees applied to detect contacts between stars and natal points. |
| stars* | array of object | Every catalog star with its precessed tropical position, magnitude, traditional nature, and any conjunctions to the natal chart. |
| stars[].id* | string | Lowercase identifier for the fixed star. |
| stars[].name* | string | Proper name of the fixed star. |
| stars[].longitude* | number | Tropical ecliptic longitude of the star in degrees (0-360), precessed from its J2000 position to the chart date. |
| stars[].sign* | string | Tropical zodiac sign the star currently occupies. |
| stars[].degree* | number | Degree within the zodiac sign (0-29.999). |
| stars[].magnitude* | number | Apparent visual magnitude. Lower is brighter, and the brightest stars are negative. |
Show all fieldsShow fewer fields
| Field | Type | Description |
|---|---|---|
| stars[].nature* | string | Traditional planetary nature of the star in classical astrology. |
| stars[].keywords* | array of string | Traditional astrological keywords associated with the star. |
| stars[].conjunctions* | array of object | Natal points within the chosen orb of this star. Empty when no planet or angle contacts the star. |
| stars[].conjunctions[].point* | string | Natal point conjunct this star: a planet name, or the chart angles MC and ASC. Planet names are localized to the requested language. |
| stars[].conjunctions[].pointLongitude* | number | Tropical ecliptic longitude of the natal point in degrees (0-360). |
| stars[].conjunctions[].orb* | number | Angular separation in degrees between the star and the natal point. Smaller means a tighter, stronger contact. |
| conjunctions* | array of object | Flat list of every star to natal point conjunction, sorted tightest first, each with an interpretation. The high-value summary of where fixed stars touch the chart. |
| conjunctions[].star* | string | Proper name of the conjunct fixed star. |
| conjunctions[].point* | string | Natal point conjunct the star: a localized planet name, or the chart angles MC and ASC. |
| conjunctions[].orb* | number | Angular separation in degrees between the star and the natal point. |
| conjunctions[].interpretation* | string | Plain language meaning of this star contact, blending the star traditional nature with the chart point. Localized to the requested language. |
| summary* | string | Short overview of the fixed-star report for previews and report intros. |
Supported options
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.generateFixedStars({ body: { date: '1990-07-15', time: '14:30:00', latitude: 40.7128, longitude: -74.006, timezone: -5 } })from roxy_sdk import create_roxy
roxy = create_roxy("YOUR_API_KEY")
result = roxy.astrology.generate_fixed_stars(date='1990-07-15', time='14:30:00', latitude=40.7128, longitude=-74.006, timezone='America/New_York')use function RoxyAPI\Sdk\createRoxy;
$roxy = createRoxy(getenv('ROXY_API_KEY'));
$result = $roxy->astrology->generateFixedStars(date: '1990-07-15', time: '14:30:00', latitude: 40.7128, longitude: -74.006, timezone: -5);using RoxyApi;
var roxy = new RoxyClient(Environment.GetEnvironmentVariable("ROXY_API_KEY")!);
var result = await roxy.Astrology.FixedStars.PostAsync(new() { /* request fields above */ });import roxyapi "github.com/RoxyAPI/sdk-go"
roxy, _ := roxyapi.NewRoxy(os.Getenv("ROXY_API_KEY"))
resp, _ := roxy.Astrology.GenerateFixedStars(ctx, nil, roxyapi.GenerateFixedStarsJSONRequestBody{ /* request fields above */ })curl -X POST "https://roxyapi.com/api/v2/astrology/fixed-stars" \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"1990-07-15","time":"14:30:00","latitude":40.7128,"longitude":-74.006,"timezone":-5}'Prefer to try before you write code? Run this Western Astrology endpoint live in the API playground and inspect a real production response.
Remote 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 POST /astrology/fixed-stars: post_astrology_fixed_stars. 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: publisher-grade daily, weekly, and monthly forecasts with unique content per sign, active transit metadata, Moon phase data, and date scheduling 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 seasonal forecasts at scale
Drop-in UI components
Render Fixed Stars API responses without building charts yourself. These open source, framework-agnostic web components take the typed response and draw it, in React, Vue, Svelte, Angular, plain HTML, and WordPress.
Related capabilities
Fixed Stars API FAQ
What does the Fixed Stars API return?
Calculate the tropical zodiac positions of the major named fixed stars for any birth moment, including the four Royal stars and the fifteen Behenian stars, then detect conjunctions to the natal planets, Ascendant, and Midheaven. 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 Fixed Stars 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 Fixed Stars 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.
Do I need coordinates to call the Fixed Stars API?
No. Call GET /location/search with a city name first, then pass latitude, longitude, and timezone from the first result into the request. Never ask users to type coordinates. Timezone accepts a decimal offset or an IANA name.
Is the Fixed Stars 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 Fixed Stars 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 12 domains, so the Fixed Stars API is included at no extra cost.
What lang values does the Fixed Stars API accept?
The lang parameter accepts en, tr, de, es, hi, pt, fr, ru. Case-insensitive where it is a path value.
Start using Fixed Stars API today.
Ship your astrology app this weekend. Not this quarter.
All 12 domains included with every plan. Every endpoint, MCP server, SDK, and starters.
Plans from $39/mo, starting at $2.70 per domain on annual billing. No credit card required for testing.
View Pricing & Get API Key