Catalog/data-satellite-pass

Data

Satellite pass predictor (any NORAD id) API

Like data-iss-pass but for ANY object in the NORAD catalog: fetches the live two-line element set (TLE) for a given catalog id from Celestrak and propagates the orbit in-process with a self-contained SGP4 propagator to return the next overhead passes for your coordinates — rise time/direction, peak elevation, set time, duration and a visibility rating. The value-add: TLE orbital propagation an LLM cannot do, generalized to any satellite. Answers 'when does Hubble fly over', 'next pass of NORAD 20580', 'starlink overhead times tonight', 'when can I see this satellite'.

Price$0.01per request
MethodPOST
Route/v1/data/satellite-pass
StatusLive
MIME typeapplication/json
Rate limit60/minute
Cache3600s public
datasatellitenoradtlepass-predictionsgp4orbitastronomy
API URLhttps://x402.hexl.dev/v1/data/satellite-pass
Integration docs
Example request
{
  "noradId": 20580,
  "latitude": 40.7128,
  "longitude": -74.006,
  "hours": 48,
  "minElevation": 10
}
Example response
{
  "noradId": 20580,
  "latitude": 40.7128,
  "longitude": -74.006,
  "tleEpoch": "2024-12-31T12:00:00.000Z",
  "windowHours": 48,
  "minElevation": 10,
  "passCount": 3,
  "passes": [
    {
      "rise": "2025-01-01T05:11:00.000Z",
      "riseAzimuth": 201,
      "riseDirection": "SW",
      "peak": "2025-01-01T05:16:30.000Z",
      "peakElevation": 28.4,
      "peakDirection": "SE",
      "set": "2025-01-01T05:21:00.000Z",
      "durationSeconds": 600,
      "visibility": "good"
    }
  ]
}
Input schema
{
  "type": "object",
  "required": [
    "noradId",
    "latitude",
    "longitude"
  ],
  "properties": {
    "noradId": {
      "type": "number",
      "examples": [
        20580,
        25544
      ]
    },
    "latitude": {
      "type": "number",
      "examples": [
        40.7128
      ]
    },
    "longitude": {
      "type": "number",
      "examples": [
        -74.006
      ]
    },
    "from": {
      "type": "string",
      "examples": [
        "2025-01-01T00:00:00Z"
      ]
    },
    "hours": {
      "type": "number",
      "default": 48,
      "examples": [
        48
      ]
    },
    "minElevation": {
      "type": "number",
      "default": 10,
      "examples": [
        10
      ]
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}