Open Notify

App · Weather & Space · 6 actions

Track the International Space Station with Open Notify, the free keyless API behind open-notify.org. Get where the station is right now, who is in space and which spacecraft they are aboard, how far away the station is from any place on Earth and whether it is above the horizon there, or watch it move across several readings to see how fast it is going. There is one action that reports the service's own health as a value rather than failing a step, so a scheduled workflow can tell an outage from an empty answer. No account and no API key: connecting takes one click.

Actions

ActionWhat it does
Check service statusCheck whether Open Notify is answering, and how quickly.
Get a space reportGet both halves of what Open Notify knows in one step: where the station is, how many people are in space, who they are and which of them are aboard the ISS.
Get the distance to the ISSAnswer 'is the space station near me?' for a place on the ground: how far away it is in kilometres and miles, which compass direction to look in, and whether it is above the horizon there at all.
Get the ISS positionGet where the International Space Station is right now: the latitude and longitude of the point on the ground directly below it, the instant that position is for, and a map link to open it.
Get the people in spaceGet who is in space right now, with the spacecraft each person is aboard and a count per craft, so a step can say how many are on the station without counting a list itself.
Sample the ISS trackWatch the station move: take several positions a few seconds apart and get the path between them, how far it travelled and how fast.

Check service status

Check whether Open Notify is answering, and how quickly. This is the one action that reports a problem as a value instead of failing the step, so a workflow can decide what to do about it. Being asked to slow down is reported separately from being down. No API key required.

Inputs

None.

Outputs

messagetext
What happened, in a sentence.
onlinetrue/false
Whether the service answered with a usable ISS position.
rate_limitedtrue/false
Whether it asked this workspace to slow down.
reachabletrue/false
Whether it answered at all. A service that is reachable but not online is refusing or misreporting rather than down.
response_time_msnumber
How long the answer took, in milliseconds.
status_codenumber
The HTTP status it answered with, or empty when it could not be reached.
Example output
{
  "message": "Open Notify is up and tracking the ISS.",
  "online": true,
  "rate_limited": false,
  "reachable": true,
  "response_time_ms": 96.5,
  "status_code": 200
}

Get a space report

Get both halves of what Open Notify knows in one step: where the station is, how many people are in space, who they are and which of them are aboard the ISS. Built for a daily post or digest, where two separate steps would describe two different moments. No API key required.

Inputs

None.

Outputs

craftslist
The same people grouped by spacecraft.
issobject
Where the station is right now.
iss_crewlist
The names aboard the ISS specifically, which is the headline of most reports.
iss_crew_countnumber
How many of them there are.
nameslist
Just their names.
numbernumber
How many people are in space.
peoplelist
All of them, each with their spacecraft.
Example output
{
  "crafts": [
    {
      "craft": "ISS",
      "names": [
        "Oleg Kononenko",
        "Nikolai Chub",
        "Tracy Caldwell Dyson",
        "Matthew Dominick",
        "Michael Barratt",
        "Jeanette Epps",
        "Alexander Grebenkin",
        "Butch Wilmore",
        "Sunita Williams"
      ],
      "number": 9
    },
    {
      "craft": "Tiangong",
      "names": [
        "Li Guangsu",
        "Li Cong",
        "Ye Guangfu"
      ],
      "number": 3
    }
  ],
  "iss": {
    "latitude": -36.0989,
    "longitude": -64.0851,
    "map_url": "https://maps.google.com/maps?q=-36.0989,-64.0851&z=4",
    "time": "2026-09-16T12:00:00Z",
    "timestamp": 1789560000
  },
  "iss_crew": [
    "Oleg Kononenko",
    "Nikolai Chub",
    "Tracy Caldwell Dyson",
    "Matthew Dominick",
    "Michael Barratt",
    "Jeanette Epps",
    "Alexander Grebenkin",
    "Butch Wilmore",
    "Sunita Williams"
  ],
  "iss_crew_count": 9,
  "names": [
    "Oleg Kononenko",
    "Nikolai Chub",
    "Tracy Caldwell Dyson",
    "Matthew Dominick",
    "Michael Barratt",
    "Jeanette Epps",
    "Alexander Grebenkin",
    "Butch Wilmore",
    "Sunita Williams",
    "Li Guangsu",
    "Li Cong",
    "Ye Guangfu"
  ],
  "number": 12,
  "people": [
    {
      "craft": "ISS",
      "name": "Oleg Kononenko"
    },
    {
      "craft": "ISS",
      "name": "Nikolai Chub"
    },
    {
      "craft": "ISS",
      "name": "Tracy Caldwell Dyson"
    },
    {
      "craft": "ISS",
      "name": "Matthew Dominick"
    },
    {
      "craft": "ISS",
      "name": "Michael Barratt"
    },
    {
      "craft": "ISS",
      "name": "Jeanette Epps"
    },
    {
      "craft": "ISS",
      "name": "Alexander Grebenkin"
    },
    {
      "craft": "ISS",
      "name": "Butch Wilmore"
    },
    {
      "craft": "ISS",
      "name": "Sunita Williams"
    },
    {
      "craft": "Tiangong",
      "name": "Li Guangsu"
    },
    {
      "craft": "Tiangong",
      "name": "Li Cong"
    },
    {
      "craft": "Tiangong",
      "name": "Ye Guangfu"
    }
  ]
}

Get the distance to the ISS

Answer 'is the space station near me?' for a place on the ground: how far away it is in kilometres and miles, which compass direction to look in, and whether it is above the horizon there at all. Open Notify reports only where the station is, never how that relates to anywhere, so the comparison is done here. No API key required.

Inputs

LatitudelatitudenumberRequired
Latitude of the place to measure from, in decimal degrees between -90 and 90. Negative is south of the equator.From -90 to 90.
LongitudelongitudenumberRequired
Longitude of that place, in decimal degrees between -180 and 180. Negative is west of Greenwich.From -180 to 180.
Assumed altitude (km)altitude_kmnumber
The height above the ground to assume for the station, in kilometres. Open Notify reports no altitude, so the figures derived from one assume 420 km, the station's usual operating height. Change it to match a published altitude if you have one.From 100 to 2000. Default: 420.0.

Outputs

above_horizontrue/false
Whether the station is above the horizon from that place, which is whether it could be seen at all. It says nothing about cloud, daylight or whether the station is lit.
assumed_altitude_kmnumber
The altitude the horizon figure was worked out from. Open Notify publishes none.
bearing_degreesnumber
Which way to set off to reach it: degrees clockwise from north.
compass_pointtext
The same direction as a compass point, e.g. 'NNE'.
distance_kmnumber
Distance over the ground from that place to the point below the station, in kilometres.
distance_milesnumber
The same distance in miles.
horizon_radius_kmnumber
How far from the point below it the station stays above the horizon, at the assumed altitude.
issobject
Where the station is right now.
observer_latitudenumber
Latitude of the place measured from.
observer_longitudenumber
Longitude of that place.
Example output
{
  "above_horizon": false,
  "assumed_altitude_km": 420.0,
  "bearing_degrees": 136.5,
  "compass_point": "SE",
  "distance_km": 10170.9,
  "distance_miles": 6319.9,
  "horizon_radius_km": 2252.4,
  "iss": {
    "latitude": -36.0989,
    "longitude": -64.0851,
    "map_url": "https://maps.google.com/maps?q=-36.0989,-64.0851&z=4",
    "time": "2026-09-16T12:00:00Z",
    "timestamp": 1789560000
  },
  "observer_latitude": 37.7749,
  "observer_longitude": -122.4194
}

Get the ISS position

Get where the International Space Station is right now: the latitude and longitude of the point on the ground directly below it, the instant that position is for, and a map link to open it. The station covers about 28,000 km every hour, so the answer is only good for a few seconds. No API key required.

Inputs

None.

Outputs

latitudenumber
Latitude of the point on the ground directly below the station, in degrees. Negative is south of the equator. The service quotes this as a string; it is published here as a number.
longitudenumber
Longitude of that point, in degrees. Negative is west of the Greenwich meridian.
map_urltext
Map link centred on the point below the station.
timetext
The same instant as an ISO 8601 UTC date-time.
timestampnumber
The instant this position is for, in Unix seconds.
Example output
{
  "latitude": -36.0989,
  "longitude": -64.0851,
  "map_url": "https://maps.google.com/maps?q=-36.0989,-64.0851&z=4",
  "time": "2026-09-16T12:00:00Z",
  "timestamp": 1789560000
}

Get the people in space

Get who is in space right now, with the spacecraft each person is aboard and a count per craft, so a step can say how many are on the station without counting a list itself. Name a spacecraft to get only its crew. Nobody aboard is an empty result rather than a failed step. No API key required.

Inputs

Spacecraftcrafttext
Only return the people aboard this spacecraft, such as ISS or Tiangong. Leave empty for everyone in space. Matching ignores capitalisation.

Outputs

countnumber
How many people are in the returned list: everyone in space, or everyone aboard the spacecraft asked for.
crafttext
The spacecraft the list was filtered to, or empty when it was not filtered.
craftslist
Everyone in space grouped by spacecraft. Always covers every craft, so a filter that matched nobody still shows what is crewed.
nameslist
Just their names, ready to put in a message.
numbernumber
How many people are in space altogether, as the service counts them. Unaffected by the spacecraft filter.
peoplelist
The people, each with their spacecraft.
Example output
{
  "count": 12,
  "craft": null,
  "crafts": [
    {
      "craft": "ISS",
      "names": [
        "Oleg Kononenko",
        "Nikolai Chub",
        "Tracy Caldwell Dyson",
        "Matthew Dominick",
        "Michael Barratt",
        "Jeanette Epps",
        "Alexander Grebenkin",
        "Butch Wilmore",
        "Sunita Williams"
      ],
      "number": 9
    },
    {
      "craft": "Tiangong",
      "names": [
        "Li Guangsu",
        "Li Cong",
        "Ye Guangfu"
      ],
      "number": 3
    }
  ],
  "names": [
    "Oleg Kononenko",
    "Nikolai Chub",
    "Tracy Caldwell Dyson",
    "Matthew Dominick",
    "Michael Barratt",
    "Jeanette Epps",
    "Alexander Grebenkin",
    "Butch Wilmore",
    "Sunita Williams",
    "Li Guangsu",
    "Li Cong",
    "Ye Guangfu"
  ],
  "number": 12,
  "people": [
    {
      "craft": "ISS",
      "name": "Oleg Kononenko"
    },
    {
      "craft": "ISS",
      "name": "Nikolai Chub"
    },
    {
      "craft": "ISS",
      "name": "Tracy Caldwell Dyson"
    },
    {
      "craft": "ISS",
      "name": "Matthew Dominick"
    },
    {
      "craft": "ISS",
      "name": "Michael Barratt"
    },
    {
      "craft": "ISS",
      "name": "Jeanette Epps"
    },
    {
      "craft": "ISS",
      "name": "Alexander Grebenkin"
    },
    {
      "craft": "ISS",
      "name": "Butch Wilmore"
    },
    {
      "craft": "ISS",
      "name": "Sunita Williams"
    },
    {
      "craft": "Tiangong",
      "name": "Li Guangsu"
    },
    {
      "craft": "Tiangong",
      "name": "Li Cong"
    },
    {
      "craft": "Tiangong",
      "name": "Ye Guangfu"
    }
  ]
}

Sample the ISS track

Watch the station move: take several positions a few seconds apart and get the path between them, how far it travelled and how fast. Open Notify only ever answers for the present instant, so this step waits between readings at the cadence the service asks for, which is why it takes as long as it does. No API key required.

Inputs

Number of positionscountnumber
How many readings to take, from 2 to 10. Each one after the first waits out the gap below, so the step takes roughly that gap times one less than this.From 2 to 10. Default: 3.
Seconds between positionsinterval_secondsnumber
How long to wait between readings, from 5 to 60 seconds. Open Notify works the position out once a second and asks callers to poll about once every five, so anything shorter is refused.From 5.0 to 60.0. Default: 5.0.
Assumed altitude (km)altitude_kmnumber
The height above the ground to assume for the station, in kilometres. Open Notify reports no altitude, so the figures derived from one assume 420 km, the station's usual operating height. Change it to match a published altitude if you have one.From 100 to 2000. Default: 420.0.

Outputs

assumed_altitude_kmnumber
The altitude the orbital speed was worked out from. Open Notify publishes none.
countnumber
How many readings were taken.
elapsed_secondsnumber
Seconds between the first and last reading, measured by the service's own timestamps rather than by this workflow's clock.
end_timetext
When the last reading was for.
ground_distance_kmnumber
How far the point below the station moved across the Earth over that span.
ground_speed_kmhnumber
That distance as a speed, in kilometres per hour: how fast the station's shadow crosses the ground.
interval_secondsnumber
The gap asked for between readings.
orbital_speed_kmhnumber
How fast the station itself is travelling, which is faster than its shadow because it sweeps a wider circle. Derived from the assumed altitude, so it is an estimate: about 28,000 km/h.
positionslist
The readings, earliest first.
start_timetext
When the first reading was for, as an ISO 8601 UTC date-time.
Example output
{
  "assumed_altitude_km": 420.0,
  "count": 2,
  "elapsed_seconds": 5.0,
  "end_time": "2026-09-16T12:00:05Z",
  "ground_distance_km": 36.0,
  "ground_speed_kmh": 25894.8,
  "interval_seconds": 5.0,
  "orbital_speed_kmh": 27601.9,
  "positions": [
    {
      "latitude": -36.0989,
      "longitude": -64.0851,
      "map_url": "https://maps.google.com/maps?q=-36.0989,-64.0851&z=4",
      "time": "2026-09-16T12:00:00Z",
      "timestamp": 1789560000
    },
    {
      "latitude": -35.9129,
      "longitude": -63.758,
      "map_url": "https://maps.google.com/maps?q=-35.9129,-63.758&z=4",
      "time": "2026-09-16T12:00:05Z",
      "timestamp": 1789560005
    }
  ],
  "start_time": "2026-09-16T12:00:00Z"
}

On this page