Satellite Passes
Satellite Passes — keyless JSON API
Satellite Passes. Find satellite passes
GET https://sat.terrestre.ar/openapi.json
{
"openapi": "3.0.3",
"info": {
"title": "Satellite Passes API",
"description": "Query next passes for a given satellite above you.",
"version": "0.1.0"
},
"servers": [
{
"url": "https://sat.terrestre.ar/"
},
{
"url": "http://0.0.0.0:8000/"
}
],
"paths": {
"/passes/{norad_id}": {
"get": {
"tags": [
"Satellite Passes"
],
"parameters": [
{
"name": "norad_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 999999999
}
},
{
"name": "lat",
"in": "query",
"required": true,
"schema": {
"type": "number",
"minimum": -90,
"maximum": 90
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SatellitePass"
}
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/ValidationError"
},
{
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
]
}
]
}
}
}
},
"default": {
"description": "Unexpected error"
}
}
}
}
},
"components": {
"schemas": {
"SatellitePass": {
"type": "object",
"properties": {
"rise": {
"$ref": "#/components/schemas/Event"
},
"culmination": {
"$ref": "#/components/schemas/Event"
},
"set": {
"$ref": "#/components/schemas/Event"
},
"visible": {
"type": "boolean"
}
},
"required": [
"visible"
]
},
"Event": {
"type": "object",
"title": "Event",
"required": [
"alt",
"az"
],
"properties": {
"alt": {
"type": "string",
"title": "Altitude",
"description": "Altitude above the horizon. In degrees."
},
"az": {
"type": "string",
"title": "Azimuth",
"description": "The angle between the satellite and the North. In degrees."
},
"az_octant": {
"type": "string",
"title": "Azimuth octant",
"enum": [
"N",
"NE"
]
},
"utc_datetime": {
"type": "string",
"title": "UTC date-time",
"format": "date-time"
},
"utc_timestamp": {
"type": "integer",
"title": "UTC timestamp",
"minimum": 0
},
"is_sunlit": {
"type": "boolean",
"title": "Is sunlit",
"description": "If satellite is being illuminated by the sun."
},
"visible": {
"type": "boolean",
"title": "Visible",
"description": "If the satellite will be probably visible, considering the sun is near the horizon, and the observer is at night."
}
}
},
"ValidationError": {
"type": "object",
"properties": {
"lat": {
"$ref": "#/components/schemas/FieldError"
},
"lon": {
"$ref": "#/components/schemas/FieldError"
},
"limit": {
"$ref": "#/components/schemas/FieldError"
},
"days": {
"$ref": "#/components/schemas/FieldError"
},
"visible_only": {
"$ref": "#/components/schemas/FieldError"
}
}
},
"FieldError": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}curl "https://sat.terrestre.ar/openapi.json"const res = await fetch("https://sat.terrestre.ar/openapi.json");
const data = await res.json();
console.log(data);import requests
res = requests.get("https://sat.terrestre.ar/openapi.json")
print(res.json())/openapi.jsonPROBEDSatellite Passes — keyless JSON API
/openapi.json?limit=5Paginated variant with limit parameter.
/passes/{norad_id}{Norad Id} — documented GET route.
/passes/<&Lt — documented GET route.
/passes/25544?lat=-34.9112212&Passes details by ID (example: 25544).
We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.
Stable. No schema drift observed since monitoring began — the response shape has not changed under our checks.
Satellite Passes: common questions
Is Satellite Passes free to use?
Yes — Satellite Passes is a free science & space API. Free tier: Free — limits not published. Whether the free tier allows commercial use is unclear — check the provider docs.
Does Satellite Passes need an API key?
No — Satellite Passes needs no API key or signup. You can call it straight away; rate limits still apply (Unpublished).
Can I call Satellite Passes from the browser?
Yes — Satellite Passes returns CORS headers over HTTPS, so front-end code can fetch it directly with no backend proxy. Use the fetch snippet on this page, or hit "Run live" to try it now.
Is Satellite Passes up right now?
As of our last scheduled check, Satellite Passes is healthy with 99.02% uptime over 90 days and a 976 ms median response. We re-probe it every sweep — the status badge and uptime chart above always show the latest.