A modern, visual, human-first dashboard for NASA’s JPL Horizons System.
Mission-grade data — without mission-grade pain.
🌍 Live Demo · 🐞 Report Bug · ✨ Request Feature
Horizon API Explorer is a full-featured web interface for the
NASA JPL Horizons System — the same system used by NASA engineers, astronomers, and mission planners to compute:
- Planetary positions
- Spacecraft trajectories
- Orbital elements
- Near-Earth object encounters
This project does not replace Horizons.
It unlocks it.
NASA Horizons is one of the most powerful scientific tools ever built — and one of the least approachable.
- Command-line & telnet-era UX
- Cryptic parameter syntax
- No real-time validation
- No visualization
- Extremely steep learning curve
Make authoritative space data usable by humans, not just engineers.
Horizon API Explorer keeps the science intact and fixes the experience.
| Audience | Why It’s Useful |
|---|---|
| Students | Learn orbital mechanics visually |
| Educators | Teach using real NASA data |
| Amateur astronomers | Plan observations |
| Researchers | Generate ephemerides quickly |
| Engineers | State vectors & SPK kernels |
| Developers | Programmatic Horizons access |
- 1.2M+ asteroids
- 3,900+ comets
- 290+ moons
- All planets & dwarf planets
- 200+ spacecraft
- Lagrange points & barycenters
- Observer ephemeris (RA/DEC, Az/El, magnitude)
- Cartesian state vectors
- Osculating orbital elements
- Close-approach tables (NEOs)
- SPICE SPK binary files
- JSON
- CSV
- Binary
.bsp
| Feature | Route | Description |
|---|---|---|
| Object Search | /search |
Search by name, ID, designation |
| Observer Ephemeris | /observer |
Sky position tables |
| State Vectors | /vectors |
Position & velocity |
| Orbital Elements | /elements |
Keplerian parameters |
| Close Approaches | /approach |
NEO flybys |
| SPK Generator | /spk |
SPICE kernels |
| Query History | /history |
Local saved queries |
- 🌌 Space-themed visuals (starfield, gradients)
- 🧊 Glassmorphism cards
- 🪐 Subtle 3D hover effects
- 🌙 Dark-mode first (astronomy optimized)
- ⚡ Fast, responsive, zero lag
UX rule:
Never hide the science — only remove friction.
- React 18 — component-driven UI
- TypeScript 5.8 — strict type safety
- Vite — instant dev & fast builds
- Tailwind CSS — utility-first styling
- shadcn/ui + Radix UI — accessible components
- Lucide Icons — consistent iconography
- Next Themes — dark/light mode
- TanStack React Query — server-state caching
- React Hook Form — complex forms
- Zod — schema validation
- React Router — client-side routing
- ESLint — code quality
- PostCSS — CSS processing
- SWC — fast compilation
- GitHub Actions — CI/CD
graph LR
UI[React UI] --> Query[React Query]
Query --> Client[Horizons API Client]
Client --> Proxy[CORS Proxy]
Proxy --> NASA[NASA JPL Horizons API]
NASA’s API is not browser-accessible. The proxy allows safe, read-only access with no data modification.
- Go to
/search - Enter name, ID, or designation (
Mars,433,1P/Halley) - Select from suggestions
Choose a module:
- Observer → sky positions
- Vectors → position & velocity
- Elements → orbital parameters
- Approach → close encounters
- SPK → binary kernels
- Time range
- Observer location
- Reference frames
- Output units
- Correction models
- Download results
- Reuse previous queries via History
- Create page in
src/pages/ - Add route in
App.tsx - Create form schema (Zod)
- Call Horizons client
- Render output
- Edit
src/lib/horizons-api.ts - Parameters map 1:1 with NASA docs
- Tailwind config →
tailwind.config.js - Components →
src/components/ui/
- Node.js 18+
- npm or yarn
git clone https://github.com/maruf009sultan/Horizon-API-Explorer.git
cd Horizon-API-Explorer
npm install
npm run devOpen → http://localhost:8080
- Import repo
- Set build command:
npm run build - Output:
dist
docker build -t horizon-api-explorer .
docker run -p 3000:3000 horizon-api-explorerVITE_HORIZONS_PROXY=https://proxi.jammesop007.workers.dev- Minimal bundle size
- Aggressive caching
- Progressive disclosure
- No unnecessary abstractions
- Saved presets & sessions
- Multilingual UI
- Educational walkthroughs
- Optional authentication
This project values:
- Clean code
- Clear UX
- Scientific integrity
Fork → Branch → Code → Lint → PR
MIT — free for personal, educational, research & commercial use.
Horizon API Explorer exists because space data should not be painful.
Same NASA data. Better human experience.
