Skip to content
AstroWay/api v2.254.12 · docs
all systems operational

Chinese sign of the day (public, no key)

GET
/public/chinese/zodiac/daily
Code sample: cURL
request.sh
curl 'https://api.astroway.info/v1/public/chinese/zodiac/daily?animal=horse&date=2026-10-07&lang=en'

One animal against one day: the day pillar and the year pillar (from Li Chun), how their branches stand to the animal (same, secretFriend 六合, trine 三合, clash 六冲, harm 六害 or neutral), benMingNian when the year is the animal’s own, and energy, 1-10 from 5 with every step in factors: a stated heuristic (day: friend or trine +2, same +1, harm -2, clash -3; year: friend or trine +1, same or harm -1, clash -2), not a classical score. Computed, no model. Animal and element names follow ?lang=. Costs 1 unit of the public bucket.

animal required
string
Allowed values: rat ox tiger rabbit dragon snake horse goat monkey rooster dog pig

One of the twelve, English, any case.

date
string format: date

Calendar date YYYY-MM-DD (UTC). Defaults to today.

lang
string
Example
en

Language for this call, overriding Accept-Language. The canonical per-call form: a page that renders in one language passes it here rather than reconfiguring its client. Unknown or inactive codes fall back to uk.

fields
string

Comma-separated dotted paths, relative to data, to keep in the response. A path is applied to every element of an array, so planets.name means the name of each planet. Paths that match nothing come back in _fields_unmatched; a list where nothing matches at all is a 400, because an empty object would be a confident wrong answer.

Example
planets.name,planets.longitude
precision
integer
<= 15

Round every non-integer number in the response to this many decimal places. Integers are left alone, because an id is not a measurement. Ecliptic longitudes ship with fourteen decimals by default; 2 is about a tenth of an arcminute.

Example
4
Accept-Language
string

BCP-47 language (e.g. uk, en, de). Set it once on your HTTP client as its default; for a single call, ?lang= overrides it. Unknown or inactive codes fall back to uk.

OK

Media type application/json
object
ok
boolean
data
object
animal
string
nullable
animalName
string
nullable
date
string
nullable
dayPillar
object
stem
string
nullable
branch
string
nullable
animal
string
nullable
animalName
string
nullable
stemHanzi
string
nullable
branchHanzi
string
nullable
element
string
nullable
elementName
string
nullable
yin
boolean
nullable
yearPillar
object
stem
string
nullable
branch
string
nullable
animal
string
nullable
animalName
string
nullable
stemHanzi
string
nullable
branchHanzi
string
nullable
element
string
nullable
elementName
string
nullable
yin
boolean
nullable
solarYear
number
nullable
day
object
relation
string
nullable
chinese
string
nullable
year
object
relation
string
nullable
chinese
nullable
benMingNian
boolean
nullable
energy
object
score
number
nullable
factors
Array<object>
nullable
object
source
string
nullable
relation
string
nullable
chinese
string
nullable
effect
number
nullable
_footer

Free-tier watermark, present on every public response. Keys on a paid plan do not receive it.

string
Example
{
"ok": true,
"data": {
"animal": "Horse",
"animalName": "Horse",
"date": "2026-10-07",
"dayPillar": {
"stem": "Jia",
"branch": "Yin",
"animal": "Tiger",
"animalName": "Tiger",
"stemHanzi": "甲",
"branchHanzi": "寅",
"element": "Wood",
"elementName": "Wood",
"yin": false
},
"yearPillar": {
"stem": "Bing",
"branch": "Wu",
"animal": "Horse",
"animalName": "Horse",
"stemHanzi": "丙",
"branchHanzi": "午",
"element": "Fire",
"elementName": "Fire",
"yin": false,
"solarYear": 2026
},
"day": {
"relation": "trine",
"chinese": "三合"
},
"year": {
"relation": "same",
"chinese": null
},
"benMingNian": true,
"energy": {
"score": 6,
"factors": [
{
"source": "day",
"relation": "trine",
"chinese": "三合",
"effect": 2
},
{
"source": "year",
"relation": "same",
"chinese": null,
"effect": -1
}
]
}
},
"_footer": "Powered by astroway.api - get your own key at https://api.astroway.info"
}

Invalid sign or date

Media type application/json
Example
{
"ok": false,
"error": {
"code": "INVALID_SIGN",
"message": "sign must be one of the 12 zodiac signs"
}
}
Was this helpful?