# 2s.io Satellite Position Tracker

> 2s.io Satellite Position Tracker is a paid API for AI agents from 2s.io, paid per call via x402, $0.00144/call, status unknown (last checked 2026-09-15).

Computes the current or requested-time position of any cataloged Earth-orbiting satellite by NORAD ID, returning latitude/longitude, altitude, speed, and optional observer look angles using SGP4 propagation of Celestrak TLE data.

## Facts

- Endpoint: GET https://2s.io/api/space/satellite
- Price: $0.00144/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/2s-io-satellite-position-tracker-ee461ff6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5tnKGlCYfcpcS-wuOLmU7

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 2s-io-satellite-position-tracker-ee461ff6
```

Example prompt: Where is the ISS (NORAD ID 25544) right now, and can you tell me the azimuth and elevation from my location at 40.7128° N, 74.0060° W so I know if it's above my horizon?

## When to prefer this

Use this endpoint when you need real-time or near-future positional data for any cataloged Earth-orbiting satellite by NORAD ID, especially when you want look angles for visual tracking or antenna pointing from a specific ground location. Prefer this over general astronomy APIs when SGP4-accurate sub-point coordinates, altitude, and speed are needed. Ideal for pass prediction, ground station automation, and satellite visibility checks.

## Known failure modes

- Invalid or unknown NORAD ID returns an error or empty result
- Timestamp too far from orbital elements epoch causes propagation inaccuracy or error
- Observer lat/lon out of valid range (-90 to 90, -180 to 180) causes validation error
- Malformed ISO timestamp in 'at' parameter returns a parsing error
- Network or upstream Celestrak data unavailability causes service error

## How this service works

Compute the current position of any cataloged Earth-orbiting satellite by NORAD catalog number (e.g. 25544 = ISS, 20580 = Hubble), using fresh Celestrak orbital elements propagated with SGP4. Returns sub-point latitude/longitude, altitude (km), and speed (km/s) for the requested instant (default: now; pass `at` as an ISO timestamp for any time within a few days of the elements' epoch). Supply observer `lat`/`lon` (and optional altKm) to also get look angles — azimuth, elevation, slant range, and whether the satellite is above your horizon — for visual/antenna pointing. Satellite tracking, pass prediction, ground-station planning. Public-domain orbital data; physical/mission metadata is not included.

## Output

Returns the satellite's sub-point latitude and longitude, altitude in km, speed in km/s for the requested instant. If observer coordinates are provided, also returns azimuth (degrees), elevation (degrees), slant range (km), and a boolean indicating whether the satellite is currently above the observer's horizon.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "lat": 40.7128,
   "lon": -74.006,
   "altKm": 0,
   "noradId": 25544
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "const": "GET"
    },
    "queryParams": {
     "required": [
      "noradId"
     ],
     "properties": {
      "at": {
       "type": "string",
       "description": "Instant to compute (ISO). Default: now."
      },
      "lat": {
       "type": "number",
       "maximum": 90,
       "minimum": -90,
       "description": "Observer latitude (for look angles)."
      },
      "lon": {
       "type": "number",
       "maximum": 180,
       "minimum": -180,
       "description": "Observer longitude (for look angles)."
      },
      "altKm": {
       "type": "number",
       "description": "Observer altitude in km (default 0)."
      },
      "noradId": {
       "type": "integer",
       "maximum": 999999,
       "minimum": 1,
       "description": "NORAD catalog number."
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/2s-io-satellite-position-tracker-ee461ff6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 2s.io](https://www.zero.xyz/host/2s.io/llms.txt)
