← Back to Skills Marketplace
serslon

Astrology API

by Sergii Solonyna · GitHub ↗ · v1.0.2
cross-platform ⚠ suspicious
541
Downloads
1
Stars
2
Active Installs
3
Versions
Install in OpenClaw
/install astroapi-skill
Description
Astrology API: generate natal charts, synastry, composite, transits, solar/lunar returns, progressions, directions, planetary positions, house cusps, aspects...
README (SKILL.md)

Astrology API Skill

When to Use

Use this skill when the user asks about:

  • Birth charts, natal charts, horoscopes
  • Zodiac compatibility, synastry, relationship analysis
  • Planetary positions, transits, aspects
  • Moon phases, lunar metrics, void of course
  • Solar/lunar returns, progressions, directions
  • Tarot card readings, spreads, interpretations
  • Numerology (core numbers, compatibility, comprehensive)
  • Vedic astrology (kundli, doshas, dashas, panchang)
  • Chinese astrology (bazi, ming gua, feng shui)
  • Human design (bodygraph, type, channels, gates)
  • Kabbalah (tree of life, birth angels, gematria)
  • Astrocartography (relocation, power zones, lines)
  • Fixed stars (positions, conjunctions)
  • Eclipses (upcoming, natal impact)
  • Palmistry (palm analysis, reading)
  • Daily/weekly/monthly/yearly horoscopes
  • Career, health, spiritual, psychological analysis
  • Chart rendering (SVG, PNG images)

Prerequisites

Before making any API call, verify:

  1. $ASTROLOGY_API_KEY environment variable is set
  2. curl is available on PATH

If the API key is missing, ask the user to set it:

export ASTROLOGY_API_KEY="your_token_here"

How It Works

  1. Gather data from the user depending on the request type:

    • For natal/personal: name, birth date (year, month, day), birth time (hour, minute), birth city + country code (2-letter ISO)
    • For synastry/compatibility: birth data for TWO people
    • For transits: natal data + transit date/time
    • For horoscopes by sign: just the zodiac sign name
    • For tarot: question or spread type
    • For numerology: full name + birth date
  2. Call the API using {baseDir}/scripts/astro-api.sh:

    bash {baseDir}/scripts/astro-api.sh POST /api/v3/charts/natal '{ ... }'
    
  3. Present results in a human-friendly format, highlighting key findings.

API Call Patterns

Natal Chart (most common)

bash {baseDir}/scripts/astro-api.sh POST /api/v3/charts/natal '{
  "subject": {
    "name": "John",
    "year": 1990, "month": 3, "day": 15,
    "hour": 14, "minute": 30, "second": 0,
    "city": "New York", "country_code": "US"
  },
  "options": {
    "house_system": "P",
    "zodiac_type": "Tropic",
    "language": "EN"
  }
}'

Synastry (compatibility)

bash {baseDir}/scripts/astro-api.sh POST /api/v3/charts/synastry '{
  "subject": {
    "name": "Person A",
    "year": 1990, "month": 3, "day": 15,
    "hour": 14, "minute": 30, "second": 0,
    "city": "New York", "country_code": "US"
  },
  "partner": {
    "name": "Person B",
    "year": 1992, "month": 7, "day": 20,
    "hour": 9, "minute": 0, "second": 0,
    "city": "London", "country_code": "GB"
  },
  "options": {"house_system": "P", "zodiac_type": "Tropic", "language": "EN"}
}'

Transit Snapshot

bash {baseDir}/scripts/astro-api.sh POST /api/v3/charts/transit '{
  "subject": {
    "name": "John",
    "year": 1990, "month": 3, "day": 15,
    "hour": 14, "minute": 30, "second": 0,
    "city": "New York", "country_code": "US"
  },
  "transit": {
    "year": 2026, "month": 2, "day": 12,
    "hour": 12, "minute": 0, "second": 0,
    "city": "New York", "country_code": "US"
  },
  "options": {"house_system": "P", "zodiac_type": "Tropic", "language": "EN"}
}'

Current Sky Data (no parameters needed)

bash {baseDir}/scripts/astro-api.sh GET /api/v3/data/now

Planetary Positions

bash {baseDir}/scripts/astro-api.sh POST /api/v3/data/positions '{
  "subject": {
    "name": "John",
    "year": 1990, "month": 3, "day": 15,
    "hour": 14, "minute": 30, "second": 0,
    "city": "New York", "country_code": "US"
  },
  "options": {"house_system": "P", "zodiac_type": "Tropic"}
}'

Lunar Metrics

bash {baseDir}/scripts/astro-api.sh POST /api/v3/data/lunar-metrics '{
  "subject": {
    "name": "now",
    "year": 2026, "month": 2, "day": 12,
    "hour": 12, "minute": 0, "second": 0,
    "city": "New York", "country_code": "US"
  }
}'

Daily Horoscope by Sign

bash {baseDir}/scripts/astro-api.sh POST /api/v3/horoscope/sign/daily '{
  "sign": "aries",
  "language": "EN"
}'

Personal Daily Horoscope

bash {baseDir}/scripts/astro-api.sh POST /api/v3/horoscope/personal/daily '{
  "subject": {
    "name": "John",
    "year": 1990, "month": 3, "day": 15,
    "hour": 14, "minute": 30, "second": 0,
    "city": "New York", "country_code": "US"
  },
  "language": "EN"
}'

Natal Analysis Report (AI-generated interpretation)

bash {baseDir}/scripts/astro-api.sh POST /api/v3/analysis/natal-report '{
  "subject": {
    "name": "John",
    "year": 1990, "month": 3, "day": 15,
    "hour": 14, "minute": 30, "second": 0,
    "city": "New York", "country_code": "US"
  },
  "options": {"house_system": "P", "zodiac_type": "Tropic", "language": "EN"}
}'

Render Chart as SVG

bash {baseDir}/scripts/astro-api.sh POST /api/v3/svg/natal '{
  "subject": {
    "name": "John",
    "year": 1990, "month": 3, "day": 15,
    "hour": 14, "minute": 30, "second": 0,
    "city": "New York", "country_code": "US"
  },
  "options": {"house_system": "P", "zodiac_type": "Tropic"}
}'

Tarot Card Draw

bash {baseDir}/scripts/astro-api.sh POST /api/v3/tarot/cards/draw '{
  "count": 3
}'

Numerology Core Numbers

bash {baseDir}/scripts/astro-api.sh POST /api/v3/numerology/core-numbers '{
  "full_name": "John Smith",
  "birth_date": "1990-03-15"
}'

Full endpoint reference: Read {baseDir}/references/api-endpoints.md for all 190+ endpoints with detailed parameters.

Default Options

When the user doesn't specify preferences, use these defaults:

  • House system: P (Placidus) — most common in Western astrology
  • Zodiac type: Tropic (Tropical) — Western standard
  • Language: EN (English) — override based on user's language
  • Tradition: universal — broadest coverage

Output Format

When presenting results to the user:

  1. Start with the highlights: Sun sign, Moon sign, Ascendant (Rising)
  2. Use plain language — translate astrological jargon
  3. Format positions as tables when showing multiple planets
  4. Highlight notable aspects (conjunctions, oppositions, squares, trines)
  5. For compatibility: lead with the overall score/summary
  6. For horoscopes: present the text naturally, don't dump raw JSON
  7. For chart images (SVG/render): save to a file and inform the user

Edge Cases

  • Birth time unknown: Use noon (12:00) and note that house positions and Moon degree may be less accurate
  • City not found: Ask for latitude/longitude instead. Use latitude and longitude fields instead of city/country_code
  • API errors (400/422): Parse the error message and explain to the user what's wrong (e.g., invalid date, missing field)
  • Large responses: For analysis reports, summarize the key points rather than showing everything
  • Language support: The API supports EN, RU, FR, DE, ES, IT, PT, and more — match the user's language when possible
Usage Guidance
This skill is coherent: it calls a public astrology API using curl and an ASTROLOGY_API_KEY. Before installing, confirm you trust the third-party service (https://api.astrology-api.io) and obtain the API key from its dashboard. Be aware the skill will send sensitive personal data (birth date/time, location, names, and possibly partner data) to the remote API — review the service's privacy policy if you are concerned about retention or sharing. Protect the ASTROLOGY_API_KEY like any secret (do not paste it into public logs), and consider rotating the key if it may have been exposed. Note: you can override the base URL with ASTROLOGY_API_URL, though SKILL.md does not list this as required; only use that override if you control the replacement endpoint.
Capability Analysis
Type: OpenClaw Skill Name: astroapi-skill Version: 1.0.2 The `scripts/astro-api.sh` script is vulnerable to URL injection via the `$ENDPOINT` argument. The script directly concatenates `$ENDPOINT` into the `curl` URL without validating that it is a relative path. An attacker could craft a prompt to the AI agent to pass a full URL (e.g., `http://attacker.com/exfil`) as the `ENDPOINT` argument, causing the `curl` command to send the `ASTROLOGY_API_KEY` to an arbitrary external server. This constitutes a critical credential exfiltration vulnerability, exploitable via prompt injection against the AI agent.
Capability Assessment
Purpose & Capability
Name/description, README, SKILL.md, and the included curl wrapper all consistently target the Astrology API (https://api.astrology-api.io). Requiring curl and ASTROLOGY_API_KEY is proportionate and expected for a REST API integration.
Instruction Scope
Runtime instructions ask the agent to collect personal birth data (name, birth date/time, location) — this is necessary for astrology functionality but is sensitive personal data. The SKILL.md and scripts instruct calls only to the declared API endpoints; they do not read other system files. One minor mismatch: the script supports an optional ASTROLOGY_API_URL environment variable (to override base URL) but SKILL.md frontmatter only declares ASTROLOGY_API_KEY.
Install Mechanism
No install/spec fetches arbitrary code. This is an instruction-only skill with a small, non-obfuscated bash script wrapper that calls curl; no remote downloads or extracted archives are present in the bundle.
Credentials
Only ASTROLOGY_API_KEY is required (primary credential). That single credential is appropriate for authenticating to the third‑party API. The script optionally reads ASTROLOGY_API_URL (not declared as required) — harmless but worth documenting. The skill will transmit user-provided PII (birth data) to the API endpoint.
Persistence & Privilege
The skill does not request always:true, does not modify other skills, and has no install behavior that writes privileged system/config files. Agent autonomous invocation is enabled by default (normal); this skill does not add elevated persistence.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install astroapi-skill
  3. After installation, invoke the skill by name or use /astroapi-skill
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
Initial release
v1.0.1
Initial release
v1.0.0
Initial release
Metadata
Slug astroapi-skill
Version 1.0.2
License
All-time Installs 2
Active Installs 2
Total Versions 3
Frequently Asked Questions

What is Astrology API?

Astrology API: generate natal charts, synastry, composite, transits, solar/lunar returns, progressions, directions, planetary positions, house cusps, aspects... It is an AI Agent Skill for Claude Code / OpenClaw, with 541 downloads so far.

How do I install Astrology API?

Run "/install astroapi-skill" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Astrology API free?

Yes, Astrology API is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Astrology API support?

Astrology API is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Astrology API?

It is built and maintained by Sergii Solonyna (@serslon); the current version is v1.0.2.

💬 Comments