Horoscope
Get daily horoscope readings for all 12 zodiac signs. Each reading is deterministically generated per sign per day.
Overview
Use Cases
- Daily horoscope widgets
- Astrology apps
- Entertainment platforms
- Personalized daily content
Features
All 12 zodiac signs supported
Consistent daily readings (same sign returns same reading throughout the day)
Lucky number and mood included
Case-insensitive sign parameter
API Endpoints
Get Daily Horoscope
Returns a daily horoscope reading for the specified zodiac sign.
GET
https://requiems.xyz/v1/entertainment/horoscope/{sign}
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| sign | string |
Required | Zodiac sign (case-insensitive). Supported values: aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius, pisces |
Try it out
Live DemoRequest
Zodiac sign (case-insensitive). Supported values: aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius, pisces
Sending request...
Response Fields
| Field | Type | Description |
|---|---|---|
| sign | string |
Normalized zodiac sign (lowercase) |
| date | string |
Today's date in YYYY-MM-DD format (UTC) |
| horoscope | string |
Daily horoscope reading |
| lucky_number | integer |
Lucky number for the day (1-99) |
| mood | string |
Suggested mood for the day |
Code Examples
curl https://requiems.xyz/v1/entertainment/horoscope/aries \
-H "requiems-api-key: YOUR_API_KEY"
import requests
url = "https://requiems.xyz/v1/entertainment/horoscope/aries"
headers = {"requiems-api-key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch(
'https://requiems.xyz/v1/entertainment/horoscope/aries',
{ headers: { 'requiems-api-key': 'YOUR_API_KEY' } }
);
const data = await response.json();
console.log(data.data.horoscope);
require 'net/http'
require 'json'
uri = URI('https://requiems.xyz/v1/entertainment/horoscope/aries')
request = Net::HTTP::Get.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
data = JSON.parse(response.body)
puts data['data']['horoscope']
Batch Daily Horoscopes
Returns up to 12 daily horoscopes in a single request.
POST
https://requiems.xyz/v1/entertainment/horoscope/batch
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| signs | array<string> |
Required | Array of signs to get (min: 1, max: 12). Allowed values: aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius, pisces. |
Try it out
Live DemoRequest
Array of signs to get (min: 1, max: 12). Allowed values: aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius, pisces.
Sending request...
Response Fields
| Field | Type | Description |
|---|---|---|
| results | array<object> |
List of daily horoscopes returned in the same order as the input signs. |
| results[].sign | string |
Zodiac sign the horoscope corresponds to. |
| results[].date | string |
Date the horoscope is for, in YYYY-MM-DD format. |
| results[].horoscope | string |
Daily horoscope reading for the given sign. |
| results[].lucky_number | integer |
Lucky number for the given sign on that date. |
| results[].mood | string |
Predicted mood for the given sign on that date. |
| total | integer |
Total number of horoscopes returned. |
Code Examples
curl -X POST "https://requiems.xyz/v1/entertainment/horoscope/batch" \
-H "requiems-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"signs": [
"taurus",
"cancer",
"libra"
]
}'
import requests
url = "https://requiems.xyz/v1/entertainment/horoscope/batch"
headers = {
"requiems-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"signs": [
"taurus",
"cancer",
"libra"
]
}
response = requests.post(url, headers=headers, json=payload)
for item in response.json()["data"]["results"]:
print(item["sign"], "-", item["date"])
print("Horoscope:", item["horoscope"])
print("Mood:", item["mood"])
print("Lucky number:", item["lucky_number"])
const response = await fetch(
'https://requiems.xyz/v1/entertainment/horoscope/batch',
{
method: 'POST',
headers: {
'requiems-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
signs: [
'taurus',
'cancer',
'libra'
]
})
}
);
const { data } = await response.json();
data.results.forEach(item => {
console.log(item.sign, '-', item.date);
console.log('Horoscope:', item.horoscope);
console.log('Mood:', item.mood);
console.log('Lucky number:', item.lucky_number);
});
require 'net/http'
require 'json'
uri = URI('https://requiems.xyz/v1/entertainment/horoscope/batch')
request = Net::HTTP::Post.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
request['Content-Type'] = 'application/json'
request.body = {
signs: [
'taurus',
'cancer',
'libra'
]
}.to_json
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
JSON.parse(response.body)['data']['results'].each do |item|
puts "#{item['sign']} - #{item['date']}"
puts "Horoscope: #{item['horoscope']}"
puts "Mood: #{item['mood']}"
puts "Lucky number: #{item['lucky_number']}"
end
Error Responses
validation_failed
The signs array is missing, empty, or contains more than 12 items, or includes unsupported sign values.
bad_request
Invalid JSON, malformed request body, or unexpected field types.
Frequently Asked Questions
Yes. Readings are deterministic per sign per day, so every user requesting the same sign on the same day receives the same horoscope.
No. You can pass the sign in any case (e.g., "Aries", "ARIES", or "aries") and the API will normalize it.
All 12 signs are supported β aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius, and pisces.