Skip to content
RoxyAPI
Get API Key
MIT licensedFramework agnosticCSS custom properties

Astrology chart JS components.
Themed to your brand.

Charts, tables, cards, and forms for Western and Vedic astrology, forecast, human design, and every other RoxyAPI domain. One key. One npm install or one script tag. Typed responses in, a finished chart out, themed through CSS custom properties.

Not a developer? Copy-paste widgets

Every astrology UI component, natal wheel to bodygraph.

Grouped by domain, each rendering the typed response from its matching endpoint. Open one for a live preview, the code for your stack, every attribute and the events it sends. The fallback <roxy-data> renders any future response shape without hand wiring.

Astrology

Vedic

Vedic kundli: South, North, or East Indian kundli with degree detail and optional Chandra Lagna viewVedic kundli: South, North, or East Indian kundli with degree detail and optional Chandra Lagna view

Vedic kundli

South, North, or East Indian kundli with degree detail and optional Chandra Lagna view

Divisional chart: Generic divisional varga wheel from D2 Hora to D60 ShashtiamsaDivisional chart: Generic divisional varga wheel from D2 Hora to D60 Shashtiamsa

Divisional chart

Generic divisional varga wheel from D2 Hora to D60 Shashtiamsa

Vedic planets table: Degree, nakshatra, pada, lord, bhava, Baladi, Jagradadi and Deeptadi columnsVedic planets table: Degree, nakshatra, pada, lord, bhava, Baladi, Jagradadi and Deeptadi columns

Vedic planets table

Degree, nakshatra, pada, lord, bhava, Baladi, Jagradadi and Deeptadi columns

Ashtakavarga grid: Sarva, Bhinna, and Shodhya Pinda views in a tabbed heatmapAshtakavarga grid: Sarva, Bhinna, and Shodhya Pinda views in a tabbed heatmap

Ashtakavarga grid

Sarva, Bhinna, and Shodhya Pinda views in a tabbed heatmap

Shadbala table: Six-fold planetary strength bar plus rupas and adequacy badgeShadbala table: Six-fold planetary strength bar plus rupas and adequacy badge

Shadbala table

Six-fold planetary strength bar plus rupas and adequacy badge

Dasha timeline: Vimshottari mahadasha, antardasha, pratyantardasha, sookshma and prana, drill-down at every levelDasha timeline: Vimshottari mahadasha, antardasha, pratyantardasha, sookshma and prana, drill-down at every level

Dasha timeline

Vimshottari mahadasha, antardasha, pratyantardasha, sookshma and prana, drill-down at every level

Guna milan: 36-point Ashtakoota with eight sub-scoresGuna milan: 36-point Ashtakoota with eight sub-scores

Guna milan

36-point Ashtakoota with eight sub-scores

Panchang table: 15+ muhurtas in detailed modePanchang table: 15+ muhurtas in detailed mode

Panchang table

15+ muhurtas in detailed mode

Vedic aspects: Graha drishti rows with aspect type, strength, and orb, plus mutual aspectsVedic aspects: Graha drishti rows with aspect type, strength, and orb, plus mutual aspects

Vedic aspects

Graha drishti rows with aspect type, strength, and orb, plus mutual aspects

Hora table: Day and night planetary hours with ruling planet and windowHora table: Day and night planetary hours with ruling planet and window

Hora table

Day and night planetary hours with ruling planet and window

Choghadiya grid: Day and night Choghadiya muhurta tiles colored by effectChoghadiya grid: Day and night Choghadiya muhurta tiles colored by effect

Choghadiya grid

Day and night Choghadiya muhurta tiles colored by effect

Heliacal table: Udaya and asta windows for the six visible grahas, the calculation behind Guru Asta and Shukra AstaHeliacal table: Udaya and asta windows for the six visible grahas, the calculation behind Guru Asta and Shukra Asta

Heliacal table

Udaya and asta windows for the six visible grahas, the calculation behind Guru Asta and Shukra Asta

Vedic daily: Composed Vedic daily reading with the classical rule behind every graha state, the Tara and Chandrabala windows in full, and all three sidereal frames namedVedic daily: Composed Vedic daily reading with the classical rule behind every graha state, the Tara and Chandrabala windows in full, and all three sidereal frames named

Vedic daily

Composed Vedic daily reading with the classical rule behind every graha state, the Tara and Chandrabala windows in full, and all three sidereal frames named

KP finance card: KP daily finance reading with the cusp sub lords, the running dasha lords, the ruling planets and the Moon sub lord windows each scored against the gain and loss houses, weighed into one band for the dayKP finance card: KP daily finance reading with the cusp sub lords, the running dasha lords, the ruling planets and the Moon sub lord windows each scored against the gain and loss houses, weighed into one band for the day

KP finance card

KP daily finance reading with the cusp sub lords, the running dasha lords, the ruling planets and the Moon sub lord windows each scored against the gain and loss houses, weighed into one band for the day

Gochara table: Vedic gochara with aspects to the natal chart and the Gochara Kaksha reading drawn as a position within the signGochara table: Vedic gochara with aspects to the natal chart and the Gochara Kaksha reading drawn as a position within the sign

Gochara table

Vedic gochara with aspects to the natal chart and the Gochara Kaksha reading drawn as a position within the sign

Bhava bala table: House strength in rupas and virupas, ranked, with Bhavadhipati, Dig and Drishti Bala shown as proportions of the totalBhava bala table: House strength in rupas and virupas, ranked, with Bhavadhipati, Dig and Drishti Bala shown as proportions of the total

Bhava bala table

House strength in rupas and virupas, ranked, with Bhavadhipati, Dig and Drishti Bala shown as proportions of the total

Bhav chalit table: The Chalit chart against the Rashi chart, leading with how many grahas move and which, plus the unequal bhava spansBhav chalit table: The Chalit chart against the Rashi chart, leading with how many grahas move and which, plus the unequal bhava spans

Bhav chalit table

The Chalit chart against the Rashi chart, leading with how many grahas move and which, plus the unequal bhava spans

Upagraha table: Time-based and Sun-based upagrahas with rashi, degree, longitude and nakshatraUpagraha table: Time-based and Sun-based upagrahas with rashi, degree, longitude and nakshatra

Upagraha table

Time-based and Sun-based upagrahas with rashi, degree, longitude and nakshatra

Chara karakas: Karaka offices in rank order with graha, degree, scheme, and what each is read forChara karakas: Karaka offices in rank order with graha, degree, scheme, and what each is read for

Chara karakas

Karaka offices in rank order with graha, degree, scheme, and what each is read for

Arudha padas: Twelve padas with bhava, lord, pada rashi, house from Lagna, and the classical exception markedArudha padas: Twelve padas with bhava, lord, pada rashi, house from Lagna, and the classical exception marked

Arudha padas

Twelve padas with bhava, lord, pada rashi, house from Lagna, and the classical exception marked

Yoga list: Filterable yoga cards from the 300 plus yoga catalog, grouped by verdict in detect modeYoga list: Filterable yoga cards from the 300 plus yoga catalog, grouped by verdict in detect mode

Yoga list

Filterable yoga cards from the 300 plus yoga catalog, grouped by verdict in detect mode

Nakshatra card: Lord, deity, symbol, characteristics, remediesNakshatra card: Lord, deity, symbol, characteristics, remedies

Nakshatra card

Lord, deity, symbol, characteristics, remedies

Dosha card: Presence, severity, remedies, scoped effectsDosha card: Presence, severity, remedies, scoped effects

Dosha card

Presence, severity, remedies, scoped effects

Vedic (KP)

Forecast

Human Design

Chinese Astrology

Feng Shui

Mesoamerican

Vastu

Numerology

Kabbalah

Tarot

Biorhythm

Ayurveda

I-Ching

Crystals

Dreams

Angel Numbers

Cross

Reports

Reference

Helper

Every component, in the language your readers speak.

Readings and vocabulary come back in 10 languages: English, Turkish, German, Spanish, Hindi, Portuguese, French, Russian, Chinese (Simplified), Chinese (Traditional). A component reads the language off the page it is embedded in, so a site already published in Spanish or Hindi needs no change at all. Pick a language below to fix it instead, and the snippet updates with the one line that loads those labels.

Set it up once

The snippet below updates instantly. Your key stays in your browser, this page sends nothing to RoxyAPI.

No key yet? Create a publishable key in your account dashboard and list your site origin.

Match the page follows your site language. Pick one to fix it.

Off by default. Tick to add a small link back to RoxyAPI under every reading.

Example: <roxy-natal-chart> in plain HTML
<!-- Optional: Rosewater theme (drop this line for the default look) -->
<!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/styles/themes/practitioner.css"> -->
<script src="https://cdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn/roxy-ui.js" defer></script>
<roxy-natal-chart publishable-key="pk_live_YOUR_KEY" hide-sections="hint"></roxy-natal-chart>

Written readings and the vocabulary in the response follow the language everywhere. On-screen labels follow it on the charts that carry a translated label set today, and fall back to English elsewhere rather than breaking. Full language guide, including the npm import for bundled apps.

Why Roxy UI. Typed, themeable, ready to embed.

Built for builders shipping insight and prediction apps. Designed for AI agents that render structured responses. Themed for any brand.

Data in, chart out

Pass a response from your server, or an MCP tool result in your own AI chat (generative UI), as the data property. Or give it a publishable key and the component draws its own form and fetches. No global stores.

CSS custom properties

A handful of base tokens restyle every component: accent, ink, surface, font and radius. Match any brand without rebuilding the bundle, or start from a shipped theme preset.

A11y zero violations

WAI-ARIA 2.0 roles, keyboard navigation, focus rings, and reduced-motion gating. Verified with axe-core in CI on every release.

Schema driven forms

Components read the OpenAPI spec and render their own visitor-facing inputs: a zodiac tile picker, date and time fields, and city search. New endpoints get inputs automatically, with no form code.

Framework agnostic

Standard custom elements that render in React, Vue, Svelte, Angular, Solid, vanilla HTML, and WordPress. Shadow DOM scoping included.

Provenance attested

Every package publishes via OIDC trusted publisher with SLSA provenance. Verifiable supply chain on every release.

Typed end to end

Component prop shapes regenerate from the OpenAPI spec on every release. Your IDE catches schema drift before runtime.

Tree-shake friendly

Per component imports for bundlers. Lean prod bundle. Generous budgets enforced in CI on every release.

jsdelivr global CDN

Served from a global multi-CDN network, close to every reader. SRI hash auto-generated.

One library, every way you ship.

Pick the surface that fits your stack: npm, CDN, one-tag widgets, theme presets, or the shadcn registry. Every surface ships the same components.

SurfaceURLBest for
npm @roxyapi/uinpmjs.com/package/@roxyapi/uiVue, Svelte, Angular, vanilla TS, any bundler
npm @roxyapi/ui-reactnpmjs.com/package/@roxyapi/ui-reactReact, Next.js, Remix, Vite
npm @roxyapi/ui-vuenpmjs.com/package/@roxyapi/ui-vueVue, Nuxt, Vite
jsdelivr full UMDcdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn/roxy-ui.jsVanilla HTML, no-build, WordPress, Stan Store
jsdelivr per componentcdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn/components/*.jsBandwidth-sensitive vanilla HTML
widgets.js one tagcdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/cdn/widgets.jsOne tag, no code, auto-mounts
shadcn registrynpx shadcn@latest add cdn.jsdelivr.net/gh/RoxyAPI/ui@latest/registry/{name}.jsonA typed component file in your own repo
Theme presetscdn.jsdelivr.net/npm/@roxyapi/ui@latest/dist/styles/themes/*.cssRosewater, Eucalyptus, Kiln, Moonlit, Celeste

One platform behind the components

Roxy UI is one surface of the platform. The same key that feeds these components also powers the typed API, Remote MCP servers, typed SDKs, embeddable widgets, and Templates.

One API key

One flat plan, all inclusive

  • Typed API: a complete result in one call, from a live typed OpenAPI spec

  • Remote MCP: hosted agent tools over Streamable HTTP, no local setup

  • Typed SDKs: TypeScript, Python, PHP, C#, Go, and Rust, generated from the spec

  • UI components: natal wheels, kundli, bodygraphs, and spreads rendered from the response

  • Embed widgets: paste one snippet on any site with a browser safe publishable key

  • Branded reports: white label PDF, HTML or Markdown under your name and logo, on every plan

  • Templates: MIT licensed apps to clone, white label, and ship as your own

  • Multilingual i18n: full interpretation text in 10+ languages, included in every plan

Every surface, across all 18+ domains, under one flat subscription. No per-product fees, no per-request or token costs.

Common questions

Roxy UI renders the typed response you pass as the data property, or fetches its own with a publishable key. Predictable in every framework.

What is Roxy UI?

Roxy UI is the MIT licensed component library that turns a RoxyAPI response into a finished chart, table, card or form: natal wheels, kundli, bodygraphs, tarot spreads and more. It ships as web components plus React and Vue packages, themed through CSS custom properties.

Is Roxy UI free?

Yes. The components are MIT licensed and free in commercial apps. Live readings run on a RoxyAPI plan, and every plan includes every component and widget.

How do I add a natal chart to a JavaScript app?

Fetch the natal chart from your server and pass the response to the roxy-natal-chart component as its data. Or load one script from the CDN and give the component a publishable key, and it draws its own birth details form. Every component page on ui shows the code for each stack.

Does Roxy UI work with React, Next.js and Vue?

Yes. The React package renders in Next.js server components and client pages, the Vue package in Vue and Nuxt, and the web components in any stack that runs custom elements, plain HTML included. The React and Vue packages export the typed response each component accepts.

Will Roxy UI match my brand?

Yes. A handful of base tokens restyle every component: background, text, accent, font and radius. Start from a named theme preset with its light and dark palettes, then override any token on the page or on a single component.

Can I show the chart without the written reading?

Yes. Set hide-readings and the interpretive text is left out while the chart, tables and numbers stay. Set hide-sections to drop a single block, such as the aspect patterns.

Do I need a backend?

No. Give a component a publishable key that works only on your website and it fetches the reading in the browser. On a no-code site, the widget builder at widgets styles a widget and writes the code for your site builder.

Can an AI chatbot render Roxy UI components from a tool call?

Yes. Pass the tool name to componentForTool and the tool result as data, and the matching chart, spread or card renders beside the reply in any chat interface you build. The guide at docs/tutorials/ai-chat-widgets connects it to Remote MCP.

Which languages does Roxy UI speak?

A component follows the language of the page it sits on, so a Spanish site gets Spanish readings with no setting, and a label file per language translates the on-screen labels.

What if an endpoint has no dedicated component?

The roxy-data component renders any response as a structured table, so every endpoint has a renderer from its first day, and dedicated components join the catalog as it grows.

Get an API key. Render your first chart.

Roxy UI is MIT licensed and free to use. The RoxyAPI catalog powers every render.