Daily horoscope
Returns today's pre-generated daily horoscope for the given Moon sign. Content is computed from Vedic transit data and generated using AI. Returns 404 if today's horoscope has not been generated yet.
Endpoint
GET /v1/horoscope/daily/{moon_sign}
Request parameters
| Field | Type | Required | Description |
|---|---|---|---|
| moon_sign | string | Yes |
Example request
- curl
- Python
- TypeScript
curl -X GET "https://api.asterwise.com/v1/horoscope/daily/aries" \
-H "Authorization: Bearer YOUR_API_KEY"
import asterwise
from asterwise.api.horoscope_api import HoroscopeApi
configuration = asterwise.Configuration(
host="https://api.asterwise.com",
access_token="YOUR_API_KEY",
)
with asterwise.ApiClient(configuration) as client:
api = HoroscopeApi(client)
result = api.horoscope_daily(moon_sign="aries")
print(result)
import { createClient, createConfig, horoscopeDaily } from 'asterwise';
const client = createClient(createConfig({
baseUrl: 'https://api.asterwise.com',
headers: { Authorization: 'Bearer YOUR_API_KEY' },
}));
const result = await horoscopeDaily({
client,
path: {
"moon_sign": "aries"
},
});
console.log(result.data);
Example response
Response fields
| Field | Type | Description |
|---|---|---|
| success | boolean | True if the request succeeded |
| message | string | Human-readable status message |
| data | object | Payload returned by Vedic horoscope GET endpoints. |
| data.content | object | Stored horoscope prose; fields present depend on horizon (daily/weekly/monthly/yearly). |
| data.content.headline | string | |
| data.content.narrative | string | |
| data.content.career | string | |
| data.content.money | string | |
| data.content.love | string | |
| data.content.body | string | |
| data.content.remedy | string | Programmatically injected Vedic remedy text |
| data.content.do | array[string] | null | Daily: actions to take |
| data.content.avoid | array[string] | null | Daily: actions to avoid |
| data.content.open_loop | string | null | Daily: forward-looking watch item |
| data.content.peak_day | string | null | Weekly: strongest day |
| data.content.caution_day | string | null | Weekly: day to approach carefully |
| data.content.weekly_mantra | string | null | Weekly: shareable mantra line |
| data.content.phases | array[HoroscopePhase] | null | Monthly: phased breakdown |
| data.content.power_window | string | null | Monthly: favorable date window |
| data.content.caution_window | string | null | Monthly: cautious date window |
| data.content.closing_message | string | null | Monthly or yearly: shareable closing line |
| data.content.year_theme | string | null | Yearly: karmic theme for the year |
| data.content.chapters | array[HoroscopeChapter] | null | Yearly: chapter breakdown |
| data.content.auspicious_months | array[string] | null | Yearly: top auspicious months by name |
| data.content.landmark_dates | array[HoroscopeLandmarkDate] | null | Yearly: key dates with tone |
| data.generated_at | string | null | ISO timestamp when the horoscope was generated (UTC) |
| data.period_key | string | Period identifier (date, week, month, or year key) |
| data.horizon | string | Horizon: daily, weekly, monthly, or yearly |
| data.moon_sign | string | Normalised English Moon sign slug |
Errors
| Code | Description | Reference |
|---|---|---|
| authentication_failed | Missing or invalid API key. | authentication_failed |
| ephemeris_unavailable | Upstream ephemeris service error. | ephemeris_unavailable |
| insufficient_tier | API key tier does not include this endpoint. | insufficient_tier |
| internal_error | Unexpected server error. | internal_error |
| ip_rate_limit_exceeded | Too many requests in a short window. | ip_rate_limit_exceeded |
| payload_too_large | Request body exceeds the size limit. | payload_too_large |
| resource_not_found | Referenced resource was not found. | resource_not_found |
| validation_error | Request body failed schema validation. | validation_error |