AstroWay/api v2.204.2 · ko
모든 시스템 정상 작동 중

Horoscope API Tutorial: Build a Daily Horoscope Feature

Add daily, weekly and monthly horoscopes to your app via API - sign-based text vs transit-based personalization - with TypeScript and Python code.

There are two kinds of “horoscope API”. One returns a block of text per zodiac sign. The other computes the actual sky for a person and tells you what’s really transiting their chart. This tutorial builds both with AstroWay, so you can pick the right one for your app.

The /horoscope/daily endpoint takes a sign and returns ready-to-render text. Weekly, monthly and yearly work the same way:

// TypeScript - npm install @astroway/sdk
import { Astroway } from '@astroway/sdk';
const aw = new Astroway({ apiKey: process.env.ASTROWAY_API_KEY! });
const daily = await aw.horoscope.daily({ sign: 'leo', language: 'en' });
console.log(daily.text);
# Python - pip install astroway
from astroway import Astroway
aw = Astroway(api_key="aw_live_...")
daily = aw.horoscope.daily({"sign": "leo", "language": "en"})
print(daily.text)

Twelve calls (one per sign) gives you a full daily set to cache and serve to every user. Cheap, simple, and good enough for a widget or a newsletter.

Transit-based horoscopes (the personalized one)

Section titled “Transit-based horoscopes (the personalized one)”

Sign-based text is the same for a twelfth of the planet. If you want “your horoscope” - driven by the user’s own birth chart - compute their transits for the day. This is where a real ephemeris matters: the API returns the actual aspects forming, not a paragraph an LLM guessed.

const transits = await aw.transits.compute({
date: '1990-07-14', time: '14:30:00', timezoneOffset: 3,
latitude: 50.45, longitude: 30.52,
targetDate: '2027-01-01',
});
for (const hit of transits.aspects) {
console.log(`${hit.transiting} ${hit.aspect} natal ${hit.natal}`);
}

Feed those aspects into your own copy templates, or into the AI interpretation endpoints for natural-language output with safety guardrails. Either way the underlying event (“Saturn square natal Sun, exact today”) is a calculation, not a hallucination - AI-only horoscope APIs routinely drift dates by days.

The cadence endpoints share the same shape - swap the method:

await aw.horoscope.daily({ sign: 'leo' });
await aw.horoscope.weekly({ sign: 'leo' });
await aw.horoscope.monthly({ sign: 'leo' });
await aw.horoscope.yearly({ sign: 'leo' });

For a “love horoscope” feature, /horoscope/compatibility takes two signs.

If you’re rendering into a chat or a typewriter UI, stream the AI horoscope instead of waiting for the full response:

for await (const chunk of aw.streamSSE('/horoscope/daily', { sign: 'leo' })) {
process.stdout.write(chunk);
}

A sign-based horoscope is a few credits; transits cost more because they compute the sky. On the free tier (10,000 credits/month) you can generate and cache all twelve daily signs every day with plenty to spare. Cache sign-based text per (sign, date); only the transit-based, per-user path needs a live call.

MakSeong · AstroWay

AstroWay API를 만들고 있어: Swiss Ephemeris를 순수 REST로 감싸고, 실제로 중요한 지루한 세부사항을 기록합니다.

// 이걸로 빌드해

Solar Fire에 사용된 것과 동일한 Swiss Ephemeris - 단 4줄의 코드로.

카드 없이 무료 키. 첫 결제 전까지 월 5,000 API 호출.

더 많은 블로그 글 모든 글 보기 →

Ephemeris 2026-07-19

우리가 정확성을 제어하는 방법: CI vs swetest 및 NASA

아스트로-API의 정확성은 하나의 에프메르에디드 리팩토링으로 쉽게 저하됩니다. CI의 보호를 분석합니다: 앱과 API를 위한 하나의 스위스 에프메르에디스 핵심, 수백의 스냅샷이 동결된 표준 맵에, swetest CGI, Kerykeion, Prokerala 및 NASA의 어두움 카탈로그에 대한 각 PR의 삼각화.

Engineering 2026-07-15

세 개의 공식 SDK: TypeScript, Python, PHP, 원시 curl 대신

원시 HTTP는 작동하지만, 타이핑된 클라이언트는 시간을 절약합니다: 경로 자동 완성, 요청 및 응답 유형, 408/409/429/5xx에 대한 내장된 재시도 및 스테인리스 스타일 오류 계층 구조. 세 개의 공식 SDK - @astroway/sdk (npm), astroway (PyPI), astroway/sdk (Packagist) - 및 하나의 OpenAPI 계약에서 생성된 방법을 살펴봅니다.

Industry 2026-06-05

Free Astrology API: Which One Has the Best Free Tier in 2026?

A side-by-side of free tiers across the major astrology APIs - credits, request caps, card requirements - and how much you can actually build for free.