/api/astro/western/composite/1 creditComposite chart
The midpoint chart of a relationship, read as its own entity. Where synastry compares two charts, a composite MERGES them: each body sits at the midpoint of the two people's positions, and the result is read as the chart of the relationship itself rather than of either person. Midpoints are taken on the shorter arc, which is the convention and is NOT the same as averaging the two numbers — a pair at 350 and 10 degrees composites to 0, not to 180. Each body reports the two source longitudes it came from, so the midpoint is checkable. A composite carries no speed and no retrogradation: it is not a moment in time, so nothing in it is moving. Aspects between composite bodies ARE meaningful and are returned.
https://yogataraapi.prahlad.app/api/astro/western/composite/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. |
| partner_date_time | string (date-time) | required | |
| keys | array | optional | 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) | optional | 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. |
| longitude | number (double) | optional | 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. |
| orb_factor | number (double) | optional | Scale every aspect orb. 0.5 halves them, 2 doubles them. min 0.1 · max 2 |
| partner_timezone_as_float | number (double) | optional | min -12 · max 14 |
| timezone_as_float | number (double) | optional | 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 |
Example request
curl -X POST https://yogataraapi.prahlad.app/api/astro/western/composite/ \
-H "X-API-Key: $OCCULT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date_time":"1990-05-10T19:55:00+05:30","timezone_as_float":5.5,"latitude":26.9124,"longitude":75.7873,"partner_date_time":"1988-11-23T07:15:00+05:30","partner_timezone_as_float":5.5,"orb_factor":1}'Response
{
"_truncated": true,
"_note": "Response shortened for the catalogue.",
"preview": "{\"data\": {\"zodiac\": \"tropical\", \"chart\": \"composite_midpoint\", \"orb_factor\": 1.0, \"planets\": [{\"name\": \"sun\", \"longitude\": 325.3295, \"from\": {\"person_a\": 49.66766, \"person_b\": 240.991341}, \"sign\": \"Aquarius\", \"sign_index\": 11, \"degree_in_sign\": 25.3295, \"formatted\": \"25°19' Aquarius\"}, {\"name\": \"moon\", \"longitude\": 325.741456, \"from\": {\"person_a\": 238.259725, \"person_b\": 53.223187}, \"sign\": \"Aquarius\", \"sign_index\": 11, \"degree_in_sign\": 25.7415, \"formatted\": \"25°44' Aquarius\"}, {\"name\": \"mercury\", \"longitude\": 317.866522, \"from\": {\"person_a\": 39.452338, \"person_b\": 236.280707}, \"sign\": \"Aquarius\", \"sign_index\": 11, \"degree_in_sign\": 17.8665, \"formatted\": \"17°51' Aquarius\"}, {\"name\": \"venus\", \"longitude\": 288.321938, \"from\": {\"person_a\": 7.250368, \"person_b\": 209.393508}, \"sign\": \"Capricorn\", \"sign_index\": 10, \"degree_in_sign\": 18.3219, \"formatted\": \"18°19' Capricorn\"}, {\"name\": \"mars\", \"longitude\": 354.304998, \"from\": {\"person_a\": 344.690843, \"person_b\": 3.919152}, \"sign\": \"Pisces\", \"sign_index\": 12, \"degree_in_sign\": 24.305, \"formatted\": \"24°18' Pisces\"}, {\"name\": \"jupiter\", \"longitude\": 79.84236, \"from\": {\"person_a\": 98.630274, \"person_b\": 61.054447}, \"sign\": \"Gemini\", \"sign_index\": 3, \"degree_in_sign\": 19.8424, \"formatted\": \"19°50' Gemini\"}, {\"name\": \"saturn\", \"longitude\": 283.210836, \"from\": {\"person_a\": 295.313114, \"person_b\": 271.108557}, \"sign\": \"Capricorn\", \"sign_index\": 10, \"degree_in_sign\": 13.2108, \"formatted\": \"13°12' Capricorn\"}, {\"name\": \"uranus\", \"longitude\": 274.377978, \"from\": {\"person_a\": 279.296197, \"person_b\": 269.459759}, \"sign\": \"Capricorn\", \"sign_index\": 10, \"degree_in_sign\": 4.378, \"formatted\": \"4°22' Capricorn\"}, {\"name\": \"neptune\", \"longitude\": 281.474487, \"from\": {\"person_a\": 284.419553, \"person_b\": 278.52942}, \"sign\": \"Capricorn\", \"sign_index\": 10, \"degree_in_sign\": 11.4745, \"formatted\": \"11°28' Capricorn\"}, {\"name\": \"pluto\", \"longitude\": 224.774448, \"from\": {\"person_a\": 226.304012, \"person_b\": 223.244883}, \"sign\": \"Scorpio\", \"sign_index\": 8, \"degree_in_sign\": 14.7744, \"formatted\": \"14°46' Scorpio\"}, {\"name\": \"north_node\", \"longitude\": 325.694721, \"from\": {\"person_a\": 310.874753, \"person_b\": 340.514689}, \"sign\": \"Aquarius\", \"sign_index\": 11, \"degree_in_sign\": 25.6947, \"formatted\": \"25°41' Aquarius\"}, {\"name\": \"chiron\", \"longitude\": 99.523745, \"from\": {\"person_a\": 102.832128, \"person_b\": 96.215362}, \"sign\": \"Cancer\", \"sign_index\": 4, \"degree_in_sign\": 9.5237, \"formatted\": \"9°31' Cancer\"}], \"count\": 29, \"aspects\": [{\"from\": \"moon\", \"to\": \"north_node\", \"aspect\": \"conjunction\", \"exact_angle\": 0.0, \"orb\": 0.0467, \"separation\": 0.0467}, {\"from\": \"sun\", \"to\": \"north_node\", \"aspect\": \"conjunction\", \"exact_angle\": 0.0, \"orb\": 0.3652, \"separation\": 0.3652}, {\"from\": \"sun\", \"to\": \"moon\", \"aspect\": \"conjunction\", \"exact_angle\": 0.0, \"orb\": 0.412, \"separation\": 0.412}, {\"from\": \"mercury\", \"to\": \"venus\", \"aspect\": \"semisextile\", \"exact_angle\": 30.0, \"orb\": 0.4554, \"separation\": 29.5446}, {\"from\": \"sun\", \"to\": \"mars\", \"aspect\": \"semisextile\", \"exact_angle\": 30.0, \"orb\": 1.0245, \"separation\": 28.9755}, {\"from\": \"mars\", \"to\": \"north_node\", \"aspect\": \"semisextile\", \"exact_angle\": 30.0, \"orb\": 1.3897, \"separation\": 28.6103}, {\"from\": \"moon\", \"to\": \"mars\", \"aspect\": \"semisextile\", \"exact_angle\": 30.0, \"orb\": 1.4365, \"separation\": 28.5635}, {\"from\": \"venus\", \"to\": \"jupiter\", \"aspect\": \"quincunx\", \"exact_angle\": 150.0, \"orb\": 1.5204, \"separation\": 151.5204}, {\"from\": \"saturn\", \"to\": \"pluto\", \"aspect\": \"sextile\", \"exact_angle\": 60.0, \"orb\": 1.5636, \"separation\": 58.4364}, {\"from\": \"saturn\", \"to\": \"neptune\", \"aspect\": \"conjunction\", \"exact_angle\": 0.0, \"orb\": 1.7363, \"separation\": 1.7363}, {\"from\": \"neptune\", \"to\": \"chiron\", \"aspect\": \"opposition\", \"exact_angle\": 180.0, \"orb\": 1.9507, \"separation\": 178.0493}, {\"from\": \"mercury\", \"to\": \"jupiter\", \"aspect\": \"trine\", \"exact_angle\": 120.0, \"orb\": 1.9758, \"separation\": 121.9758}, {\"from\": \"mercury\", \"to\": \"pluto\", \"aspect\": \"square\", \"exact_angle\": 90.0, \"orb\": 3.0921, \"separa"
}Captured from a real call using the exact request above. Results sit under data.
Errors
Metering errors return { "error": "…", "message": "<code>", "is_error": true }. Show error to people and branch on message. See the error reference.