Skip to content
POST/api/astro/western/harmonic/1 credit

Harmonic chart

The Nth harmonic: every longitude multiplied by N and re-wrapped. Addey's technique. Multiplying by N and taking the result modulo 360 turns a division of the circle into a conjunction, so planets an exact fifth of the circle apart become conjunct in the 5th harmonic. It makes a subtle pattern legible. The 4th and 8th are most often read, since they collapse the hard aspects; the 5th shows quintiles and the 9th noviles. Harmonic aspects are computed and returned, because finding the new conjunctions is the whole point.

https://yogataraapi.prahlad.app/api/astro/western/harmonic/
Test Request

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/json

Request fields

FieldTypeRequiredNotes
date_timestring (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.

harmonicintegeroptional

Which harmonic. 5 is the quintile harmonic, 7 the septile, 9 the novile. The 4th and 8th are the ones most often read.

min 2 · max 180

keysarrayoptional

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.

latitudenumber (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.

longitudenumber (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_factornumber (double)optional

Scale every aspect orb. 0.5 halves them, 2 doubles them.

min 0.1 · max 2

timezone_as_floatnumber (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/harmonic/ \
  -H "X-API-Key: $OCCULT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date_time":"1990-08-15T10:30:00+05:30","latitude":26.9124,"longitude":75.7873,"timezone_as_float":5.5,"harmonic":5}'

Response

{
  "_truncated": true,
  "_note": "Response shortened for the catalogue.",
  "preview": "{\"data\": {\"zodiac\": \"tropical\", \"harmonic\": 5, \"note\": \"Every natal longitude multiplied by 5 and taken modulo 360. Bodies 5 apart in the natal circle become conjunct here.\", \"planets\": [{\"name\": \"sun\", \"natal_longitude\": 142.125097, \"longitude\": 350.625485, \"speed\": 0.960934, \"retrograde\": false, \"sign\": \"Pisces\", \"sign_index\": 12, \"degree_in_sign\": 20.6255, \"formatted\": \"20°37' Pisces\"}, {\"name\": \"moon\", \"natal_longitude\": 72.660043, \"longitude\": 3.300215, \"speed\": 14.262958, \"retrograde\": false, \"sign\": \"Aries\", \"sign_index\": 1, \"degree_in_sign\": 3.3002, \"formatted\": \"3°18' Aries\"}, {\"name\": \"mercury\", \"natal_longitude\": 169.176074, \"longitude\": 125.88037, \"speed\": 0.776615, \"retrograde\": false, \"sign\": \"Leo\", \"sign_index\": 5, \"degree_in_sign\": 5.8804, \"formatted\": \"5°52' Leo\"}, {\"name\": \"venus\", \"natal_longitude\": 121.572681, \"longitude\": 247.863405, \"speed\": 1.22118, \"retrograde\": false, \"sign\": \"Sagittarius\", \"sign_index\": 9, \"degree_in_sign\": 7.8634, \"formatted\": \"7°51' Sagittarius\"}, {\"name\": \"mars\", \"natal_longitude\": 51.217023, \"longitude\": 256.085115, \"speed\": 0.576982, \"retrograde\": false, \"sign\": \"Sagittarius\", \"sign_index\": 9, \"degree_in_sign\": 16.0851, \"formatted\": \"16°05' Sagittarius\"}, {\"name\": \"jupiter\", \"natal_longitude\": 119.336805, \"longitude\": 236.684025, \"speed\": 0.214649, \"retrograde\": false, \"sign\": \"Scorpio\", \"sign_index\": 8, \"degree_in_sign\": 26.684, \"formatted\": \"26°41' Scorpio\"}, {\"name\": \"saturn\", \"natal_longitude\": 289.878035, \"longitude\": 9.390175, \"speed\": -0.056381, \"retrograde\": true, \"sign\": \"Aries\", \"sign_index\": 1, \"degree_in_sign\": 9.3902, \"formatted\": \"9°23' Aries\"}, {\"name\": \"uranus\", \"natal_longitude\": 275.978113, \"longitude\": 299.890565, \"speed\": -0.023775, \"retrograde\": true, \"sign\": \"Capricorn\", \"sign_index\": 10, \"degree_in_sign\": 29.8906, \"formatted\": \"29°53' Capricorn\"}, {\"name\": \"neptune\", \"natal_longitude\": 282.198866, \"longitude\": 330.99433, \"speed\": -0.019063, \"retrograde\": true, \"sign\": \"Pisces\", \"sign_index\": 12, \"degree_in_sign\": 0.9943, \"formatted\": \"0°59' Pisces\"}, {\"name\": \"pluto\", \"natal_longitude\": 225.084319, \"longitude\": 45.421595, \"speed\": 0.011469, \"retrograde\": false, \"sign\": \"Taurus\", \"sign_index\": 2, \"degree_in_sign\": 15.4216, \"formatted\": \"15°25' Taurus\"}, {\"name\": \"north_node\", \"natal_longitude\": 307.233496, \"longitude\": 96.16748, \"speed\": 0.014476, \"retrograde\": false, \"sign\": \"Cancer\", \"sign_index\": 4, \"degree_in_sign\": 6.1675, \"formatted\": \"6°10' Cancer\"}, {\"name\": \"chiron\", \"natal_longitude\": 112.437645, \"longitude\": 202.188225, \"speed\": 0.099053, \"retrograde\": false, \"sign\": \"Libra\", \"sign_index\": 7, \"degree_in_sign\": 22.1882, \"formatted\": \"22°11' Libra\"}], \"aspects\": [{\"body_1\": \"mercury\", \"body_2\": \"north_node\", \"aspect\": \"semisextile\", \"exact_angle\": 30.0, \"orb\": 0.2871, \"allowed_orb\": 2.0, \"separation\": 29.7129}, {\"body_1\": \"mars\", \"body_2\": \"pluto\", \"aspect\": \"quincunx\", \"exact_angle\": 150.0, \"orb\": 0.6635, \"allowed_orb\": 3.0, \"separation\": 149.3365}, {\"body_1\": \"uranus\", \"body_2\": \"neptune\", \"aspect\": \"semisextile\", \"exact_angle\": 30.0, \"orb\": 1.1038, \"allowed_orb\": 2.0, \"separation\": 31.1038}, {\"body_1\": \"venus\", \"body_2\": \"saturn\", \"aspect\": \"trine\", \"exact_angle\": 120.0, \"orb\": 1.5268, \"allowed_orb\": 8.0, \"separation\": 121.5268}, {\"body_1\": \"sun\", \"body_2\": \"chiron\", \"aspect\": \"quincunx\", \"exact_angle\": 150.0, \"orb\": 1.5627, \"allowed_orb\": 3.0, \"separation\": 148.4373}, {\"body_1\": \"venus\", \"body_2\": \"north_node\", \"aspect\": \"quincunx\", \"exact_angle\": 150.0, \"orb\": 1.6959, \"allowed_orb\": 3.0, \"separation\": 151.6959}, {\"body_1\": \"mercury\", \"body_2\": \"venus\", \"aspect\": \"trine\", \"exact_angle\": 120.0, \"orb\": 1.983, \"allowed_orb\": 8.0, \"separation\": 121.983}, {\"body_1\": \"moon\", \"body_2\": \"mercury\", \"aspect\": \"trine\", \"exact_angle\": 120.0, \"orb\": 2.5802, \"allowed_orb\": 8.0, \"separation\": 122.5802}, {\"body_1\": \"moon\", \"body_2\": \"north_node\", \"aspect\": \"square\", \"exact_angle\": 90.0, \"orb\": 2.8673, \"allowed_orb\": 8.0, \"separation\": 92.8673}, {\"body_1\": \"jupi"
}

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.