Index/developers
Free API keysDashboard ready

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).

#01Get a key

Keys are created in the dashboard after signing in and confirming your email. Free accounts get 1 active key.

curl
curl -H "Authorization: Bearer ow_your_key_here" \
  "https://www.orbitalwiki.com/api/v1/satellites/25544"
javascript
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);
python
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_.

#02Rate limits
Free tier
1,000/day

10/sec burst · 1 active key · non-commercial evaluation

Builder tier
50,000/day

50/sec burst · commercial products and recurring jobs

Business tier
250,000/day

150/sec burst · redistribution and enrichment

Enterprise tier
Custom

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).
#03Endpoints
MethodPathDescription
GET/api/v1/satellitesPaginated 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}/tleReconstructed TLE from stored OMM elements. Includes stale_warning when elements are > 3 days old.
GET/api/v1/satellites/{norad_cat_id}/ommFull CCSDS OMM JSON re-emitted from stored CelesTrak mean-elements.
GET/api/v1/searchSearch by name, NORAD ID, COSPAR ID, operator or country. Params: q, orbit_class, status, country, limit, offset.
GET/api/v1/operatorsOperators aggregated from the payload catalog, ranked by active satellite count.
GET/api/v1/operators/{slug}Single operator with paginated satellite list.
GET/api/v1/sourcesData sources with license and required attribution strings.

All paths relative to https://www.orbitalwiki.com · openapi.json

#04Error responses
StatusMeaningDetails
401UnauthorizedNo key or malformed header. Hint: send Authorization: Bearer ow_…
403ForbiddenKey revoked or account suspended.
404Not FoundObject does not exist, or no orbital elements available for this NORAD ID.
429Rate LimitedDaily or burst limit exceeded. Check X-RateLimit-Remaining and wait Retry-After seconds.
503Service UnavailableAPI temporarily paused or auth misconfigured.

All error bodies: { "error": "...", "hint": "..." }