🕓 Bản ghi từ 2026-04-14, cập nhật 2026-05-09. TS / Python / PHP SDK giờ đây đã có sẵn trên các kho công khai —
@astroway/sdk(npm),astroway(PyPI),astroway/sdk(Packagist). Chi tiết xem trong changelog.
Bạn muốn tính toán biểu đồ natal từ code? Đây là cách nhanh nhất — chỉ mất 5 phút từ lúc bắt đầu đến khi nhận được JSON hoạt động.
Bước 1: Lấy API key (30 giây)
Phần tiêu đề “Bước 1: Lấy API key (30 giây)”Đăng ký tại api.astroway.info/dashboard/sign-up. Gói miễn phí: 10.000 tín dụng / tháng. Không cần thẻ tín dụng.
Tại dashboard, nhấn “Create key” → “Production” → sao chép. Key có dạng aw_live_aB3xY7pQ9rN2mK4jH8vC5tL6wZ1fD0eR.
Mẹo: Có cả key sandbox với tiền tố aw_test_ — chúng không trừ tín dụng. Hãy dùng chúng trong lúc phát triển.
Bước 2: Cài SDK
Phần tiêu đề “Bước 2: Cài SDK”TypeScript
Phần tiêu đề “TypeScript”npm install @astroway/sdkPython
Phần tiêu đề “Python”pip install astrowayCả hai SDK đều hỗ trợ toàn bộ 723 endpoint với các yêu cầu và phản hồi đã được định kiểu.
Bước 3: Biểu đồ natal đầu tiên
Phần tiêu đề “Bước 3: Biểu đồ natal đầu tiên”TypeScript
Phần tiêu đề “TypeScript”import { Astroway } from '@astroway/sdk';
const client = new Astroway({ apiKey: process.env.ASTROWAY_API_KEY!,});
const chart = await client.chart({ date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, // UTC+3, mùa hè ở Kyiv latitude: 50.4501, longitude: 30.5234, houseSystem: 'P', // Placidus});
console.log(`Sun: ${chart.planets[0].sign} at ${chart.planets[0].longitude}°`);console.log(`ASC: ${chart.houses.ascendant}°`);console.log(`Aspects: ${chart.aspects.length}`);Chạy:
ASTROWAY_API_KEY=aw_live_... npx tsx chart.tsPython
Phần tiêu đề “Python”from astroway import Astroway
client = Astroway(api_key="aw_live_your_key_here")
chart = client.chart( date="1990-07-14", time="14:30:00", timezone_offset=3, latitude=50.4501, longitude=30.5234, house_system="P",)
print(f"Sun: {chart['planets'][0]['sign']} at {chart['planets'][0]['longitude']}°")print(f"ASC: {chart['houses']['ascendant']}°")print(f"Aspects: {len(chart['aspects'])}")Chạy:
ASTROWAY_API_KEY=aw_live_... python3 chart.pyAPI trả về gì
Phần tiêu đề “API trả về gì”Bạn sẽ nhận được một đối tượng JSON với bốn phần chính:
planets
Phần tiêu đề “planets”Mảng gồm 12 đối tượng (Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto, North Node, Chiron):
{ "name": "Sun", "longitude": 111.87, // kinh độ hoàng đạo theo độ "latitude": 0.0, "speed": 0.955, // độ/ngày (âm = nghịch hành) "sign": "cancer", "signIndex": 3, "house": 10, "retrograde": false}houses
Phần tiêu đề “houses”Các điểm cusp của nhà (12 cái), cùng asc và MC:
{ "system": "P", "cusps": [12.34, 43.21, ...], // 12 giá trị "ascendant": 12.34, "mc": 280.12}aspects
Phần tiêu đề “aspects”Mảng các khía cạnh giữa các hành tinh:
{ "planet1": "Sun", "planet2": "Moon", "type": "sextile", // conjunction, opposition, trine, square, sextile, quincunx "orb": 1.36, // độ lệch khỏi chính xác "applying": true}chartSect
Phần tiêu đề “chartSect”"diurnal" (Mặt Trời ở trên đường chân trời vào lúc sinh) hoặc "nocturnal" (ở dưới chân trời). Được dùng trong chiêm tinh học cổ điển.
Tiếp theo là gì
Phần tiêu đề “Tiếp theo là gì”Bạn có thể thử gì nữa:
Synastry — sự tương thích giữa hai người:
const synastry = await client.synastry({ chart1: { date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.45, longitude: 30.52 }, chart2: { date: '1992-03-22', time: '09:15:00', timezoneOffset: 2, latitude: 48.85, longitude: 2.35 },});console.log(`Compatibility score: ${synastry.compatibility.score}/100`);Transits hiện tại lên biểu đồ natal:
const transits = await client.transits({ // dữ liệu sinh date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.4501, longitude: 30.5234, // ngày transit transitDate: '2026-04-14',});Horoscope hàng ngày từ transits thực tế:
const horoscope = await client.horoscopeDaily({ date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.4501, longitude: 30.5234,});console.log(horoscope.text);Bản đồ Human Design đầy đủ:
const hd = await client.humanDesign({ date: '1990-07-14', time: '14:30:00', timezoneOffset: 3, latitude: 50.4501, longitude: 30.5234,});console.log(`${hd.type} — ${hd.strategy} — Profile ${hd.profile}`);Chi phí theo tín dụng
Phần tiêu đề “Chi phí theo tín dụng”- Biểu đồ natal (
/chart): 20 tín dụng - Synastry: 50 tín dụng
- Transits: 50 tín dụng
- Horoscope hàng ngày: 20 tín dụng
- Human Design: 50 tín dụng
Gói miễn phí: 10.000 tín dụng / tháng = 500 biểu đồ natal, hoặc 200 synastry, hoặc kết hợp tải trọng.
Xử lý lỗi
Phần tiêu đề “Xử lý lỗi”Mỗi phản hồi đều chứa tiêu đề về tín dụng:
X-Credits-Used: 20X-Credits-Remaining: 4980X-Credits-Reset: 2026-05-01T00:00:00ZKhi hết tín dụng — bạn sẽ nhận được 402 Payment Required. Khi vượt quá rate-limit (Free: 10 requests / phút) — 429 Too Many Requests kèm tiêu đề Retry-After.
SDK sẽ ném ra các lỗi đã được định kiểu mà bạn có thể bắt:
try { const chart = await client.chart({ ... });} catch (err) { if (err.code === 'credits_exhausted') { console.log('Upgrade plan or wait for reset'); } else if (err.code === 'rate_limit_exceeded') { console.log(`Retry in ${err.retryAfter} seconds`); }}Và thế là xong
Phần tiêu đề “Và thế là xong”Giờ bạn đã có:
- API key hoạt động
- SDK đã cài đặt
- Biểu đồ natal đầu tiên
- Đủ ví dụ để thêm synastry, transits, horoscope
Đọc thêm:
- Hướng dẫn đầy đủ “bắt đầu từ đâu” — nhiều chi tiết hơn
- Ví dụ: biểu đồ natal — hướng dẫn sâu hơn
- Tài liệu tham khảo API — tất cả 723 endpoint
Chính Swiss Ephemeris giống như trong Solar Fire — chỉ trong 4 dòng code.
Khóa API miễn phí không cần thẻ. 5.000 lượt gọi/tháng trước lần thanh toán đầu tiên.