/api/astro/pancha_pakshi_hora/1 creditPancha Pakshi
Pancha Pakshi Shastra is a Tamil system that assigns each person one of five birds — vulture, owl, crow, cock or peacock — from their birth nakshatra and fortnight, and then times the day by what that bird is doing. Every bird cycles through five activities, ruling, eating, walking, sleeping and dying, in descending order of favourability, and each part of the day is good or bad according to how your bird's activity relates to the one currently in force. Use get_birth_bird_from_nakshathra for the bird itself; get_birth_nakshathra and get_paksha return the two inputs it is derived from, useful if you want to show the working. All three return plain integers rather than names. get_matching_pancha_pakshi_data_from_db returns the raw activity table for that bird on the weekday and fortnight of the moment you asked about: fifty numeric rows covering five main periods of the day and five of the night, each split into five sub-periods. The columns are indices and fractions, not clock times — you build the times yourself from sunrise, sunset and the duration factors. The nakshatras request field is accepted by the serializer but is not used by this endpoint.
https://yogataraapi.prahlad.app/api/astro/pancha_pakshi_hora/Authentication
Send your key in the X-API-Key header. Keys are server-side credentials — never put one in browser JavaScript or a mobile app.
X-API-Key: yt_live_a1b2c3d4_…
Content-Type: application/jsonRequest fields
| Field | Type | Required | Notes |
|---|---|---|---|
| date_time | string (date-time) | required | The moment to calculate for, ISO 8601. ALWAYS include an offset or a trailing Z - a value with no zone is read as Asia/Kolkata (UTC+05:30), not UTC, and can return the previous day's result with a 200. '2026-09-01T06:00:00Z' and '2026-09-01 06:00:00' are different instants and give different answers. |
| keys | array | required | Which calculations to return, as a list of names. See the key table for this endpoint; an unrecognised name rejects the whole request. One call costs one credit however many keys you ask for, so request everything you need at once rather than making several calls. |
| latitude | number (double) | required | Latitude of the place, in decimal degrees. Positive is north, negative is south. Example: 26.9124 for Jaipur, 40.7128 for New York. Minutes and seconds are not accepted - convert first. min -90 · max 90 |
| longitude | number (double) | required | Longitude of the place, in decimal degrees. Positive is east, negative is west. Example: 75.7873 for Jaipur, -74.0060 for New York. Note the sign: a missing minus puts New York in China. min -180 · max 180 |
| timezone_as_float | number (double) | required | UTC offset of the place, in hours, as a decimal. Example: 5.5 for India (UTC+05:30), -5 for New York in winter, 5.75 for Nepal. This is NOT validated against date_time - if the two disagree you get a successful response for the wrong moment, so derive both from the same source. Use the offset in force on that date, not today's: a summer birth in a country with daylight saving needs the summer offset. min -12 · max 14 |
| nakshatras | string | optional | specialDEAD PARAMETER at the HTTP layer - PanchaPakshaHoraView passes only date_time, geopos and the pancha_pakshi_db CSV path. In the engine the only meaningful value is the literal 'special' (swaps in the 28-entry nakshatras_special table. |
Available keys (4)
Ask for exactly the calculations you want by listing them in keys. An unknown key rejects the whole request, and you are charged 1 credit however many you ask for — so batch them.
| Key | Extra fields needed | Description |
|---|---|---|
| get_birth_bird_from_nakshathra | — | The birth bird as a single integer 1 to 5 — 1 vulture, 2 owl, 3 crow, 4 cock, 5 peacock — derived from the birth nakshatra together with the fortnight, so the same nakshatra gives different birds in the two halves of the month. |
| get_birth_nakshathra | — | The birth nakshatra as a single integer from 1 to 27 counting from Ashwini — the input the rest of this endpoint's lookups need. No name is returned, only the number. |
| get_matching_pancha_pakshi_data_from_db | — | The raw activity table for the birth bird on the weekday and fortnight of the moment requested: fifty rows, each a list of fourteen numbers, in the column order week day index, paksha index, day/night index, main bird, main activity, sub bird, sub activity, duration factor, relation, power factor, effect, rating, padu pakshi, bharana pakshi. Birds are 0-4 as vulture, owl, crow, cock, peacock; activities are 0-4 as ruling, eating, walking, sleeping, dying; relation is 0 enemy, 1 same, 2 friend; effect runs 0 to 4 from very bad to very good. Rows come in groups of five — five main periods per half of the day, each subdivided into five — and duration factor gives each sub-period's share of its parent. No clock times are included; build them from sunrise, sunset and the factors. |
| get_paksha | — | Which lunar fortnight the moment falls in, as a single integer: 1 for Shukla (waxing), 2 for Krishna (waning). Pancha Pakshi assigns a different bird to the same nakshatra in each fortnight, so this changes the answer. |
Example request
curl -X POST https://yogataraapi.prahlad.app/api/astro/pancha_pakshi_hora/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date_time":"2026-09-01 06:00:00","keys":["get_birth_bird_from_nakshathra","get_birth_nakshathra","get_matching_pancha_pakshi_data_from_db"],"latitude":26.9124,"longitude":75.7873,"timezone_as_float":5.5,"nakshatras":"special"}'Response
{
"_truncated": true,
"_note": "Response shortened for the catalogue.",
"preview": "{\"data\": {\"get_birth_bird_from_nakshathra\": 1, \"get_birth_nakshathra\": 27, \"get_matching_pancha_pakshi_data_from_db\": [[2.0, 1.0, 0.0, 0.0, 2.0, 0.0, 2.0, 0.208333333, 1.0, 0.36, 2.0, 4.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 2.0, 3.0, 1.0, 0.208333333, 0.0, 0.48, 2.0, 4.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 2.0, 1.0, 4.0, 0.25, 2.0, 0.12, 1.0, 2.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 2.0, 4.0, 3.0, 0.166666667, 2.0, 0.24, 2.0, 3.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.166666667, 0.0, 0.6, 2.0, 5.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.208333333, 1.0, 0.64, 3.0, 6.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 1.0, 3.0, 4.0, 0.25, 0.0, 0.16, 0.0, 1.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 1.0, 1.0, 3.0, 0.166666667, 2.0, 0.32, 2.0, 4.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 1.0, 4.0, 0.0, 0.166666667, 2.0, 0.8, 4.0, 9.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 1.0, 2.0, 2.0, 0.208333333, 0.0, 0.48, 2.0, 4.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 4.0, 0.0, 4.0, 0.25, 1.0, 0.04, 0.0, 1.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 4.0, 3.0, 3.0, 0.166666667, 0.0, 0.08, 0.0, 1.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 4.0, 1.0, 0.0, 0.166666667, 2.0, 0.2, 2.0, 3.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 4.0, 4.0, 2.0, 0.208333333, 2.0, 0.12, 1.0, 2.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 4.0, 2.0, 1.0, 0.208333333, 0.0, 0.16, 0.0, 1.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 3.0, 0.0, 3.0, 0.166666667, 1.0, 0.16, 1.0, 2.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 3.0, 3.0, 0.0, 0.166666667, 0.0, 0.4, 2.0, 3.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 3.0, 1.0, 2.0, 0.208333333, 2.0, 0.24, 2.0, 3.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 3.0, 4.0, 1.0, 0.208333333, 2.0, 0.32, 2.0, 4.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 3.0, 2.0, 4.0, 0.25, 0.0, 0.08, 0.0, 1.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.166666667, 1.0, 1.0, 4.0, 10.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 0.0, 3.0, 2.0, 0.208333333, 0.0, 0.6, 2.0, 5.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.208333333, 2.0, 0.8, 4.0, 9.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.25, 2.0, 0.2, 2.0, 3.0, 0.0, 3.0], [2.0, 1.0, 0.0, 0.0, 0.0, 2.0, 3.0, 0.166666667, 0.0, 0.4, 2.0, 3.0, 0.0, 3.0], [2.0, 1.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.208333333, 1.0, 0.64, 3.0, 6.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 1.0, 4.0, 3.0, 0.125, 2.0, 0.32, 2.0, 4.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 1.0, 3.0, 2.0, 0.25, 0.0, 0.48, 2.0, 4.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 1.0, 2.0, 4.0, 0.083333333, 2.0, 0.16, 2.0, 3.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.333333333, 0.0, 0.8, 3.0, 7.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 3.0, 0.0, 3.0, 0.125, 1.0, 0.16, 1.0, 2.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 3.0, 4.0, 2.0, 0.25, 2.0, 0.24, 2.0, 3.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 3.0, 3.0, 4.0, 0.083333333, 0.0, 0.08, 0.0, 1.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 3.0, 2.0, 0.0, 0.333333333, 2.0, 0.4, 2.0, 5.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 3.0, 1.0, 1.0, 0.208333333, 0.0, 0.32, 1.0, 2.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 2.0, 0.0, 2.0, 0.25, 1.0, 0.36, 2.0, 4.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 2.0, 4.0, 4.0, 0.083333333, 2.0, 0.12, 1.0, 2.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 2.0, 3.0, 0.0, 0.333333333, 0.0, 0.6, 2.0, 5.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 2.0, 2.0, 1.0, 0.208333333, 2.0, 0.48, 3.0, 6.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 2.0, 1.0, 3.0, 0.125, 0.0, 0.24, 0.0, 1.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 4.0, 0.0, 4.0, 0.083333333, 1.0, 0.04, 0.0, 1.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 4.0, 4.0, 0.0, 0.333333333, 2.0, 0.2, 2.0, 3.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 4.0, 3.0, 1.0, 0.208333333, 0.0, 0.16, 0.0, 1.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 4.0, 2.0, 3.0, 0.125, 2.0, 0.08, 1.0, 2.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 4.0, 1.0, 2.0, 0.25, 0.0, 0.12, 0.0, 1.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.333333333, 1.0, 1.0, 4.0, 10.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 0.0, 4.0, 1.0, 0.208333333, 2.0, 0.8, 4.0, 9.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 0.0, 3.0, 3.0, 0.125, 0.0, 0.4, 2.0, 3.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 0.0, 2.0, 2.0, 0.25, 2.0, 0.6, 3.0, 7.0, 0.0, 0.0], [2.0, 1.0, 1.0, 0.0, 0.0, 1"
}Captured from a real call using the exact request above. Results sit under data, keyed by what you requested.
Errors
Metering errors return { "error": "…", "message": "<code>", "is_error": true }. Show error to people and branch on message. See the error reference.