Secondary Progressions API

progressed chart, progressed Sun and Moon

POST/astrology/progressionsPOST/astrology/solar-arc

Generate the secondary progressed chart for any date using the day-for-a-year key, where each day of ephemeris motion after birth stands in for one year of life. Returns every progressed body with its sign, degree, whole-sign house, motion, and retrograde state, plus the progressed Ascendant and Midheaven via the Naibod arc. The progressed Sun and progressed Moon are the headline timing markers for inner growth and emotional chapters. Secondary progressions API, progressed chart calculator, progressed Sun and Moon, progressed Ascendant and Midheaven.

Location first, chart second

The Secondary Progressions 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 Secondary Progressions endpoint

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

Request

POST /api/v2/astrology/progressions

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 to progress the chart to, in YYYY-MM-DD format. Usually today or a forecast date. The day-for-a-year key turns the elapsed years since birth into the same number of ephemeris days after the birth moment.

Example request

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

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-07-15",
  "progressedDate": "1990-08-17",
  "elapsedYears": 35,
  "planets": [
    {
      "name": "Sun",
      "longitude": 165.18,
      "sign": "Virgo",
      "degree": 15.18,
      "house": 2,
      "speed": 0.985,
      "isRetrograde": false,
      "interpretation": "string"
    }
  ],
  "ascendant": {
    "longitude": 134.27,
    "sign": "Leo",
    "degree": 14.27
  },
  "midheaven": {
    "longitude": 134.27,
    "sign": "Leo",
    "degree": 14.27
  },
  "summary": "Your secondary progressed chart advances the birth chart by one day for each year of life."
}

Response fields

FieldTypeDescription
birthDetails*objectEcho of the birth moment and place the progressed chart is built from.
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*stringThe requested date the chart was progressed to.
progressedDate*stringUTC calendar date of the progressed moment, the ephemeris day whose real positions stand in for the target date. One day after birth per year of elapsed life.
elapsedYears*numberYears elapsed between birth and the target date, measured in mean tropical years. Drives both the progressed planets and the Naibod progression of the angles. Negative values progress the chart converse (before birth).
planets*array of objectEvery progressed body in canonical order: the 10 classical planets, the lunar nodes, Chiron, and Black Moon Lilith. The progressed Sun moves about one degree per year and the progressed Moon about one sign per two and a half years, so these two are the headline movers in any progressed reading.
planets[].name*stringBody name in canonical English. One of the 10 classical planets, the lunar nodes, Chiron, or Black Moon Lilith.
planets[].longitude*numberProgressed tropical ecliptic longitude in degrees (0 to 360).
planets[].sign*stringTropical zodiac sign the progressed body falls in.
planets[].degree*numberDegree of the progressed body within its zodiac sign (0 to 29.999).
Show all fields
FieldTypeDescription
planets[].house*integerWhole-sign house (1 to 12) counted from the progressed Ascendant sign. The 1st house is the entire sign the progressed Ascendant falls in.
planets[].speed*numberDaily motion of the body at the progressed instant in degrees per day. Negative values indicate retrograde motion.
planets[].isRetrograde*booleanWhether the body is retrograde at the progressed instant, true when the daily speed is negative.
planets[].interpretation*stringPlain language meaning of this progressed body in its sign, suitable for chart reports and AI agents. Localized to the requested language.
ascendant*objectProgressed Ascendant, the rising degree advanced by the Naibod arc per year. Marks the evolving outward style and immediate environment.
ascendant.longitude*numberAbsolute tropical ecliptic longitude of the progressed angle in degrees (0 to 360).
ascendant.sign*stringTropical zodiac sign the progressed angle falls in.
ascendant.degree*numberDegree of the progressed angle within its zodiac sign (0 to 29.999).
midheaven*objectProgressed Midheaven, the culminating degree advanced by the Naibod arc per year. Marks the evolving vocation and public direction.
midheaven.longitude*numberAbsolute tropical ecliptic longitude of the progressed angle in degrees (0 to 360).
midheaven.sign*stringTropical zodiac sign the progressed angle falls in.
midheaven.degree*numberDegree of the progressed angle within its zodiac sign (0 to 29.999).
summary*stringShort overview of the progressed chart led by the progressed Sun and Moon. Localized to the requested language.

Supported options

lang

entrdeeshiptfrru

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.generateProgressions({ body: { date: '1990-07-15', time: '14:30:00', latitude: 40.7128, longitude: -74.006, timezone: -5, targetDate: '2025-07-15' } })
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.

More Secondary Progressions endpoints

The Secondary Progressions API bundles these related endpoints under one key.

POST/astrology/solar-arc

Solar arc directions calculator - directed chart at one degree per year

Calculate a solar arc directed chart for any birth moment and target date. The solar arc is the secondary-progressed Sun longitude minus the natal Sun longitude, about one degree for each year of life, and every natal point including the Ascendant and Midheaven is advanced forward by that same arc. Returns the solar arc, each directed point with its natal and directed longitude, zodiac sign, degree, and a plain language interpretation, for predictive astrology apps timing major life events. Built on accurate tropical chart positions, no astronomy expertise needed.

Try it live

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/progressions: post_astrology_progressions. 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 Secondary Progressions 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-positions-table>
See them live on Roxy UI

Related capabilities

Secondary Progressions API FAQ

What does the Secondary Progressions API return?

Generate the secondary progressed chart for any date using the day-for-a-year key, where each day of ephemeris motion after birth stands in for one year of life. 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 Secondary Progressions 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 Secondary Progressions 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 Secondary Progressions 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 Secondary Progressions 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 Secondary Progressions 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 Secondary Progressions API is included at no extra cost.

What lang values does the Secondary Progressions API accept?

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

Start using Secondary Progressions 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