Copy page

Copy page as Markdown for LLMs

View as Markdown

View this page as plain text


Open in ChatGPT

Ask ChatGPT about this page

Open in Claude

Ask Claude about this page

KP Cuspal API

The KP Cuspal API returns KP-style house cusps (1–12), along with their sign, degree, nakshatra, sub-lord, and an SVG/encoded chart representation. This is useful for Krishnamurti Paddhati practitioners who need exact cuspal details aligned with a birth chart.


Step-by-Step KP Cuspal API Postman Testing Integration

Follow the official guide to test and verify this API in Postman:

Step by Step KP Planetary Positions API Postman Testing Integration


Supported Language Codes

Source:
https://support.divineapi.com/general-api-support/translating-an-indian-vedic-apis-into-a-different-language

You can get the response in these languages by passing lan in the body.

CodeLanguage
enEnglish
hiHindi
bnBengali
maMarathi
tmTamil
tlTelugu
mlMalayalam
knKannada

API Endpoint

POST https://astroapi-3.divineapi.com/indian-api/v2/kp/cuspal

This endpoint returns KP cuspal data, table data, and visual (SVG/base64) chart data.


Headers

NameTypeDescription
AuthorizationStringYour API access token. Example: Bearer {token}

Request Body

NameTypeRequiredDescription
api_keyStringYesYour API key issued from DivineAPI dashboard.
full_nameStringYesFull name, e.g. Rahul Kumar.
dayIntegerYesDate of birth, e.g. 24.
monthIntegerYesMonth of birth, e.g. 05.
yearIntegerYesYear of birth, e.g. 2023.
hourIntegerYesHour of birth (24h), e.g. 14.
minIntegerYesMinute of birth, e.g. 40.
secIntegerYesSecond of birth, e.g. 43.
genderStringYese.g. male.
placeStringYesPlace of birth, e.g. New Delhi.
latFloatYesLatitude, e.g. 28.7041.
lonFloatYesLongitude, e.g. 77.1025.
tzoneFloatYesTimezone, e.g. 5.5. See timezone guide.
lanStringNoLanguage code from table above, default en.

200: OK Planets KP Positions Fetched Successfully

{
    "success": 1,
    "data": {
        "svg": "<svg height=\"360\" width=\"360\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    \n    \n    <rect x=\"0\" y=\"0\" width=\"360\" height=\"360\" fill=\"yellow\" stroke=\"red\" stroke-width=\"4\"></rect>\n\t\n\n                \t<line x1=\"90\" y1=\"0\" x2=\"90\" y2=\"360\" stroke=\"red\" stroke-width=\"2\"></line>\n    \t<line x1=\"0\" y1=\"90\" x2=\"360\" y2=\"90\" stroke=\"red\" stroke-width=\"2\"></line>\n                        \t<line x1=\"180\" y1=\"0\" x2=\"180\" y2=\"90\" stroke=\"red\" stroke-width=\"2\"></line>\n    \t<line x1=\"0\" y1=\"180\" x2=\"90\" y2=\"180\" stroke=\"red\" stroke-width=\"2\"></line>\n                    <line x1=\"180\" y1=\"270\" x2=\"180\" y2=\"360\" stroke=\"red\" stroke-width=\"2\"></line>\n            <line x1=\"270\" y1=\"180\" x2=\"360\" y2=\"180\" stroke=\"red\" stroke-width=\"2\"></line>\n                        \t<line x1=\"270\" y1=\"0\" x2=\"270\" y2=\"360\" stroke=\"red\" stroke-width=\"2\"></line>\n    \t<line x1=\"0\" y1=\"270\" x2=\"360\" y2=\"270\" stroke=\"red\" stroke-width=\"2\"></line>\n            \n            <text x=\"97\" y=\"15\" style=\"fill:red; font-size:12px;\" font=\"Tahoma\" font-family=\"sans-serif\">1</text>\n            <text x=\"187\" y=\"15\" style=\"fill:red; font-size:12px;\" font=\"Tahoma\" font-family=\"sans-serif\">2</text>\n            <text x=\"277\" y=\"15\" style=\"fill:red; font-size:12px;\" font=\"Tahoma\" font-family=\"sans-serif\">3</text>\n            <text x=\"277\" y=\"104\" style=\"fill:red; font-size:12px;\" font=\"Tahoma\" font-family=\"sans-serif\">4</text>\n            <text x=\"277\" y=\"194\" style=\"fill:red; font-size:12px;\" font=\"Tahoma\" font-family=\"sans-serif\">5</text>\n            <text x=\"277\" y=\"284\" style=\"fill:red; font-size:12px;\" font=\"Tahoma\" font-family=\"sans-serif\">6</text>\n            <text x=\"187\" y=\"284\" style=\"fill:red; font-size:12px;\" font=\"Tahoma\" font-family=\"sans-serif\">7</text>\n            <text x=\"97\" y=\"284\" style=\"fill:red; font-size:12px;\" font=\"Tahoma\" font-family=\"sans-serif\">8</text>\n            <text x=\"7\" y=\"284\" style=\"fill:red; font-size:12px;\" font=\"Tahoma\" font-family=\"sans-serif\">9</text>\n            <text x=\"7\" y=\"194\" style=\"fill:red; font-size:12px;\" font=\"Tahoma\" font-family=\"sans-serif\">10</text>\n            <text x=\"7\" y=\"104\" style=\"fill:red; font-size:12px;\" font=\"Tahoma\" font-family=\"sans-serif\">11</text>\n            <text x=\"7\" y=\"15\" style=\"fill:red; font-size:12px;\" font=\"Tahoma\" font-family=\"sans-serif\">12</text>\n    \n                                            <text x=\"292\" y=\"40\" style=\"fill:red; font-size:15px; \" font=\"Tahoma\" font-family=\"sans-serif\">Mo</text>\n                                                        <text x=\"322\" y=\"40\" style=\"fill:red; font-size:15px; \" font=\"Tahoma\" font-family=\"sans-serif\">Ju</text>\n                                                        <text x=\"292\" y=\"65\" style=\"fill:red; font-size:15px; \" font=\"Tahoma\" font-family=\"sans-serif\">Asc</text>\n                                                                                    <text x=\"292\" y=\"40\" style=\"fill:red; font-size:15px; \" font=\"Tahoma\" font-family=\"sans-serif\">Su</text>\n                                                                                    <text x=\"292\" y=\"129\" style=\"fill:red; font-size:15px; \" font=\"Tahoma\" font-family=\"sans-serif\">Me</text>\n                                                                                    <text x=\"292\" y=\"219\" style=\"fill:red; font-size:15px; \" font=\"Tahoma\" font-family=\"sans-serif\">Ma</text>\n                                                        <text x=\"322\" y=\"219\" style=\"fill:red; font-size:15px; \" font=\"Tahoma\" font-family=\"sans-serif\">Ke</text>\n                                                                                                                                                                        <text x=\"22\" y=\"309\" style=\"fill:red; font-size:15px; \" font=\"Tahoma\" font-family=\"sans-serif\">Pl</text>\n                                                                                                                <text x=\"22\" y=\"129\" style=\"fill:red; font-size:15px; \" font=\"Tahoma\" font-family=\"sans-serif\">Sa</text>\n                                                        <text x=\"52\" y=\"129\" style=\"fill:red; font-size:15px; \" font=\"Tahoma\" font-family=\"sans-serif\">Ne</text>\n                                                        <text x=\"22\" y=\"154\" style=\"fill:red; font-size:15px; \" font=\"Tahoma\" font-family=\"sans-serif\">Ra</text>\n                                                                                                                <text x=\"112\" y=\"40\" style=\"fill:red; font-size:15px; \" font=\"Tahoma\" font-family=\"sans-serif\">Ve</text>\n                                                        <text x=\"142\" y=\"40\" style=\"fill:red; font-size:15px; \" font=\"Tahoma\" font-family=\"sans-serif\">Ur</text>\n                                            \n</svg>\n\n\n",
        "table_data": {
            "1": {
                "cusp": 1,
                "house_cusp": {
                    "sign": "Gemini",
                    "degree": "8:4:23"
                },
                "rashi_lord": "Mercury",
                "nakshatra": "Ardra",
                "nakshatra_pada": 1,
                "nakshatra_no": 6,
                "nakshatra_lord": "Rahu",
                "sub_lord": "Rahu",
                "sub_sub_lord": "Venus"
            },
            "2": {
                "cusp": 2,
                "house_cusp": {
                    "sign": "Gemini",
                    "degree": "27:14:40"
                },
                "rashi_lord": "Mercury",
                "nakshatra": "Punarvasu",
                "nakshatra_pada": 3,
                "nakshatra_no": 7,
                "nakshatra_lord": "Jupiter",
                "sub_lord": "Venus",
                "sub_sub_lord": "Mars"
            },
            "3": {
                "cusp": 3,
                "house_cusp": {
                    "sign": "Cancer",
                    "degree": "17:33:7"
                },
                "rashi_lord": "Moon",
                "nakshatra": "Ashlesha",
                "nakshatra_pada": 1,
                "nakshatra_no": 9,
                "nakshatra_lord": "Mercury",
                "sub_lord": "Mercury",
                "sub_sub_lord": "Moon"
            },
            "4": {
                "cusp": 4,
                "house_cusp": {
                    "sign": "Leo",
                    "degree": "12:38:8"
                },
                "rashi_lord": "Sun",
                "nakshatra": "Magha",
                "nakshatra_pada": 4,
                "nakshatra_no": 10,
                "nakshatra_lord": "Ketu",
                "sub_lord": "Mercury",
                "sub_sub_lord": "Rahu"
            },
            "5": {
                "cusp": 5,
                "house_cusp": {
                    "sign": "Virgo",
                    "degree": "16:33:18"
                },
                "rashi_lord": "Mercury",
                "nakshatra": "Hasta",
                "nakshatra_pada": 2,
                "nakshatra_no": 13,
                "nakshatra_lord": "Moon",
                "sub_lord": "Saturn",
                "sub_sub_lord": "Venus"
            },
            "6": {
                "cusp": 6,
                "house_cusp": {
                    "sign": "Libra",
                    "degree": "28:57:14"
                },
                "rashi_lord": "Venus",
                "nakshatra": "Vishakha",
                "nakshatra_pada": 3,
                "nakshatra_no": 16,
                "nakshatra_lord": "Jupiter",
                "sub_lord": "Sun",
                "sub_sub_lord": "Rahu"
            },
            "7": {
                "cusp": 7,
                "house_cusp": {
                    "sign": "Sagittarius",
                    "degree": "8:4:23"
                },
                "rashi_lord": "Jupiter",
                "nakshatra": "Moola",
                "nakshatra_pada": 3,
                "nakshatra_no": 19,
                "nakshatra_lord": "Ketu",
                "sub_lord": "Jupiter",
                "sub_sub_lord": "Saturn"
            },
            "8": {
                "cusp": 8,
                "house_cusp": {
                    "sign": "Sagittarius",
                    "degree": "27:14:40"
                },
                "rashi_lord": "Jupiter",
                "nakshatra": "Uttara Ashada",
                "nakshatra_pada": 1,
                "nakshatra_no": 21,
                "nakshatra_lord": "Sun",
                "sub_lord": "Sun",
                "sub_sub_lord": "Venus"
            },
            "9": {
                "cusp": 9,
                "house_cusp": {
                    "sign": "Capricorn",
                    "degree": "17:33:7"
                },
                "rashi_lord": "Saturn",
                "nakshatra": "Shravan",
                "nakshatra_pada": 3,
                "nakshatra_no": 22,
                "nakshatra_lord": "Moon",
                "sub_lord": "Saturn",
                "sub_sub_lord": "Jupiter"
            },
            "10": {
                "cusp": 10,
                "house_cusp": {
                    "sign": "Aquarius",
                    "degree": "12:38:8"
                },
                "rashi_lord": "Saturn",
                "nakshatra": "Shatabhisha",
                "nakshatra_pada": 2,
                "nakshatra_no": 24,
                "nakshatra_lord": "Rahu",
                "sub_lord": "Mercury",
                "sub_sub_lord": "Mercury"
            },
            "11": {
                "cusp": 11,
                "house_cusp": {
                    "sign": "Pisces",
                    "degree": "16:33:18"
                },
                "rashi_lord": "Jupiter",
                "nakshatra": "Uttara Bhadrapada",
                "nakshatra_pada": 4,
                "nakshatra_no": 26,
                "nakshatra_lord": "Saturn",
                "sub_lord": "Jupiter",
                "sub_sub_lord": "Rahu"
            },
            "12": {
                "cusp": 12,
                "house_cusp": {
                    "sign": "Aries",
                    "degree": "28:57:14"
                },
                "rashi_lord": "Mars",
                "nakshatra": "Krittika",
                "nakshatra_pada": 1,
                "nakshatra_no": 3,
                "nakshatra_lord": "Sun",
                "sub_lord": "Mars",
                "sub_sub_lord": "Ketu"
            }
        },
        "data": {
            "1": {
                "sign_no": 3,
                "planet": [
                    {
                        "name": "Moon",
                        "symbol": "Mo"
                    },
                    {
                        "name": "Jupiter",
                        "symbol": "Ju"
                    },
                    {
                        "name": "Ascendant",
                        "symbol": "Asc"
                    }
                ],
                "full_degree": "68.0729315"
            },
            "2": {
                "sign_no": 3,
                "planet": [
                    {
                        "name": "Sun",
                        "symbol": "Su"
                    }
                ],
                "full_degree": "87.2445767"
            },
            "3": {
                "sign_no": 4,
                "planet": [
                    {
                        "name": "Mercury",
                        "symbol": "Me"
                    }
                ],
                "full_degree": "107.5519125"
            },
            "4": {
                "sign_no": 5,
                "planet": [
                    {
                        "name": "Mars",
                        "symbol": "Ma"
                    },
                    {
                        "name": "Ketu",
                        "symbol": "Ke"
                    }
                ],
                "full_degree": "132.6355540"
            },
            "5": {
                "sign_no": 6,
                "planet": [],
                "full_degree": "166.5551018"
            },
            "6": {
                "sign_no": 7,
                "planet": [],
                "full_degree": "208.9538574"
            },
            "7": {
                "sign_no": 9,
                "planet": [],
                "full_degree": "248.0729315"
            },
            "8": {
                "sign_no": 9,
                "planet": [
                    {
                        "name": "Pluto",
                        "symbol": "Pl"
                    }
                ],
                "full_degree": "267.2445767"
            },
            "9": {
                "sign_no": 10,
                "planet": [],
                "full_degree": "287.5519125"
            },
            "10": {
                "sign_no": 11,
                "planet": [
                    {
                        "name": "Saturn",
                        "symbol": "Sa"
                    },
                    {
                        "name": "Neptune",
                        "symbol": "Ne"
                    },
                    {
                        "name": "Rahu",
                        "symbol": "Ra"
                    }
                ],
                "full_degree": "312.6355540"
            },
            "11": {
                "sign_no": 12,
                "planet": [],
                "full_degree": "346.5551018"
            },
            "12": {
                "sign_no": 1,
                "planet": [
                    {
                        "name": "Venus",
                        "symbol": "Ve"
                    },
                    {
                        "name": "Uranus",
                        "symbol": "Ur"
                    }
                ],
                "full_degree": "28.9538574"
            }
        },
        "base64_image": "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjM2MCIgd2lkdGg9IjM2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICAKICAgIAogICAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjM2MCIgaGVpZ2h0PSIzNjAiIGZpbGw9InllbGxvdyIgc3Ryb2tlPSJyZWQiIHN0cm9rZS13aWR0aD0iNCI+PC9yZWN0PgoJCgogICAgICAgICAgICAgICAgCTxsaW5lIHgxPSI5MCIgeTE9IjAiIHgyPSI5MCIgeTI9IjM2MCIgc3Ryb2tlPSJyZWQiIHN0cm9rZS13aWR0aD0iMiI+PC9saW5lPgogICAgCTxsaW5lIHgxPSIwIiB5MT0iOTAiIHgyPSIzNjAiIHkyPSI5MCIgc3Ryb2tlPSJyZWQiIHN0cm9rZS13aWR0aD0iMiI+PC9saW5lPgogICAgICAgICAgICAgICAgICAgICAgICAJPGxpbmUgeDE9IjE4MCIgeTE9IjAiIHgyPSIxODAiIHkyPSI5MCIgc3Ryb2tlPSJyZWQiIHN0cm9rZS13aWR0aD0iMiI+PC9saW5lPgogICAgCTxsaW5lIHgxPSIwIiB5MT0iMTgwIiB4Mj0iOTAiIHkyPSIxODAiIHN0cm9rZT0icmVkIiBzdHJva2Utd2lkdGg9IjIiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTgwIiB5MT0iMjcwIiB4Mj0iMTgwIiB5Mj0iMzYwIiBzdHJva2U9InJlZCIgc3Ryb2tlLXdpZHRoPSIyIj48L2xpbmU+CiAgICAgICAgICAgIDxsaW5lIHgxPSIyNzAiIHkxPSIxODAiIHgyPSIzNjAiIHkyPSIxODAiIHN0cm9rZT0icmVkIiBzdHJva2Utd2lkdGg9IjIiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICAgICAgCTxsaW5lIHgxPSIyNzAiIHkxPSIwIiB4Mj0iMjcwIiB5Mj0iMzYwIiBzdHJva2U9InJlZCIgc3Ryb2tlLXdpZHRoPSIyIj48L2xpbmU+CiAgICAJPGxpbmUgeDE9IjAiIHkxPSIyNzAiIHgyPSIzNjAiIHkyPSIyNzAiIHN0cm9rZT0icmVkIiBzdHJva2Utd2lkdGg9IjIiPjwvbGluZT4KICAgICAgICAgICAgCiAgICAgICAgICAgIDx0ZXh0IHg9Ijk3IiB5PSIxNSIgc3R5bGU9ImZpbGw6cmVkOyBmb250LXNpemU6MTJweDsiIGZvbnQ9IlRhaG9tYSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiPjE8L3RleHQ+CiAgICAgICAgICAgIDx0ZXh0IHg9IjE4NyIgeT0iMTUiIHN0eWxlPSJmaWxsOnJlZDsgZm9udC1zaXplOjEycHg7IiBmb250PSJUYWhvbWEiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIj4yPC90ZXh0PgogICAgICAgICAgICA8dGV4dCB4PSIyNzciIHk9IjE1IiBzdHlsZT0iZmlsbDpyZWQ7IGZvbnQtc2l6ZToxMnB4OyIgZm9udD0iVGFob21hIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiI+MzwvdGV4dD4KICAgICAgICAgICAgPHRleHQgeD0iMjc3IiB5PSIxMDQiIHN0eWxlPSJmaWxsOnJlZDsgZm9udC1zaXplOjEycHg7IiBmb250PSJUYWhvbWEiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIj40PC90ZXh0PgogICAgICAgICAgICA8dGV4dCB4PSIyNzciIHk9IjE5NCIgc3R5bGU9ImZpbGw6cmVkOyBmb250LXNpemU6MTJweDsiIGZvbnQ9IlRhaG9tYSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiPjU8L3RleHQ+CiAgICAgICAgICAgIDx0ZXh0IHg9IjI3NyIgeT0iMjg0IiBzdHlsZT0iZmlsbDpyZWQ7IGZvbnQtc2l6ZToxMnB4OyIgZm9udD0iVGFob21hIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiI+NjwvdGV4dD4KICAgICAgICAgICAgPHRleHQgeD0iMTg3IiB5PSIyODQiIHN0eWxlPSJmaWxsOnJlZDsgZm9udC1zaXplOjEycHg7IiBmb250PSJUYWhvbWEiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIj43PC90ZXh0PgogICAgICAgICAgICA8dGV4dCB4PSI5NyIgeT0iMjg0IiBzdHlsZT0iZmlsbDpyZWQ7IGZvbnQtc2l6ZToxMnB4OyIgZm9udD0iVGFob21hIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiI+ODwvdGV4dD4KICAgICAgICAgICAgPHRleHQgeD0iNyIgeT0iMjg0IiBzdHlsZT0iZmlsbDpyZWQ7IGZvbnQtc2l6ZToxMnB4OyIgZm9udD0iVGFob21hIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiI+OTwvdGV4dD4KICAgICAgICAgICAgPHRleHQgeD0iNyIgeT0iMTk0IiBzdHlsZT0iZmlsbDpyZWQ7IGZvbnQtc2l6ZToxMnB4OyIgZm9udD0iVGFob21hIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiI+MTA8L3RleHQ+CiAgICAgICAgICAgIDx0ZXh0IHg9IjciIHk9IjEwNCIgc3R5bGU9ImZpbGw6cmVkOyBmb250LXNpemU6MTJweDsiIGZvbnQ9IlRhaG9tYSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiPjExPC90ZXh0PgogICAgICAgICAgICA8dGV4dCB4PSI3IiB5PSIxNSIgc3R5bGU9ImZpbGw6cmVkOyBmb250LXNpemU6MTJweDsiIGZvbnQ9IlRhaG9tYSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiPjEyPC90ZXh0PgogICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHQgeD0iMjkyIiB5PSI0MCIgc3R5bGU9ImZpbGw6cmVkOyBmb250LXNpemU6MTVweDsgIiBmb250PSJUYWhvbWEiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIj5NbzwvdGV4dD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dCB4PSIzMjIiIHk9IjQwIiBzdHlsZT0iZmlsbDpyZWQ7IGZvbnQtc2l6ZToxNXB4OyAiIGZvbnQ9IlRhaG9tYSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiPkp1PC90ZXh0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjI5MiIgeT0iNjUiIHN0eWxlPSJmaWxsOnJlZDsgZm9udC1zaXplOjE1cHg7ICIgZm9udD0iVGFob21hIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiI+QXNjPC90ZXh0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dCB4PSIyOTIiIHk9IjQwIiBzdHlsZT0iZmlsbDpyZWQ7IGZvbnQtc2l6ZToxNXB4OyAiIGZvbnQ9IlRhaG9tYSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiPlN1PC90ZXh0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dCB4PSIyOTIiIHk9IjEyOSIgc3R5bGU9ImZpbGw6cmVkOyBmb250LXNpemU6MTVweDsgIiBmb250PSJUYWhvbWEiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIj5NZTwvdGV4dD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHQgeD0iMjkyIiB5PSIyMTkiIHN0eWxlPSJmaWxsOnJlZDsgZm9udC1zaXplOjE1cHg7ICIgZm9udD0iVGFob21hIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiI+TWE8L3RleHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHQgeD0iMzIyIiB5PSIyMTkiIHN0eWxlPSJmaWxsOnJlZDsgZm9udC1zaXplOjE1cHg7ICIgZm9udD0iVGFob21hIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiI+S2U8L3RleHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjIyIiB5PSIzMDkiIHN0eWxlPSJmaWxsOnJlZDsgZm9udC1zaXplOjE1cHg7ICIgZm9udD0iVGFob21hIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiI+UGw8L3RleHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dCB4PSIyMiIgeT0iMTI5IiBzdHlsZT0iZmlsbDpyZWQ7IGZvbnQtc2l6ZToxNXB4OyAiIGZvbnQ9IlRhaG9tYSIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiPlNhPC90ZXh0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjUyIiB5PSIxMjkiIHN0eWxlPSJmaWxsOnJlZDsgZm9udC1zaXplOjE1cHg7ICIgZm9udD0iVGFob21hIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiI+TmU8L3RleHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHQgeD0iMjIiIHk9IjE1NCIgc3R5bGU9ImZpbGw6cmVkOyBmb250LXNpemU6MTVweDsgIiBmb250PSJUYWhvbWEiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIj5SYTwvdGV4dD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjExMiIgeT0iNDAiIHN0eWxlPSJmaWxsOnJlZDsgZm9udC1zaXplOjE1cHg7ICIgZm9udD0iVGFob21hIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiI+VmU8L3RleHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHQgeD0iMTQyIiB5PSI0MCIgc3R5bGU9ImZpbGw6cmVkOyBmb250LXNpemU6MTVweDsgIiBmb250PSJUYWhvbWEiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIj5VcjwvdGV4dD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPC9zdmc+CgoK"
    }
}

Example Code Implementations

Below are example implementations in various programming environments.


cURL Example

curl --location 'https://astroapi-3.divineapi.com/indian-api/v2/kp/cuspal' \
--header 'Authorization: Bearer {Your Auth Token}' \
--form 'api_key="{Your API Key}"' \
--form 'full_name="Test"' \
--form 'day="24"' \
--form 'month="05"' \
--form 'year="2023"' \
--form 'hour="14"' \
--form 'min="40"' \
--form 'sec="43"' \
--form 'gender="male"' \
--form 'place="New Delhi"' \
--form 'lat="28.7041"' \
--form 'lon="77.1025"' \
--form 'tzone="5.5"' \
--form 'lan="en"'

Node.js Example

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://astroapi-3.divineapi.com/indian-api/v2/kp/cuspal',
  'headers': {
    'Authorization': 'Bearer {Your Auth Token}'
  },
  formData: {
    'api_key': '{Your API Key}',
    'full_name': 'Test',
    'day': '24',
    'month': '05',
    'year': '2023',
    'hour': '14',
    'min': '40',
    'sec': '43',
    'gender': 'male',
    'place': 'New Delhi',
    'lat': '28.7041',
    'lon': '77.1025',
    'tzone': '5.5',
    'lan': 'en'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

jQuery AJAX Example

var form = new FormData();
form.append("api_key", "{Your API Key}");
form.append("full_name", "Test");
form.append("day", "24");
form.append("month", "05");
form.append("year", "2023");
form.append("hour", "14");
form.append("min", "40");
form.append("sec", "43");
form.append("gender", "male");
form.append("place", "New Delhi");
form.append("lat", "28.7041");
form.append("lon", "77.1025");
form.append("tzone", "5.5");
form.append("lan", "en");

var settings = {
  "url": "https://astroapi-3.divineapi.com/indian-api/v2/kp/cuspal",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "Authorization": "Bearer {Your Auth Token}"
  },
  "processData": false,
  "mimeType": "multipart/form-data",
  "contentType": false,
  "data": form
};

$.ajax(settings).done(function (response) {
  console.log(response);
});

Python Example

import requests

url = "https://astroapi-3.divineapi.com/indian-api/v2/kp/cuspal"

payload = {'api_key': '{Your API Key}',
'full_name': 'Test',
'day': '24',
'month': '05',
'year': '2023',
'hour': '14',
'min': '40',
'sec': '43',
'gender': 'male',
'place': 'New Delhi',
'lat': '28.7041',
'lon': '77.1025',
'tzone': '5.5',
'lan': 'en'}

headers = {
  'Authorization': 'Bearer {Your Auth Token}'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Notes

The response includes three important parts: table_data (KP cusp breakdown), data (sign and planets in each house), and svg/base64_image (chart rendering).

Always send correct latitude, longitude, and timezone to avoid wrong cusp generation.

api_key and Authorization header are both mandatory.

Example Code
curl -X POST "https://astroapi-3.divineapi.com/indian-api/v2/kp/cuspal" \
  -H "Authorization: Bearer {Your Auth Token}" \
  --form 'api_key="{Your API Key}"' \
  --form 'full_name="Test"' \
  --form 'day="24"' \
  --form 'month="05"' \
  --form 'year="2023"' \
  --form 'hour="14"' \
  --form 'min="40"' \
  --form 'sec="43"' \
  --form 'gender="male"' \
  --form 'place="New Delhi"' \
  --form 'lat="28.7041"' \
  --form 'lon="77.1025"' \
  --form 'tzone="5.5"' \
  --form 'lan="en"'
const FormData = require('form-data');
const axios = require('axios');

const form = new FormData();
form.append('api_key', '{Your API Key}');
form.append('full_name', 'Test');
form.append('day', '24');
form.append('month', '05');
form.append('year', '2023');
form.append('hour', '14');
form.append('min', '40');
form.append('sec', '43');
form.append('gender', 'male');
form.append('place', 'New Delhi');
form.append('lat', '28.7041');
form.append('lon', '77.1025');
form.append('tzone', '5.5');
form.append('lan', 'en');

const response = await axios.post('https://astroapi-3.divineapi.com/indian-api/v2/kp/cuspal', form, {
  headers: {
    ...form.getHeaders(),
    'Authorization': 'Bearer {Your Auth Token}',
  }
});

console.log(response.data);
import requests

url = "https://astroapi-3.divineapi.com/indian-api/v2/kp/cuspal"
headers = {
    "Authorization": "Bearer {Your Auth Token}",
}
payload = {
    "api_key": "{Your API Key}",
    "full_name": "Test",
    "day": "24",
    "month": "05",
    "year": "2023",
    "hour": "14",
    "min": "40",
    "sec": "43",
    "gender": "male",
    "place": "New Delhi",
    "lat": "28.7041",
    "lon": "77.1025",
    "tzone": "5.5",
    "lan": "en",
}

response = requests.post(url, headers=headers, data=payload)

print(response.json())
const formData = new FormData();
formData.append('api_key', '{Your API Key}');
formData.append('full_name', 'Test');
formData.append('day', '24');
formData.append('month', '05');
formData.append('year', '2023');
formData.append('hour', '14');
formData.append('min', '40');
formData.append('sec', '43');
formData.append('gender', 'male');
formData.append('place', 'New Delhi');
formData.append('lat', '28.7041');
formData.append('lon', '77.1025');
formData.append('tzone', '5.5');
formData.append('lan', 'en');

const response = await fetch('https://astroapi-3.divineapi.com/indian-api/v2/kp/cuspal', {
  method: 'POST',
  headers: {
      'Authorization': "Bearer {Your Auth Token}",
    },
  body: formData,
});

const data = await response.json();
console.log(data);
<?php

use GuzzleHttp\Client;

$client = new Client();

$response = $client->request('POST', 'https://astroapi-3.divineapi.com/indian-api/v2/kp/cuspal', [
    'headers' => [
        'Authorization' => 'Bearer {Your Auth Token}',
    ],
    'multipart' => [
        ['name' => 'api_key', 'contents' => '{Your API Key}'],
        ['name' => 'full_name', 'contents' => 'Test'],
        ['name' => 'day', 'contents' => '24'],
        ['name' => 'month', 'contents' => '05'],
        ['name' => 'year', 'contents' => '2023'],
        ['name' => 'hour', 'contents' => '14'],
        ['name' => 'min', 'contents' => '40'],
        ['name' => 'sec', 'contents' => '43'],
        ['name' => 'gender', 'contents' => 'male'],
        ['name' => 'place', 'contents' => 'New Delhi'],
        ['name' => 'lat', 'contents' => '28.7041'],
        ['name' => 'lon', 'contents' => '77.1025'],
        ['name' => 'tzone', 'contents' => '5.5'],
        ['name' => 'lan', 'contents' => 'en'],
    ],
]);

echo $response->getBody();
package main

import (
    "bytes"
    "fmt"
    "mime/multipart"
    "net/http"
    "io"
)

func main() {
    body := &bytes.Buffer{}
    writer := multipart.NewWriter(body)
    writer.WriteField("api_key", "{Your API Key}")
    writer.WriteField("full_name", "Test")
    writer.WriteField("day", "24")
    writer.WriteField("month", "05")
    writer.WriteField("year", "2023")
    writer.WriteField("hour", "14")
    writer.WriteField("min", "40")
    writer.WriteField("sec", "43")
    writer.WriteField("gender", "male")
    writer.WriteField("place", "New Delhi")
    writer.WriteField("lat", "28.7041")
    writer.WriteField("lon", "77.1025")
    writer.WriteField("tzone", "5.5")
    writer.WriteField("lan", "en")
    writer.Close()

    req, _ := http.NewRequest("POST", "https://astroapi-3.divineapi.com/indian-api/v2/kp/cuspal", body)
    req.Header.Set("Content-Type", writer.FormDataContentType())
    req.Header.Set("Authorization", "Bearer {Your Auth Token}")

    client := &http.Client{}
    resp, _ := client.Do(req)
    defer resp.Body.Close()

    body2, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body2))
}
import okhttp3.*;
import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        OkHttpClient client = new OkHttpClient();

        RequestBody body = new MultipartBody.Builder()
            .setType(MultipartBody.FORM)
            .addFormDataPart("api_key", "{Your API Key}")
            .addFormDataPart("full_name", "Test")
            .addFormDataPart("day", "24")
            .addFormDataPart("month", "05")
            .addFormDataPart("year", "2023")
            .addFormDataPart("hour", "14")
            .addFormDataPart("min", "40")
            .addFormDataPart("sec", "43")
            .addFormDataPart("gender", "male")
            .addFormDataPart("place", "New Delhi")
            .addFormDataPart("lat", "28.7041")
            .addFormDataPart("lon", "77.1025")
            .addFormDataPart("tzone", "5.5")
            .addFormDataPart("lan", "en")
            .build();

        Request request = new Request.Builder()
            .url("https://astroapi-3.divineapi.com/indian-api/v2/kp/cuspal")
            .post(body)
            .addHeader("Authorization", "Bearer {Your Auth Token}")
            .build();

        Response response = client.newCall(request).execute();
        System.out.println(response.body().string());
    }
}
import Foundation

let url = URL(string: "https://astroapi-3.divineapi.com/indian-api/v2/kp/cuspal")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer {Your Auth Token}", forHTTPHeaderField: "Authorization")

let boundary = "Boundary-\(UUID().uuidString)"
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

var bodyData = Data()
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"api_key\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("{Your API Key}\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"full_name\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("Test\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"day\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("24\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"month\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("05\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"year\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("2023\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"hour\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("14\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"min\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("40\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"sec\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("43\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"gender\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("male\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"place\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("New Delhi\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"lat\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("28.7041\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"lon\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("77.1025\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"tzone\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("5.5\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"lan\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("en\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)--\r\n".data(using: .utf8)!)
request.httpBody = bodyData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        print(String(data: data, encoding: .utf8) ?? "")
    }
}
task.resume()
import okhttp3.*

fun main() {
    val client = OkHttpClient()

    val body = MultipartBody.Builder()
        .setType(MultipartBody.FORM)
        .addFormDataPart("api_key", "{Your API Key}")
        .addFormDataPart("full_name", "Test")
        .addFormDataPart("day", "24")
        .addFormDataPart("month", "05")
        .addFormDataPart("year", "2023")
        .addFormDataPart("hour", "14")
        .addFormDataPart("min", "40")
        .addFormDataPart("sec", "43")
        .addFormDataPart("gender", "male")
        .addFormDataPart("place", "New Delhi")
        .addFormDataPart("lat", "28.7041")
        .addFormDataPart("lon", "77.1025")
        .addFormDataPart("tzone", "5.5")
        .addFormDataPart("lan", "en")
        .build()

    val request = Request.Builder()
        .url("https://astroapi-3.divineapi.com/indian-api/v2/kp/cuspal")
        .post(body!!)
        .addHeader("Authorization", "Bearer {Your Auth Token}")
        .build()

    client.newCall(request).execute().use { response ->
        println(response.body?.string())
    }
}
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program {
    static async Task Main() {
        using var client = new HttpClient();
        client.DefaultRequestHeaders.Add("Authorization", "Bearer {Your Auth Token}");

        var content = new MultipartFormDataContent();
        content.Add(new StringContent("{Your API Key}"), "api_key");
        content.Add(new StringContent("Test"), "full_name");
        content.Add(new StringContent("24"), "day");
        content.Add(new StringContent("05"), "month");
        content.Add(new StringContent("2023"), "year");
        content.Add(new StringContent("14"), "hour");
        content.Add(new StringContent("40"), "min");
        content.Add(new StringContent("43"), "sec");
        content.Add(new StringContent("male"), "gender");
        content.Add(new StringContent("New Delhi"), "place");
        content.Add(new StringContent("28.7041"), "lat");
        content.Add(new StringContent("77.1025"), "lon");
        content.Add(new StringContent("5.5"), "tzone");
        content.Add(new StringContent("en"), "lan");

        var response = await client.PostAsync("https://astroapi-3.divineapi.com/indian-api/v2/kp/cuspal", content);
        var result = await response.Content.ReadAsStringAsync();
        Console.WriteLine(result);
    }
}