

Western natal chart wheel with planets, houses, aspect lines, and the chart angles. Rendered server-side, so your API key never reaches the browser.
RoxyAPI adds Astrology, Vedic, Forecast, Human Design, Chinese Astrology and Feng Shui readings to any WordPress post, page or widget, as Gutenberg blocks and shortcodes. Drop one on a page and it renders a real reading, server side, the moment you activate the plugin. No account, no setup, no calculation code to write. Start free, then add an API key when you go live.
One API key. 18+ domains. 258+ endpoints. Most astrology plugins cover one system. RoxyAPI covers the whole stack, so you build the entire experience without stitching services together:
Every chart is calculated by Roxy Ephemeris and verified against NASA JPL Horizons, with readings in your site language. One key, one plan, no per-domain fees.
Frequently asked, answered up front
Free to start. Add a key when you go live.
Every reading works the moment you activate the plugin, with no account. A free daily allowance, shared across your site, covers casual traffic so you can build and preview complete pages at no cost. When you are ready for production, add a RoxyAPI API key and the daily limit is removed. There is no separate paid plugin and no locked reading types: the same blocks and shortcodes cover every domain whether or not a key is set. A key simply lifts the daily cap, covers production traffic, and keeps all 18+ domains live under one key. Pick a plan at https://roxyapi.com/pricing.
Also built in:
About the service this plugin connects to
This plugin is a thin WordPress interface to RoxyAPI, a third-party paid service operated at https://roxyapi.com. The astrology, tarot, numerology, and other calculations all run on RoxyAPI servers. A small free daily allowance lets the plugin display readings without an account; a RoxyAPI API key is required for production use and removes the daily limit. Pricing and plan tiers are listed at https://roxyapi.com/pricing. Terms of Service: https://roxyapi.com/policy/terms. Privacy Policy: https://roxyapi.com/policy/privacy.
The plugin itself is GPLv2 or later and the source is available at https://github.com/RoxyAPI/sdk-wordpress.
Every reading is a shortcode. Pass attributes for a fixed reading the site owner controls, or drop the shortcode with no attributes to render an accessible visitor form. Heroes that take two charts or nested birth details are form mode only.
Hero shortcodes
[roxy_horoscope sign="aries"]
[roxy_horoscope sign="aries" period="yearly"]
[roxy_horoscope sign="aries" period="monthly" date="2026-10-01"]
[roxy_natal_chart birth_date="1990-05-15" birth_time="14:30" lat="40.7128" lon="-74.0060" tz="America/New_York"]
[roxy_kundli birth_date="1990-05-15" birth_time="14:30" lat="28.6139" lon="77.2090" tz="Asia/Kolkata"]
[roxy_panchang date="2026-04-28" lat="28.6139" lon="77.2090" tz="Asia/Kolkata"]
[roxy_mangal_dosha birth_date="1990-05-15" birth_time="14:30" lat="28.6139" lon="77.2090" tz="Asia/Kolkata"]
[roxy_kp_chart birth_date="1990-05-15" birth_time="14:30" lat="28.6139" lon="77.2090" tz="Asia/Kolkata"]
[roxy_moon_phase]
[roxy_bodygraph birth_date="1990-05-15" birth_time="14:30" lat="40.7128" lon="-74.0060" tz="America/New_York"]
[roxy_tarot_card spread="three" question="What should I focus on this week"]
[roxy_tarot_yes_no question="Should I take the new job"]
[roxy_numerology name="Ada Lovelace" birth_date="1815-12-10"]
[roxy_life_path birth_date="1990-05-15"]
[roxy_biorhythm birth_date="1990-05-15" target_date="today"]
[roxy_angel_number number="1111"]
[roxy_crystals_by_zodiac sign="aries"]
Four heroes take no attributes: the three two-person compatibility readings render a visitor form for both people, and the forecast timeline renders a visitor form for the birth details and an optional date window:
[roxy_synastry]
[roxy_gun_milan]
[roxy_compatibility]
[roxy_forecast]
Leave the attributes off any hero shortcode to render a form instead. For example [roxy_horoscope] shows a zodiac sign picker and [roxy_natal_chart] shows a birth date, time, and city picker.
Long-tail shortcodes
A matching shortcode exists for every endpoint in the spec. A sample across the domains:
[roxy_calculate_aspects date="1990-07-15" time="14:30:00" timezone="UTC"], [roxy_get_weekly_horoscope sign="aries"] and [roxy_get_yearly_horoscope sign="aries"][roxy_get_hora date="2026-02-03" latitude="17.385044" longitude="78.486671" timezone="UTC"] and [roxy_calculate_drishti date="2026-02-03" time="12:00:00" latitude="17.385044" longitude="78.486671" timezone="UTC"][roxy_generate_digest] (renders a visitor form, no attributes)[roxy_generate_bodygraph date="1990-07-15" time="13:00:00" timezone="UTC" latitude="40.7128" longitude="-74.0060"], [roxy_calculate_variables date="1990-07-15" time="13:00:00" timezone="UTC" latitude="40.7128" longitude="-74.0060"], plus the two chart [roxy_calculate_connection] and [roxy_calculate_penta] which render visitor forms and take no attributes[roxy_generate_bazi_chart date="1990-06-15" time="14:30:00" timezone="Asia/Shanghai"], [roxy_get_zodiac_animal id="dragon"] and [roxy_get_almanac_day date="2026-02-17"][roxy_calculate_kua_number date="1985-07-15" gender="male"] and [roxy_get_annual_flying_stars year="2026"][roxy_calculate_expression full_name="Ada Lovelace"][roxy_cast_celtic_cross question="What should I know about this path"][roxy_get_daily_hexagram][roxy_get_crystal id="amethyst"][roxy_search_dream_symbols q="water"][roxy_search_cities q="berlin"]Readings follow your WordPress site language automatically. To pick a language yourself, open the RoxyAPI menu, Branding tab, and set the reading language. Some of the long tail shortcodes above also take a lang attribute, for example [roxy_get_crystal id="amethyst" lang="es"], but the headline readings take the site or Branding setting instead.
Want the chart on its own, without the written report? Open the RoxyAPI menu, Display tab, and turn on Written readings. Every reading on the site then shows its chart, tables, and values with the written text left out. To set it for one placement instead of the whole site, add hide_readings="1" to that shortcode, for example [roxy_natal_chart birth_date="1990-05-15" birth_time="14:30" lat="40.7128" lon="-74.0060" tz="America/New_York" hide_readings="1"]. Passing hide_readings="0" keeps the written text on that placement even when the site setting is on.