Annual Profections API

lord of the year and yearly time lord by age

POST/astrology/profections

Calculate the annual profection and lord of the year for any birth chart and target date using the Hellenistic time lord technique. Each completed year of life advances the rising sign by one whole sign house, activating a new profected house, profected sign, and ruling planet that sets the tone of the year. Returns the age, profected house and sign, the lord of the year with its natal sign and house placement, and a plain language interpretation for traditional and Hellenistic astrology apps.

Location first, chart second

The Annual Profections 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

GET
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 Annual Profections endpoint

POST /astrology/profections
# feed latitude, longitude and timezone from step 1
POST https://roxyapi.com/api/v2/astrology/profections

Request

POST /api/v2/astrology/profections

Parameters

ParameterTypeDescription
langquerystring enumResponse language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English. Default en.

Request body

FieldTypeDescription
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*numberBirth location latitude in decimal degrees (-90 to 90). Positive = North, negative = South.
longitude*numberBirth location longitude in decimal degrees (-180 to 180). Positive = East, negative = West.
timezone*number or stringTimezone: 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.
targetDate*string (date)Date whose profection year you want, in YYYY-MM-DD format. The completed whole years from the birth date to this date select the profected house and sign. Must fall on or after the birth date.
houseSystemstring enumHouse system used only to report where the lord of the year sits in the natal chart. The profected house and sign always use whole sign profection from the rising sign. Placidus (default), Whole Sign, Equal, or Koch.

Example request

POST /astrology/profections
{
  "date": "1990-07-15",
  "time": "14:30:00",
  "latitude": 40.7128,
  "longitude": -74.006,
  "timezone": -5,
  "targetDate": "2025-08-04"
}

Response

Structured JSON with documented fields, verified against NASA JPL Horizons across 828 gold-standard tests. Not hallucinated text.

200 OK
{
  "birthDetails": {
    "date": "1990-07-15",
    "time": "14:30:00",
    "latitude": 40.7128,
    "longitude": -74.006,
    "timezone": -5
  },
  "targetDate": "2025-08-04",
  "age": 30,
  "profectedHouse": 7,
  "profectedSign": "Leo",
  "lordOfYear": "Sun",
  "lordNatalPosition": {
    "sign": "Leo",
    "house": 6
  },
  "interpretation": "string",
  "summary": "At age 30, the annual profection activates house 7 in Leo, making Sun the lord of the year for 2025-08-04."
}

Response fields

FieldTypeDescription
birthDetails*objectEcho of the birth moment and place used to derive the natal Ascendant and the lord of the year placement.
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*numberBirth location latitude in decimal degrees (-90 to 90). Positive = North, negative = South.
birthDetails.longitude*numberBirth location longitude in decimal degrees (-180 to 180). Positive = East, negative = West.
birthDetails.timezone*numberTimezone offset from UTC in decimal hours. Examples: New York = -5, London = 0, India = 5.5, Tokyo = 9.
targetDate*string (date)Target date whose profection year was computed, echoed from the request.
age*integerCompleted whole years from birth to the target date. Age 0 is the birth year and profects the first house.
profectedHouse*integerProfected whole sign house activated for the year (1 to 12), computed as age modulo 12 plus 1. House 1 is the rising sign and the cycle repeats every twelve years.
profectedSign*stringTropical zodiac sign on the profected house: the rising sign advanced by one whole sign for each completed year.
lordOfYear*stringLord of the year (annual time lord): the traditional ruling planet of the profected sign whose natal condition and transits color the themes of the year.
lordNatalPosition*objectWhere the lord of the year sits in the birth chart: the natal sign and house that ground the theme of the profection year.
lordNatalPosition.sign*stringZodiac sign the lord of the year occupies in the natal chart.
lordNatalPosition.house*integerNatal house the lord of the year occupies (1 to 12), in the requested house system.
Show all fields
FieldTypeDescription
interpretation*stringPlain language reading of the profection year, combining the profected house theme, the profected sign, and the lord of the year. Localized to the requested language.
summary*stringShort overview of the profection year for previews and report intros.

Supported options

lang

entrdeeshiptfrru

houseSystem

placiduswhole-signequalkoch

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.

TypeScript
import { createRoxy } from '@roxyapi/sdk'

const roxy = createRoxy(process.env.ROXY_API_KEY!)
const { data } = await roxy.astrology.generateProfections({ body: { date: '1990-07-15', time: '14:30:00', latitude: 40.7128, longitude: -74.006, timezone: -5, targetDate: '2025-08-04' } })
Install: npm install @roxyapi/sdk

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 Code / Cursor
claude mcp add --transport http \
  roxy-astrology https://roxyapi.com/mcp/astrology \
  --header "X-API-Key: YOUR_KEY"

Tool name for POST /astrology/profections: post_astrology_profections. 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 Annual Profections 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.

<roxy-profection-card>
See them live on Roxy UI

Related capabilities

Annual Profections API FAQ

What does the Annual Profections API return?

Calculate the annual profection and lord of the year for any birth chart and target date using the Hellenistic time lord technique. 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 Annual Profections 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 Annual Profections 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 Annual Profections 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 Annual Profections 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 Annual Profections 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 Annual Profections API is included at no extra cost.

What lang values does the Annual Profections API accept?

The lang parameter accepts en, tr, de, es, hi, pt, fr, ru. Case-insensitive where it is a path value.

Start using Annual Profections 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