:::note
**TL;DR**
- KP ruling planets are derived from a fixed chain: the day lord, the Moon sign lord, star lord, and sub lord, and the Lagna sign lord, star lord, and sub lord.
- The set shifts through the day because the Ascendant moves about one degree every four minutes and the Moon advances through nakshatra subdivisions, so the sub lord layer can flip in under five minutes.
- The `kp/ruling-planets` endpoint returns the full chain plus a deduplicated `rulingPlanets` array; `kp/ruling-planets-interval` returns how that array changes across a time window.
- Build ruling planet timing into your app with the [Vedic Astrology API](/products/vedic-astrology-api "production-ready Vedic Astrology API with KP charts, dashas, and ruling planets") in an afternoon.
:::

KP ruling planets are the small group of planets that govern a single moment in Krishnamurti Paddhati, and they are the backbone of KP horary timing. Practitioners use them to confirm a forecast and to narrow down when a predicted event will actually land. The set is not arbitrary. It comes from a defined chain of lordships tied to the Ascendant and the Moon at the exact query time, plus the lord of the weekday. Because the Ascendant and the Moon both move, the ruling planet set is alive: it changes through the day, sometimes within a few minutes. This post walks the chain field by field, explains why precision matters, and shows how to compute and verify ruling planets from the API.

## What are KP ruling planets and where do they come from?

KP ruling planets are the planets that rule a given instant, derived from the lordships of the Ascendant and the Moon at that instant plus the lord of the weekday. The chain has seven inputs: the day lord, the Moon sign lord, Moon star lord, and Moon sub lord, and the Lagna sign lord, Lagna star lord, and Lagna sub lord. Collapse duplicates and you get the ruling planet set for the moment.

The principle is that these lordships mark which planets are cosmically active right now. In KP theory, an event manifests when the dasha periods and transits in play match the ruling planets of the consultation moment. That is why the set doubles as both a confirmation tool and a timing key. The chain is mechanical and reproducible, which is exactly why it suits an API: given a time and a location, the lordships are fully determined.

Ready to build this? The [Vedic Astrology API](/products/vedic-astrology-api "production-ready Vedic Astrology API with KP charts, dashas, and ruling planets") returns the full ruling planet chain from one call. [See pricing](/pricing "RoxyAPI pricing and plan tiers").

## Which fields make up the ruling planet chain?

The chain is returned as named fields so you never have to assemble it yourself. The `kp/ruling-planets` response gives `dayLord`, then the Moon layer as `moonSignLord`, `moonStarLord`, `moonSublord`, and `moonSubSublord`, then the Lagna layer as `lagnaSignLord`, `lagnaStarLord`, `lagnaSublord`, and `lagnaSubSublord`. The deduplicated set is the `rulingPlanets` array, ordered by strength with the strongest planet first.

Each layer answers a different question. The sign lord is the ruler of the zodiac sign the body sits in. The star lord is the lord of the nakshatra. The sub lord is the lord of the KP subdivision, the finer 249-level split that gives KP its precision. The sub sub lord narrows further still.

:::stat 249
KP subdivisions across the zodiac, the layer that produces `moonSublord` and `lagnaSublord`. Far finer than the 27 nakshatras alone.
:::

The sub lord layer is where most intraday change happens, because those divisions are narrow enough to cross in minutes.

## Why does the ruling planet set change minute to minute?

The set changes because two of its inputs are in constant motion: the Ascendant and the Moon. The Ascendant moves roughly one degree every four minutes, so the Lagna sub lord can flip several times within a single hour. The Moon advances about thirteen degrees a day, enough to change its sub lord across a short consultation window. The day lord is the only stable input until local sunrise.

:::warning
The KP day lord changes at local sunrise, not at midnight. A consultation logged at 05:00 local time may fall under the previous weekday lord. The interval endpoint computes the day lord from the Hindu sunrise based Vara for exactly this reason, so do not assume the day lord from the calendar date alone.
:::

This is why timing precision is not optional in KP. A query recorded one minute off can return a different Lagna sub lord, which changes the ruling planet set and therefore the confirmation. When you log a horary moment, capture the time to the second and pass it through faithfully.

## How do I compute KP ruling planets from the API?

Resolve coordinates first, then post the moment. KP charts depend on latitude, longitude, and timezone, so the first call is always `GET /location/search?q={city}`, which returns `latitude`, `longitude`, and a `timezone` IANA name you feed straight into the ruling planets call. The `kp/ruling-planets` endpoint is a POST. It accepts `latitude`, `longitude`, `timezone`, an optional `datetime` that defaults to now, and an optional `nodeType` of mean or true. Add `birthDate` and `birthTime` together to also receive `significators`, the houses each ruling planet signifies in the birth chart.

::: tabs
### curl
```bash
# Step 1: resolve coordinates
curl -s "https://roxyapi.com/api/v2/location/search?q=New%20Delhi" \
  -H "X-API-Key: YOUR_KEY"

# Step 2: ruling planets at a moment
curl -s -X POST "https://roxyapi.com/api/v2/vedic-astrology/kp/ruling-planets" \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "latitude": 28.6139,
    "longitude": 77.209,
    "timezone": "Asia/Kolkata",
    "datetime": "2026-02-03T10:30:00"
  }'
```

### TypeScript
```typescript
const KEY = process.env.ROXY_API_KEY!;
const base = "https://roxyapi.com/api/v2";

const loc = await fetch(`${base}/location/search?q=New Delhi`, {
  headers: { "X-API-Key": KEY },
}).then((r) => r.json());
const city = loc.cities[0];

const rp = await fetch(`${base}/vedic-astrology/kp/ruling-planets`, {
  method: "POST",
  headers: { "X-API-Key": KEY, "Content-Type": "application/json" },
  body: JSON.stringify({
    latitude: city.latitude,
    longitude: city.longitude,
    timezone: city.timezone,
    datetime: "2026-02-03T10:30:00",
  }),
}).then((r) => r.json());

console.log(rp.rulingPlanets, rp.lagnaSublord, rp.dayLord);
```

### Python
```python
import os, requests

KEY = os.environ["ROXY_API_KEY"]
base = "https://roxyapi.com/api/v2"
headers = {"X-API-Key": KEY}

loc = requests.get(f"{base}/location/search", params={"q": "New Delhi"},
                   headers=headers).json()
city = loc["cities"][0]

rp = requests.post(f"{base}/vedic-astrology/kp/ruling-planets",
    headers={**headers, "Content-Type": "application/json"},
    json={
        "latitude": city["latitude"],
        "longitude": city["longitude"],
        "timezone": city["timezone"],
        "datetime": "2026-02-03T10:30:00",
    }).json()

print(rp["rulingPlanets"], rp["lagnaSublord"], rp["dayLord"])
```
:::

Both endpoints sit in the Vedic domain, part of 43 Vedic endpoints, themselves part of 130 plus endpoints across 10 insight domains like Western astrology, numerology, and tarot. Full request and response schemas live at [`POST /vedic-astrology/kp/ruling-planets`](/api-reference#tag/vedic-astrology/POST/vedic-astrology/kp/ruling-planets "KP ruling planets endpoint request and response schema").

## How do I track ruling planets across a time window?

Use the interval endpoint to see how the set evolves. The `kp/ruling-planets-interval` endpoint is a POST that takes `startDatetime`, `endDatetime`, `intervalMinutes`, `latitude`, `longitude`, an optional `timezone`, an optional `ayanamsa`, and an optional `nodeType`. It erects a full Placidus chart at each step and returns an `intervals` array. Each entry carries the same chain fields, the `rulingPlanets` set, and `significators` computed from that moment, since horary needs no birth data.

For birth time rectification or muhurta selection, set `intervalMinutes` to 1 to 5 and watch when `lagnaSublord` flips. The table below maps a window to the right step.

| Use case | Window | intervalMinutes | Watch field |
|---|---|---|---|
| Birth time rectification | 30 to 60 min | 1 | `lagnaSublord` |
| Horary moment confirmation | 10 to 20 min | 1 to 2 | `rulingPlanets` |
| Muhurta selection | 2 to 6 hours | 5 | `lagnaSublord`, `lagnaStarLord` |
| Daylong scan | 24 hours | 30 | `dayLord`, `moonSublord` |

The endpoint caps each request at 1440 intervals, so balance window length against `intervalMinutes`.

## How do ayanamsa and node type affect the ruling planet set?

Both inputs can move a planet across a sub lord boundary, which changes the set. The sub lord layer is the narrowest division in the chain, so a small shift in the underlying longitude can reassign `lagnaSublord` or `moonSublord` from one planet to the next. Two settings drive that shift: the ayanamsa, which fixes where the sidereal zodiac begins, and the node type, which fixes where Rahu and Ketu sit.

The interval endpoint accepts an `ayanamsa` of kp-newcomb, kp-old, or lahiri, defaulting to kp-newcomb because the 249 sub lord table was calibrated around it. Switching to lahiri moves every longitude by a few arc minutes, enough to flip a sub lord in a boundary case. The `nodeType` of mean or true changes Rahu and Ketu positions by up to one and a half degrees, so when a node is the sub lord, the choice can swing the result.

Pick one ayanamsa and one node type, then keep them fixed across a session. Mixing settings between calls produces two ruling planet sets for one moment, which reads as a calculation error when it is really a configuration mismatch.

## FAQ

**What are KP ruling planets?**

KP ruling planets are the planets that rule a single moment in Krishnamurti Paddhati. They are derived from a fixed chain: the day lord, the Moon sign lord, star lord, and sub lord, and the Lagna sign lord, star lord, and sub lord. Collapsing that chain to unique planets gives the ruling planet set, which KP uses to confirm forecasts and time events.

**How are KP ruling planets calculated?**

They are read off the chart for the query moment. The day lord comes from the weekday based on local sunrise. The Moon and Lagna each contribute their sign lord, nakshatra star lord, and KP sub lord. The `kp/ruling-planets` endpoint returns every link as a named field plus a deduplicated `rulingPlanets` array ordered by strength.

**Why do KP ruling planets change during the day?**

Because the Ascendant and the Moon are always moving. The Ascendant shifts about one degree every four minutes, which can flip the Lagna sub lord several times an hour. The Moon advances through nakshatra subdivisions over a few hours. The day lord stays fixed until local sunrise, when it advances to the next weekday ruler.

**Do I need birth data to get ruling planets?**

No. Ruling planets come from the query moment chart, so a date, time, and location are enough. If you also pass `birthDate` and `birthTime` to the `kp/ruling-planets` endpoint, the response adds `significators` showing which houses in the birth chart each ruling planet signifies, which is useful for prediction work.

**What is the difference between the ruling planets and ruling planets interval endpoints?**

The `kp/ruling-planets` endpoint returns the ruling planet chain for one moment. The `kp/ruling-planets-interval` endpoint sweeps a time window at a chosen step in minutes and returns the chain, the ruling planet set, and KP significators at each step, so you can watch the set shift across the window for rectification or muhurta work.

## Conclusion

KP ruling planets are a precise, reproducible signature of a moment, built from the Lagna and Moon lordship chain plus the day lord. Because that chain moves, treating the timestamp as exact is the difference between a clean confirmation and a wrong one. Compute and verify ruling planets with the [Vedic Astrology API](/products/vedic-astrology-api "production-ready Vedic Astrology API with KP charts, dashas, and ruling planets") and review the tiers on the [pricing page](/pricing "RoxyAPI pricing and plan tiers").