Skip to main content

Orbital Intelligence

Status: Early Access — Request API key
Orbital Intelligence provides real-time situational awareness for objects in Earth orbit. Track satellites, analyze conjunction risks, and detect anomalous behavior.

Capabilities

Quick Start

from rotastellar import RotaStellarClient

client = RotaStellarClient(api_key="rs_...")

# Track the International Space Station
iss = client.get_satellite("25544")  # ISS NORAD ID

print(f"Location: {iss.position.latitude}, {iss.position.longitude}")
print(f"Altitude: {iss.position.altitude_km} km")

# Check for upcoming conjunctions
conjunctions = client.list_conjunctions(
    satellite_id="25544",
    threshold_km=5.0,
    limit=10
)

for conj in conjunctions:
    print(f"TCA: {conj['tca']}")
    print(f"Miss distance: {conj['miss_distance_km']} km")
    print(f"Probability: {conj['collision_probability']}")

Data Sources

SourceCoverageUpdate Frequency
Space-TrackGlobal catalogEvery 8 hours
CommercialActive satellitesReal-time
ProprietaryEnhanced accuracyContinuous

Catalog Coverage

  • 10,000+ active satellites
  • 35,000+ debris objects tracked
  • 45,000+ total tracked objects
  • Global coverage from multiple sensor networks

Use Cases

Fleet Management

Track your entire satellite constellation and monitor health:
# Get all satellites in your constellation
constellation = client.list_satellites(
    operator="YourCompany",
    constellation="YourConstellation"
)

for sat in constellation:
    print(f"{sat.name}: {sat.position.altitude_km}km")

Collision Avoidance

Get alerts when conjunction risks exceed thresholds:
# Set up conjunction monitoring via webhook
# See /intelligence/webhooks for full setup
import requests

requests.post(
    "https://api.rotastellar.com/v1/conjunctions/watch",
    headers={"Authorization": "Bearer rs_your_api_key"},
    json={
        "satellites": ["SAT-001", "SAT-002", "SAT-003"],
        "threshold_km": 1.0,
        "webhook_url": "https://your-app.com/alerts"
    }
)

Anomaly Detection

Detect unexpected maneuvers or behavior changes:
anomalies = client.list_patterns(
    satellite_id="TARGET-SAT",
    type="anomaly",
    lookback_days=30
)

for anomaly in anomalies:
    print(f"{anomaly['timestamp']}: {anomaly['type']}")
    print(f"Description: {anomaly['description']}")

Rate Limits

EndpointFreeProEnterprise
Get Satellite10/min100/minCustom
List Satellites5/min50/minCustom
Conjunctions5/min50/minCustom
Patterns2/min20/minCustom

Next Steps