Biorhythm Phases API
Where each cycle is: its half, when that half began and ends, and the next peak and trough
POST/v1/biorhythm/phases
1 credit · Secret key (test or live) · getBiorhythmPhases
Request body
birth_datestring (date) requiredThe date of birth. It is used for this response and not stored.
e.g.
"1990-08-13"datestring (date) requirede.g.
"1990-08-13"
No other fields are accepted.
Response
JSON { data, meta, warnings }, where data is:
datestring (date) requirede.g.
"1990-08-13"days_since_birthinteger requiredcyclesarray of object requiredidstring requiredone of
physical,emotional,intellectualperiod_daysinteger requiredhalfstring requiredone of
upper,lowertrendstring requiredone of
rising,fallingpercent_through_cyclenumber requiredhalf_beganstring (date) requirede.g.
"1990-08-13"half_endsstring (date) requirede.g.
"1990-08-13"next_peakstring (date) requirede.g.
"1990-08-13"next_troughstring (date) requirede.g.
"1990-08-13"
Errors: 400, 401, 403, 404, 422, 429, 500. See error codes.
Example request
curl -X POST 'https://api.astrologics.in/v1/biorhythm/phases' \
-H 'Authorization: Bearer al_test_YOUR_KEY' \
-H 'Content-Type: application/json' \
-d '{"birth_date":"1990-05-15","date":"2026-11-02"}'
Node.js
const res = await fetch("https://api.astrologics.in/v1/biorhythm/phases", {
method: "POST",
headers: { Authorization: "Bearer al_test_YOUR_KEY", "Content-Type": "application/json" },
body: JSON.stringify({
"birth_date": "1990-05-15",
"date": "2026-11-02"
}),
});
console.log(JSON.stringify(await res.json(), null, 2));Python
import json
import urllib.error
import urllib.request
body = {
"birth_date": "1990-05-15",
"date": "2026-11-02",
}
req = urllib.request.Request(
"https://api.astrologics.in/v1/biorhythm/phases",
method="POST",
headers={"Authorization": "Bearer al_test_YOUR_KEY", "Content-Type": "application/json"},
data=json.dumps(body).encode(),
)
try:
with urllib.request.urlopen(req) as res:
print(json.dumps(json.load(res), indent=2, ensure_ascii=False))
except urllib.error.HTTPError as err:
print(err.code, err.read().decode())PHP
<?php
$ch = curl_init('https://api.astrologics.in/v1/biorhythm/phases');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer al_test_YOUR_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"birth_date":"1990-05-15","date":"2026-11-02"}',
CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch), PHP_EOL;Example response
200 OK · 1,185 characters
{
"data": {
"date": "2026-11-02",
"days_since_birth": 13320,
"cycles": [
{
"id": "physical",
"period_days": 23,
"half": "upper",
"trend": "rising",
"percent_through_cycle": 13,
"half_began": "2026-10-30",
"half_ends": "2026-11-10",
"next_peak": "2026-11-05",
"next_trough": "2026-11-16"
},
{
"id": "emotional",
"period_days": 28,
"half": "lower",
"trend": "falling",
"percent_through_cycle": 71.4,
"half_began": "2026-10-27",
"half_ends": "2026-11-10",
"next_peak": "2026-11-17",
"next_trough": "2026-11-03"
},
{
"id": "intellectual",
"period_days": 33,
"half": "lower",
"trend": "falling",
"percent_through_cycle": 63.6,
"half_began": "2026-10-28",
"half_ends": "2026-11-14",
"next_peak": "2026-11-22",
"next_trough": "2026-11-06"
}
]
},
"meta": {
"request_id": "req_example",
"api_version": "v1",
"engine_version": "2026.10.10",
"mode": "live",
"credits_charged": 1
},
"warnings": []
}Try it
More in Biorhythm
- Biorhythm Reading API: The three cycles on a date, with their state, trend, next critical date and meaning
- Biorhythm Chart Data API: The three values for each day of a range, ready to chart
- Biorhythm Critical Days API: The dates a cycle crosses zero, marked single, double or triple
- Biorhythm Compatibility API: How far two people's cycles sit apart, scored for each cycle
- Daily Biorhythm API: A short daily summary with the coming week's values