Zenith API

Real-time Satellite Tracking

API Documentation


Get Satellite Geoposition

Get the current geographic position of a satellite by its NORAD ID.

Endpoint

GET /api/v1/satellites/:noradId/geoposition

Parameters

Example Request

GET /api/v1/satellites/25544/geoposition

Response Example

{
  "noradId": 25544,
  "name": "ISS (ZARYA)",
  "latitude": 51.5074,
  "longitude": -0.1278,
  "epoch": "2024-01-15T10:30:00.000Z"
}

Get Nearby Satellites

Get a list of satellites that are currently in range of a specific observer location (above 10° elevation).

Endpoint

GET /api/v1/satellites/nearby

Query Parameters

Example Request

GET /api/v1/satellites/nearby?latitude=51.5074&longitude=-0.1278&mode=basic

Response Example

{
  "metadata": {
    "total": 2,
    "mode": "basic"
  },
  "observer": {
    "latitude": 51.5074,
    "longitude": -0.1278,
    "datetime": "2024-01-15T10:30:00.000Z"
  },
  "satellites": [
    {
      "noradId": 25544,
      "name": "ISS (ZARYA)",
      "labels": ["iss"],
      "elevation": 45.2,
      "azimuth": 180.5,
      "range": 450.8,
      "visible": true,
      "observerDaytime": false,
      "satelliteSunlit": true,
      "epoch": "2024-01-15T10:30:00.000Z"
    },
    {
      "noradId": 20580,
      "name": "HST",
      "labels": ["hubble"],
      "elevation": 30.1,
      "azimuth": 270.3,
      "range": 550.2,
      "visible": false,
      "observerDaytime": false,
      "satelliteSunlit": false,
      "epoch": "2024-01-15T10:30:00.000Z"
    }
  ]
}

Health Check

Health check endpoint to verify API availability and status.

Endpoint

GET /api/v1/service/healthcheck

Parameters

No parameters required.

Example Request

GET /api/v1/service/healthcheck

Response Example

{
  "message": "OK"
}

Error Codes

The API uses standard HTTP status codes to indicate success or failure:

Error Response Format

{
  "message": "Error message description",
  "statusCode": 400
}

Notes