Build on the open orbital record.
Read-only REST API for 1,000 requests/day. Every field carries a provenance claim — source, confidence level, and attribution string. Data from CelesTrak, GCAT/McDowell (CC-BY 4.0), and Wikidata (CC0).
Keys are created in the dashboard after signing in and confirming your email. Free accounts get 1 active key.
curl -H "Authorization: Bearer ow_your_key_here" \ "https://www.orbitalwiki.com/api/v1/satellites/25544"
const res = await fetch(
"https://www.orbitalwiki.com/api/v1/satellites/25544",
{ headers: { "Authorization": "Bearer ow_your_key_here" } }
);
const { data } = await res.json();
// data.name → "ISS (ZARYA)"
// data.orbit_class → "LEO"
// data.operational_status → "OPERATIONAL"
console.log(data.name);import requests
r = requests.get(
"https://www.orbitalwiki.com/api/v1/satellites/25544",
headers={"Authorization": "Bearer ow_your_key_here"},
)
r.raise_for_status()
data = r.json()["data"]
# data["name"] → "ISS (ZARYA)"
# data["orbit_class"] → "LEO"
print(data["name"])Auth: send Authorization: Bearer ow_your_key_here or X-API-Key: ow_your_key_here on every request. Keys start with ow_.
10/sec burst · 1 active key · non-commercial evaluation
50/sec burst · commercial products and recurring jobs
150/sec burst · redistribution and enrichment
Bulk, resale, procurement, and custom terms
Paid tiers are planned — every key is currently issued on the free tier.
Rate-limit headers on every response
X-RateLimit-LimitYour daily quota.X-RateLimit-RemainingRequests remaining today.X-RateLimit-ResetUnix timestamp when the window resets.Retry-AfterSeconds to wait (only on 429 responses).| Method | Path | Description |
|---|---|---|
| GET | /api/v1/satellites | Paginated list. Filters: orbit_class, status, object_class, country, active, q, limit, offset. |
| GET | /api/v1/satellites/{norad_cat_id} | Full record with provenance claims and source metadata. |
| GET | /api/v1/satellites/{norad_cat_id}/tle | Reconstructed TLE from stored OMM elements. Includes stale_warning when elements are > 3 days old. |
| GET | /api/v1/satellites/{norad_cat_id}/omm | Full CCSDS OMM JSON re-emitted from stored CelesTrak mean-elements. |
| GET | /api/v1/search | Search by name, NORAD ID, COSPAR ID, operator or country. Params: q, orbit_class, status, country, limit, offset. |
| GET | /api/v1/operators | Operators aggregated from the payload catalog, ranked by active satellite count. |
| GET | /api/v1/operators/{slug} | Single operator with paginated satellite list. |
| GET | /api/v1/sources | Data sources with license and required attribution strings. |
All paths relative to https://www.orbitalwiki.com · openapi.json
| Status | Meaning | Details |
|---|---|---|
401 | Unauthorized | No key or malformed header. Hint: send Authorization: Bearer ow_… |
403 | Forbidden | Key revoked or account suspended. |
404 | Not Found | Object does not exist, or no orbital elements available for this NORAD ID. |
429 | Rate Limited | Daily or burst limit exceeded. Check X-RateLimit-Remaining and wait Retry-After seconds. |
503 | Service Unavailable | API temporarily paused or auth misconfigured. |
All error bodies: { "error": "...", "hint": "..." }