astro_lots
Arabic Parts / Hellenistic Lots library. Fortune free; all others paid.
- Layer: compute
- Methods: fortune, spirit, eros, necessity, courage, victory, nemesis, marriage, children, sickness, faith, hope, custom, named, catalog
- Free tier: fortune
- Paid tier: spirit, eros, necessity, courage, victory, nemesis, marriage, children, sickness, faith, hope, custom, named, catalog
Description
Arabic Parts / Hellenistic Lots library. Fortune free; all others paid.
Methods:
fortune [Free] — Part of Fortune (day form) — the most commonly used Arabic lot.
spirit [Paid] — Lot of Spirit.
eros [Paid] — Lot of Eros.
necessity [Paid] — Lot of Necessity.
courage [Paid] — Lot of Courage.
victory [Paid] — Lot of Victory.
nemesis [Paid] — Lot of Nemesis.
marriage [Paid] — Lot of Marriage.
children [Paid] — Lot of Children.
sickness [Paid] — Lot of Sickness.
faith [Paid] — Lot of Faith.
hope [Paid] — Lot of Hope.
custom [Paid] — Compute a custom lot from an arbitrary A + B − C formula.
named [Paid] — AL-Biruni lot: albiruni-<n>-<slug> (97-lot catalog) or a friendly alias.
catalog [Paid] — List the 97 al-Biruni lots with formula strings and aliases.
Input schema
fortune
| Field | Type | Required | Constraints |
|---|---|---|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(44) | no | — |
| sectOverride | "day" | "night" | no | — |
Example request
{
"method": "fortune",
"birthData": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
}
Example response (captured; long values elided)
{
"lot": "fortune",
"longitude": 77.400454,
"sign": "Gemini",
"degreeInSign": 17.400454,
"house": 2,
"sect": "day",
"formula": {
"a": "ASC",
"b": "Moon",
"c": "Sun",
"flipped": false
}
}
spirit
| Field | Type | Required | Constraints |
|---|---|---|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(44) | no | — |
| sectOverride | "day" | "night" | no | — |
Example request
{
"method": "spirit",
"birthData": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
}
Example response (captured; long values elided)
{
"lot": "spirit",
"longitude": 332.493572,
"sign": "Pisces",
"degreeInSign": 2.493572,
"house": 12,
"sect": "day",
"formula": {
"a": "ASC",
"b": "Sun",
"c": "Moon",
"flipped": false
}
}
eros
| Field | Type | Required | Constraints |
|---|---|---|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(44) | no | — |
| sectOverride | "day" | "night" | no | — |
Example request
{
"method": "eros",
"birthData": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
}
Example response (captured; long values elided)
{
"lot": "eros",
"longitude": 358.675401,
"sign": "Pisces",
"degreeInSign": 28.675401,
"house": 12,
"sect": "day",
"formula": {
"a": "ASC",
"b": "Venus",
"c": "Spirit",
"flipped": false
}
}
necessity
| Field | Type | Required | Constraints |
|---|---|---|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(44) | no | — |
| sectOverride | "day" | "night" | no | — |
Example request
{
"method": "necessity",
"birthData": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
}
Example response (captured; long values elided)
{
"lot": "necessity",
"longitude": 166.674644,
"sign": "Virgo",
"degreeInSign": 16.674644,
"house": 6,
"sect": "day",
"formula": {
"a": "ASC",
"b": "Fortune",
"c": "Mercury",
"flipped": false
}
}
courage
| Field | Type | Required | Constraints |
|---|---|---|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(44) | no | — |
| sectOverride | "day" | "night" | no | — |
Example request
{
"method": "courage",
"birthData": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
}
Example response (captured; long values elided)
{
"lot": "courage",
"longitude": 212.34738,
"sign": "Scorpio",
"degreeInSign": 2.34738,
"house": 7,
"sect": "day",
"formula": {
"a": "ASC",
"b": "Fortune",
"c": "Mars",
"flipped": false
}
}
victory
| Field | Type | Required | Constraints |
|---|---|---|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(44) | no | — |
| sectOverride | "day" | "night" | no | — |
Example request
{
"method": "victory",
"birthData": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
}
Example response (captured; long values elided)
{
"lot": "victory",
"longitude": 147.602234,
"sign": "Leo",
"degreeInSign": 27.602234,
"house": 5,
"sect": "day",
"formula": {
"a": "ASC",
"b": "Jupiter",
"c": "Spirit",
"flipped": false
}
}
nemesis
| Field | Type | Required | Constraints |
|---|---|---|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(44) | no | — |
| sectOverride | "day" | "night" | no | — |
Example request
{
"method": "nemesis",
"birthData": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
}
Example response (captured; long values elided)
{
"lot": "nemesis",
"longitude": 176.689969,
"sign": "Virgo",
"degreeInSign": 26.689969,
"house": 6,
"sect": "day",
"formula": {
"a": "ASC",
"b": "Fortune",
"c": "Saturn",
"flipped": false
}
}
marriage
| Field | Type | Required | Constraints |
|---|---|---|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(44) | no | — |
| sectOverride | "day" | "night" | no | — |
Example request
{
"method": "marriage",
"birthData": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
}
Example response (captured; long values elided)
{
"lot": "marriage",
"longitude": 45.511475,
"sign": "Taurus",
"degreeInSign": 15.511475,
"house": 1,
"sect": "day",
"formula": {
"a": "ASC",
"b": "Venus",
"c": "Saturn",
"flipped": false
}
}
children
| Field | Type | Required | Constraints |
|---|---|---|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(44) | no | — |
| sectOverride | "day" | "night" | no | — |
Example request
{
"method": "children",
"birthData": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
}
Example response (captured; long values elided)
{
"lot": "children",
"longitude": 215.455719,
"sign": "Scorpio",
"degreeInSign": 5.455719,
"house": 7,
"sect": "day",
"formula": {
"a": "ASC",
"b": "Saturn",
"c": "Jupiter",
"flipped": false
}
}
sickness
| Field | Type | Required | Constraints |
|---|---|---|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(44) | no | — |
| sectOverride | "day" | "night" | no | — |
Example request
{
"method": "sickness",
"birthData": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
}
Example response (captured; long values elided)
{
"lot": "sickness",
"longitude": 349.289603,
"sign": "Pisces",
"degreeInSign": 19.289603,
"house": 12,
"sect": "day",
"formula": {
"a": "ASC",
"b": "Mars",
"c": "Saturn",
"flipped": false
}
}
faith
| Field | Type | Required | Constraints |
|---|---|---|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(44) | no | — |
| sectOverride | "day" | "night" | no | — |
Example request
{
"method": "faith",
"birthData": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
}
Example response (captured; long values elided)
{
"lot": "faith",
"longitude": 347.352132,
"sign": "Pisces",
"degreeInSign": 17.352132,
"house": 12,
"sect": "day",
"formula": {
"a": "ASC",
"b": "Mercury",
"c": "Moon",
"flipped": false
}
}
hope
| Field | Type | Required | Constraints |
|---|---|---|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(44) | no | — |
| sectOverride | "day" | "night" | no | — |
Example request
{
"method": "hope",
"birthData": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
}
Example response (captured; long values elided)
{
"lot": "hope",
"longitude": 194.438308,
"sign": "Libra",
"degreeInSign": 14.438308,
"house": 6,
"sect": "day",
"formula": {
"a": "ASC",
"b": "Jupiter",
"c": "Saturn",
"flipped": false
}
}
custom
| Field | Type | Required | Constraints |
|---|---|---|---|
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(44) | no | — |
| a | enum(14) | yes | — |
| b | enum(14) | yes | — |
| c | enum(14) | yes | — |
| sectFlip | boolean | no | — |
| sectOverride | "day" | "night" | no | — |
| name | string | no | minLength 1, maxLength 64 |
Example request
{
"method": "custom",
"birthData": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
},
"a": "ASC",
"b": "Moon",
"c": "Sun"
}
Example response (captured; long values elided)
{
"lot": "custom",
"longitude": 77.400454,
"sign": "Gemini",
"degreeInSign": 17.400454,
"house": 2,
"sect": "day",
"formula": {
"a": "ASC",
"b": "Moon",
"c": "Sun",
"flipped": false
}
}
named
| Field | Type | Required | Constraints |
|---|---|---|---|
| lot | string | yes | minLength 1 |
| birthData.year | integer | yes | min -4000, max 4000, int |
| birthData.month | integer | yes | min 1, max 12, int |
| birthData.day | integer | yes | min 1, max 31, int |
| birthData.hour | integer | yes | min 0, max 23, int |
| birthData.minute | integer | yes | min 0, max 59, int |
| birthData.second | integer | no | min 0, max 59, int |
| birthData.latitude | number | yes | min -90, max 90 |
| birthData.longitude | number | yes | min -180, max 180 |
| birthData.timezone | number | yes | min -12, max 14 |
| birthData.unknownTime | boolean | no | — |
| houseSystem | enum(44) | no | — |
| sectOverride | "day" | "night" | no | — |
Example request
{
"method": "named",
"lot": "albiruni-2-spirit",
"birthData": {
"year": 1990,
"month": 1,
"day": 1,
"hour": 12,
"minute": 0,
"latitude": 51.5074,
"longitude": -0.1278,
"timezone": 0
}
}
Example response (captured; long values elided)
{
"lot": "albiruni-2-spirit",
"longitude": 332.493572,
"sign": "Pisces",
"degreeInSign": 2.493572,
"house": 12,
"sect": "day",
"formula": {
"a": "ASC",
"b": "Sun",
"c": "Moon",
"flipped": false
}
}
catalog
| Field | Type | Required | Constraints |
|---|
Example request
{
"method": "catalog"
}
Example response (captured; long values elided)
{
"lots": [
{
"slug": "albiruni-1-fortune",
"n": 1,
"title": "Fortune (lunar horoscope)",
"house": null,
"sectFlip": true,
"formula": {
"a": "ASC",
"b": "Moon",
"c": "Sun"
},
"aliases": []
},
{
"slug": "albiruni-2-spirit",
"n": 2,
"title": "Daemon/Spirit — unseen and religion",
"house": null,
"sectFlip": true,
"formula": {
"a": "ASC",
"b": "Sun",
"c": "Moon"
},
"aliases": []
},
{
"slug": "albiruni-3-friendship-love",
"n": 3,
"title": "Friendship and love",
"house": null,
"sectFlip": true,
"formula": {
"a": "ASC",
"b": "Spirit",
"c": "Fortune"
},
"aliases": []
},
{
"slug": "albiruni-4-despair",
"n": 4,
"title": "Despair, penury and fraud",
"house": null,
"sectFlip": true,
"formula": {
"a": "ASC",
"b": "Fortune",
"c": "Spirit"
},
"aliases": []
},
{
"slug": "albiruni-5-captivity-escape",
"n": 5,
"title": "Captivity, prisons, escape",
"house": null,
"sectFlip": true,
"formula": {
"a": "ASC",
"b": "Fortune",
"c": "Saturn"
},
"aliases": []
},
{
"slug": "albiruni-6-victory",
"n": 6,
"title": "Victory, triumph and aid",
"house": null,
"sectFlip": true,
"formula": {
"a": "ASC",
"b": "Jupiter",
"c": "Spirit"
},
"aliases": []
},
{
"slug": "albiruni-7-valour",
"n": 7,
"title": "Valour and bravery",
"house": null,
"sectFlip": true,
"formula": {
"a": "ASC",
"b": "Fortune",
"c": "Mars"
},
"aliases": []
},
{
"slug": "albiruni-8-life",
"n": 8,
"title": "Life",
"house": 1,
"sectFlip": true,
"formula": {
"a": "ASC",
"b": "Saturn",
"c": "Jupiter"
},
"aliases": []
},
"… 89 more items"
]
}