Skip to content

Space Information API

The Space Information API provides live International Space Station data in a JSON response. It includes the ISS position, altitude, speed, heading, orbit details, lighting conditions, ground coverage, crew information and a recent ground track.

All measurements use metric units.

Response Format

All successful responses are returned in JSON format.

{
    "status": "ok",
    "updated": {
        "unix": 1769592000,
        "utc": "2026-01-28T10:40:00Z",
        "display": "28/01/2026 10:40:00 UTC"
    },
    "station": {
        "name": "International Space Station",
        "abbreviation": "ISS",
        "norad_id": 25544,
        "status": "in orbit"
    },
    "position": {
        "latitude": 51.2,
        "longitude": -0.4,
        "readable": "51.2000° N, 0.4000° W",
        "hemisphere": "Northern · Western",
        "hemisphere_short": "N · W"
    },
    "altitude": {
        "kilometres": 408.2,
        "metres": 408200,
        "description": "Height above mean sea level"
    },
    "speed": {
        "kilometres_per_hour": 26478,
        "kilometres_per_second": 7.36,
        "metres_per_second": 7355,
        "description": "Speed relative to Earth's surface"
    }
}

Unavailable optional values return false instead of null. Your application can hide fields with a value of false.

Authentication Methods

This endpoint is publicly accessible and does not require authentication.

Characteristics:

  • No API key required
  • Read-only JSON response
  • Live ISS position and orbit data
  • Optional observer-location filtering

Usage:

curl "https://api.tylermwise.uk/v2/spacedata"

You can fetch and decode the API response in PHP using file_get_contents() and json_decode().

Example:

<?php
$contents = file_get_contents("https://api.tylermwise.uk/v2/spacedata");
$data = json_decode($contents);

echo $data->position->readable;
?>

Endpoint

GET /v2/spacedata

Query Parameters

Parameter Type Required Default Description
lat number No 51.5074 Observer latitude in decimal degrees.
lon number No -0.1278 Observer longitude in decimal degrees.

The observer location is used to calculate the distance and direction from a location to the point on Earth directly below the ISS. The default location is London.

Example Request

curl "https://api.tylermwise.uk/v2/spacedata"

Example Response

{
    "status": "ok",
    "updated": {
        "unix": 1769592000,
        "utc": "2026-01-28T10:40:00Z",
        "display": "28/01/2026 10:40:00 UTC"
    },
    "station": {
        "name": "International Space Station",
        "abbreviation": "ISS",
        "norad_id": 25544,
        "status": "in orbit"
    },
    "position": {
        "latitude": 51.2,
        "longitude": -0.4,
        "readable": "51.2000° N, 0.4000° W",
        "hemisphere": "Northern · Western",
        "hemisphere_short": "N · W"
    },
    "altitude": {
        "kilometres": 408.2,
        "metres": 408200,
        "description": "Height above mean sea level"
    },
    "speed": {
        "kilometres_per_hour": 26478,
        "kilometres_per_second": 7.36,
        "metres_per_second": 7355,
        "description": "Speed relative to Earth's surface"
    },
    "lighting": {
        "condition": "Sunlight",
        "symbol": "☀",
        "sun_elevation_degrees": 32.5,
        "sun_azimuth_degrees": 184.2,
        "description": "The ground below the ISS is in daylight"
    },
    "ground_track": {
        "distance_travelled_km": 2647.8,
        "distance_travelled_description": "Approximate distance travelled across the past 93-minute track",
        "heading_degrees": 42.0,
        "heading_compass": "NE",
        "heading_display": "42° NE",
        "api_visibility": "daylight"
    },
    "orbit": {
        "period_minutes": 92.68,
        "period_display": "92.68 minutes per orbit",
        "orbits_per_day": 15.5,
        "progress_percent": 6.7,
        "progress_display": "6.7%",
        "inclination_degrees": 51.64,
        "eccentricity": 0.0004,
        "right_ascension_ascending_node_degrees": 123.45,
        "argument_of_perigee_degrees": 87.65,
        "mean_anomaly_degrees": 24.32,
        "mean_motion_revolutions_per_day": 15.5,
        "tle_epoch_utc": "2026-01-28T08:00:00Z",
        "tle_line_1": "1 25544U 98067A   26028.33333333  .00016717  00000-0  30000-3 0  9993",
        "tle_line_2": "2 25544  51.6416 123.4567 0004000  87.6500  24.3200 15.50000000400000"
    },
    "observer": {
        "latitude": 51.5074,
        "longitude": -0.1278,
        "distance_to_iss_ground_point_km": 4944.0,
        "distance_display": "4,944.0 km",
        "direction_to_iss_ground_point": "SE",
        "direction_degrees": 136.4,
        "within_visible_range": false,
        "maximum_visible_range_km": 2280,
        "description": "Distance and direction from your chosen location to the point on Earth directly below the ISS"
    },
    "ground_coverage": {
        "footprint_radius_km": 2222,
        "footprint_area_km2": 15520000,
        "visible_horizon_km": 2280,
        "description": "Approximate area of Earth visible from the ISS at its current altitude"
    },
    "crew": {
        "people_in_space": 7,
        "people": [
            {
                "name": "Example Astronaut",
                "spacecraft": "Example Spacecraft",
                "days_in_space": 120,
                "launch_date": "2025-10-01"
            }
        ]
    },
    "recent_track": {
        "past_minutes": 93,
        "future_minutes": 45,
        "past_positions": [
            {
                "time_utc": "09:10:00",
                "latitude": 48.2,
                "longitude": -3.8,
                "altitude_km": 408.1
            }
        ],
        "future_positions": [
            {
                "time_utc": "10:49:00",
                "latitude": 54.1,
                "longitude": 2.4,
                "altitude_km": 408.4
            }
        ]
    }
}

PHP Usage

Fetch API Data

<?php
$contents = file_get_contents("https://api.tylermwise.uk/v2/spacedata");
$data = json_decode($contents);

echo $data->position->readable;
?>

Output Altitude and Speed

<?php
$contents = file_get_contents("https://api.tylermwise.uk/v2/spacedata");
$data = json_decode($contents);

echo $data->altitude->kilometres . " km<br>";
echo $data->speed->kilometres_per_hour . " km/h";
?>

Output Heading

<?php
$contents = file_get_contents("https://api.tylermwise.uk/v2/spacedata");
$data = json_decode($contents);

echo $data->ground_track->heading_display;
?>

Output Observer Distance

<?php
$contents = file_get_contents("https://api.tylermwise.uk/v2/spacedata");
$data = json_decode($contents);

echo $data->observer->distance_display;
?>

Output People in Space

<?php
$contents = file_get_contents("https://api.tylermwise.uk/v2/spacedata");
$data = json_decode($contents);

echo $data->crew->people_in_space . "<br>";

foreach ($data->crew->people as $person) {
    echo htmlspecialchars($person->name) . "<br>";
}
?>

Output Recent Track

<?php
$contents = file_get_contents("https://api.tylermwise.uk/v2/spacedata");
$data = json_decode($contents);

foreach ($data->recent_track->past_positions as $point) {
    echo $point->time_utc . ": ";
    echo $point->latitude . ", ";
    echo $point->longitude . "<br>";
}
?>

Response Fields

Updated

Field Type Description
updated.unix integer Unix timestamp for the position data.
updated.utc string ISO 8601 UTC timestamp.
updated.display string Human-readable UTC timestamp.

Station

Field Type Description
station.name string Full spacecraft name.
station.abbreviation string Short spacecraft name.
station.norad_id integer NORAD catalogue identifier.
station.status string Current operational status.

Position

Field Type Description
position.latitude number ISS latitude in decimal degrees.
position.longitude number ISS longitude in decimal degrees.
position.readable string Coordinates formatted with compass directions.
position.hemisphere string Full hemisphere description.
position.hemisphere_short string Short hemisphere code, for example N · E.

Altitude

Field Type Description
altitude.kilometres number Height above mean sea level in kilometres.
altitude.metres integer Height above mean sea level in metres.
altitude.description string Explanation of the altitude value.

Speed

Field Type Description
speed.kilometres_per_hour integer Ground speed in km/h.
speed.kilometres_per_second number Ground speed in km/s.
speed.metres_per_second integer Ground speed in m/s.
speed.description string Explanation of the speed value.

Lighting

Field Type Description
lighting.condition string Either Sunlight or Earth's shadow.
lighting.symbol string Sun or shadow symbol.
lighting.sun_elevation_degrees number Sun elevation at the ISS ground point.
lighting.sun_azimuth_degrees number Sun compass direction at the ISS ground point.
lighting.description string Plain-language lighting description.

The lighting value describes conditions at the point on Earth directly below the ISS.

Ground Track

Field Type Description
ground_track.distance_travelled_km number Approximate distance travelled across the past 93-minute track.
ground_track.distance_travelled_description string Explanation of the distance value.
ground_track.heading_degrees number or false Direction of travel in degrees.
ground_track.heading_compass string or false Compass direction, for example NE.
ground_track.heading_display string or false Combined heading value, for example 42° NE.
ground_track.api_visibility string Visibility value provided by the position source.

Orbit

Field Type Description
orbit.period_minutes number Time taken to complete one orbit.
orbit.period_display string Orbital period in a readable format.
orbit.orbits_per_day number Approximate number of orbits completed each day.
orbit.progress_percent number or false Estimated progress through the current orbit.
orbit.progress_display string or false Orbital progress as a percentage.
orbit.inclination_degrees number or false Orbital inclination.
orbit.eccentricity number or false Orbital eccentricity.
orbit.right_ascension_ascending_node_degrees number or false Right ascension of the ascending node.
orbit.argument_of_perigee_degrees number or false Argument of perigee.
orbit.mean_anomaly_degrees number or false Mean anomaly.
orbit.mean_motion_revolutions_per_day number or false Mean motion in revolutions per day.
orbit.tle_epoch_utc string or false UTC epoch time for the TLE data.
orbit.tle_line_1 string or false First line of the ISS TLE.
orbit.tle_line_2 string or false Second line of the ISS TLE.

Observer

Field Type Description
observer.latitude number Observer latitude.
observer.longitude number Observer longitude.
observer.distance_to_iss_ground_point_km number Distance to the ISS ground point in kilometres.
observer.distance_display string Distance in a readable format.
observer.direction_to_iss_ground_point string Compass direction to the ISS ground point.
observer.direction_degrees number Direction to the ISS ground point in degrees.
observer.within_visible_range boolean Whether the ISS ground point is within the calculated visible range.
observer.maximum_visible_range_km integer Maximum calculated visible range in kilometres.
observer.description string Explanation of the observer values.

Ground Coverage

Field Type Description
ground_coverage.footprint_radius_km integer Approximate radius of Earth visible from the ISS.
ground_coverage.footprint_area_km2 integer Approximate visible area in square kilometres.
ground_coverage.visible_horizon_km integer Approximate distance to the visible horizon.
ground_coverage.description string Explanation of the ground coverage values.

Crew

Field Type Description
crew.people_in_space integer Total number of people currently in space.
crew.people array List of people currently in space.

Each person object can include:

Field Type Description
name string Person’s name.
spacecraft string Spacecraft they launched on.
days_in_space integer Days spent in space.
launch_date string Launch date.

Recent Track

Field Type Description
recent_track.past_minutes integer Length of the historical track window.
recent_track.future_minutes integer Length of the predicted track window.
recent_track.past_positions array Estimated ISS positions for the previous 93 minutes.
recent_track.future_positions array Predicted ISS positions for the next 45 minutes.

Each position object contains:

Field Type Description
time_utc string UTC time for the position.
latitude number Latitude in decimal degrees.
longitude number Longitude in decimal degrees.
altitude_km number Altitude in kilometres.

Notes

  • The endpoint returns live space-related data in a single response.
  • The default observer location is London.
  • Use ?lat= and ?lon= to calculate data for another location.
  • The API uses metric units only.
  • The API caches external data for 20 seconds.
  • Fields that cannot be calculated return false rather than null.

HTTP Status Codes

Standard responses may include:

  • 200 - Success.
  • 400 - Bad Request.
  • 429 - Too Many Requests.
  • 500 - Internal Server Error.
  • 502 - Live ISS data was temporarily unavailable.

Versioning

This page documents version 2 of the Space Information API, available under the /v2/ path. Version 2 replaces the simpler version 1 response with structured ISS position, orbit, observer, lighting, ground-coverage and crew data.