Implementing KP Astrology System in Your Platform - Complete API Guide
Add Krishnamurti Paddhati astrology to your app. Learn sub-lord calculation, significators, cuspal analysis with working code examples.
Implementing KP Astrology System in Your Platform
Krishnamurti Paddhati (KP) is a precise predictive astrology system popular in India for its accuracy in pinpointing event timing. Unlike traditional Vedic astrology, KP uses sub-lord analysis and ruling planets for predictions. This guide shows you how to integrate KP calculations using the RoxyAPI Vedic Astrology API.
What Makes KP Different?
Traditional Vedic vs KP:
- Vedic: Uses planetary periods (dashas), divisional charts, yogas
- KP: Uses sub-lords, cuspal interlinks, ruling planets, 249 subdivisions
Key KP Concepts:
- Sub-Lords: Each planet/cusp governed by Star Lord → Sub Lord hierarchy
- Significators: Planets indicating specific houses/events
- Cuspal Analysis: House cusp positions more critical than planet positions
- 249 Sub-divisions: Nakshatra subdivided into 9 parts (Mahadasha lords)
- KP Newcomb Ayanamsa: Fixed at 23.72° for birth year 1990 (dynamic calculation)
KP practitioners make predictions by analyzing which planets are significators for the houses related to an event (marriage = 2,7,11; job = 2,6,10).
Available KP Endpoints
POST /kp/chart - Complete KP chart with cusps + sub-lords
POST /kp/planets - Planetary positions with star/sub-lords
POST /kp/cusps - House cusps with significators
GET /kp/ayanamsa - Dynamic KP-Newcomb ayanamsa for any date
Get KP Ayanamsa (Today's Value)
KP uses Newcomb ayanamsa with daily precision:
curl -X GET "https://roxyapi.com/api/v2/vedic-astrology/kp/ayanamsa?date=2026-01-09" \
-H "X-API-Key: your_api_key"
Response:
{
"date": "2026-01-09",
"ayanamsa": 24.221189,
"type": "kp-newcomb",
"formula": "Newcomb precession theory",
"calculated": "2026-01-09T17:50:36.925Z"
}
The ayanamsa increases 50.3 arcseconds/year (0.014°). Use this for manual calculations or verification.
Generate KP Birth Chart
const response = await fetch(
'https://roxyapi.com/api/v2/vedic-astrology/kp/chart',
{
method: 'POST',
headers: {
'X-API-Key': 'your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
date: '1990-07-04',
time: '10:30:00',
latitude: 28.6139,
longitude: 77.2090,
timezone: 5.5,
ayanamsa: 'kp-newcomb' // Required parameter
})
}
);
const chart = await response.json();
Response structure:
{
"meta": {
"ayanamsa": 23.72878297,
"ayanamsaType": "kp-newcomb",
"houseSystem": "placidus"
},
"ascendant": {
"longitude": 358.5673,
"sign": "Pisces",
"signLord": "Jupiter",
"nakshatra": "Revati",
"nakshatraLord": "Mercury",
"pada": 4,
"starLord": "Mercury",
"subLord": "Mercury",
"kpNumber": 243
},
"cusps": [
{
"house": 1,
"longitude": 358.5673,
"sign": "Pisces",
"starLord": "Mercury",
"subLord": "Mercury",
"kpNumber": 243
}
],
"planets": [
{
"planet": "Sun",
"longitude": 78.2581,
"sign": "Gemini",
"starLord": "Rahu",
"subLord": "Mercury",
"kpNumber": 54
}
]
}
Key Fields:
starLord: Nakshatra lord (primary ruling planet)subLord: Sub-division lord (secondary ruling planet)kpNumber: Position in 249-subdivision system (1-249)signLord: Rashi lord (zodiac sign ruler)
Get Planetary Positions (Sub-Lords)
Fetch only planetary data without house cusps:
const planets = await fetch(
'https://roxyapi.com/api/v2/vedic-astrology/kp/planets',
{
method: 'POST',
headers: {
'X-API-Key': 'your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
date: '1990-07-04',
time: '10:30:00',
latitude: 28.6139,
longitude: 77.2090,
timezone: 5.5,
ayanamsa: 'kp-newcomb'
})
}
).then(r => r.json());
console.log(planets.planets[0]);
// {
// planet: "Sun",
// starLord: "Rahu",
// subLord: "Mercury",
// kpNumber: 54
// }
Significator Analysis (Manual Logic)
KP predictions require identifying significators for event-related houses:
function findSignificators(chart, targetHouses) {
const significators = [];
// Rule 1: Planets occupying target houses
chart.planets.forEach(planet => {
const house = getHouseFromLongitude(planet.longitude, chart.cusps);
if (targetHouses.includes(house)) {
significators.push({
planet: planet.planet,
reason: `Occupies house ${house}`,
strength: 3
});
}
});
// Rule 2: Planets owning target houses (sign lords of cusps)
chart.cusps.forEach(cusp => {
if (targetHouses.includes(cusp.house)) {
significators.push({
planet: cusp.signLord,
reason: `Owns house ${cusp.house}`,
strength: 2
});
}
});
// Rule 3: Planets aspecting target houses
// (Complex calculation - simplified here)
// Rule 4: Star lords of significators become sub-significators
significators.forEach(sig => {
const planet = chart.planets.find(p => p.planet === sig.planet);
if (planet) {
significators.push({
planet: planet.starLord,
reason: `Star lord of ${sig.planet}`,
strength: 1
});
}
});
return significators;
}
// Example: Marriage prediction (houses 2, 7, 11)
const marriageSignificators = findSignificators(chart, [2, 7, 11]);
console.log(marriageSignificators);
Cuspal Sub-Lord Technique
Critical KP analysis - check 7th cusp sub-lord for marriage:
function analyzeCuspalSubLord(chart, targetHouse) {
const cusp = chart.cusps.find(c => c.house === targetHouse);
// Check if sub-lord is connected to favorable houses
const subLordPlanet = chart.planets.find(p => p.planet === cusp.subLord);
const subLordHouse = getHouseFromLongitude(
subLordPlanet.longitude,
chart.cusps
);
return {
cusp: targetHouse,
subLord: cusp.subLord,
subLordPosition: subLordHouse,
starLord: cusp.starLord,
prediction: getPredictionFromSubLord(cusp.subLord, targetHouse)
};
}
// 7th house analysis for marriage
const seventhCusp = analyzeCuspalSubLord(chart, 7);
console.log(seventhCusp);
// {
// cusp: 7,
// subLord: "Venus",
// subLordPosition: 3,
// starLord: "Moon",
// prediction: "Marriage likely if Venus is significator of 2,7,11"
// }
Ruling Planets (Current Moment)
KP uses current planetary positions for timing:
async function getRulingPlanets() {
const now = new Date();
const chart = await fetch('https://roxyapi.com/api/v2/vedic-astrology/kp/chart', {
method: 'POST',
headers: {
'X-API-Key': 'your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
date: now.toISOString().split('T')[0],
time: now.toTimeString().split(' ')[0],
latitude: 28.6139,
longitude: 77.2090,
timezone: 5.5,
ayanamsa: 'kp-newcomb'
})
}).then(r => r.json());
return {
ascendantLord: chart.ascendant.signLord,
ascendantStarLord: chart.ascendant.starLord,
ascendantSubLord: chart.ascendant.subLord,
moonSign: chart.planets.find(p => p.planet === 'Moon').sign,
moonStarLord: chart.planets.find(p => p.planet === 'Moon').starLord,
moonSubLord: chart.planets.find(p => p.planet === 'Moon').subLord,
day: getDayLord(now.getDay())
};
}
Production Features
- Significator Calculator - Analyze houses 2,7,11 for marriage
- Cuspal Interlinks - Check if 7th cusp sub-lord connects to 2,11
- Ruling Planets Widget - Display current moment's ruling planets
- KP Number Finder - Show 249-division position for any planet
- Timing Predictions - Use dasha + ruling planets for event dates
KP vs Traditional Vedic
Use KP when:
- Client wants yes/no answers (will I get this job?)
- Pinpoint event timing needed
- Traditional methods give conflicting results
Use Traditional Vedic when:
- General life pattern analysis
- Character/personality insights
- Long-term dasha period predictions
Conclusion
The RoxyAPI KP endpoints provide precise sub-lord calculations with KP-Newcomb ayanamsa, enabling you to build professional KP astrology tools without implementing complex astronomical calculations. The Placidus house system combined with 249 subdivisions gives the accuracy KP practitioners demand.
Ready to add KP astrology to your platform? Get your API key and check the complete documentation.