BYTETOOLS

Open Notify ISS API

Free API returning the International Space Station's live latitude and longitude. No key, updates in real time. Tested curl example and live JSON response.

No API key requiredCORS enabledFree tier

Endpoint tested and returned HTTP 200 on 2026-08-19

What is the Open Notify ISS API?

The Open Notify ISS API returns the current latitude and longitude of the International Space Station in real time. It is completely free, requires no API key, and updates continuously as the station orbits.

This API returns the ISS's position right now, and because the station orbits Earth roughly every 90 minutes at about 7.66 km per second, the coordinates change visibly between requests made seconds apart — which makes it unusually satisfying for demos.

It is a favourite for teaching polling and live map updates, since the data genuinely changes in real time without you having to fake it. Note the endpoint is HTTP only, so call it from a server rather than an HTTPS page.

Quick facts

Base URL
http://api.open-notify.org
Authentication
No key required.
Rate limit
No published limit, but the position only meaningfully changes every few seconds — polling faster is wasteful.
Pricing
Free.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Open Notify ISS API

Every request below was executed against the live API on 2026-08-19, and the response shown is the real body it returned — not an illustration.

1. Get the ISS's current position

GET http://api.open-notify.org/iss-now.json

curl
curl 'http://api.open-notify.org/iss-now.json'
JavaScript (fetch)
const res = await fetch("http://api.open-notify.org/iss-now.json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("http://api.open-notify.org/iss-now.json", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "timestamp": 1787144814,
  "message": "success",
  "iss_position": {
    "latitude": "-48.2974",
    "longitude": "118.4108"
  }
}

2. List the people currently in space

GET http://api.open-notify.org/astros.json

curl
curl 'http://api.open-notify.org/astros.json'
JavaScript (fetch)
const res = await fetch("http://api.open-notify.org/astros.json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("http://api.open-notify.org/astros.json", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "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"
    }
  ],
  "number": 12,
  "message": "success"
}

Response fields

iss_position.latitudestring
Current latitude as a string — parse before using.
iss_position.longitudestring
Current longitude as a string.
timestampinteger
Unix timestamp of the reading.
messagestring
`success` when the request worked.

What you can build with the Open Notify ISS API

  • Plot the ISS live on a map and animate its path
  • Teach polling and real-time UI updates with genuinely changing data
  • Build a space education dashboard for classrooms
  • Trigger a notification when the station passes over a location

Common errors and how to fix them

Mixed content blocked

The endpoint is HTTP only.

Fix: Call it from your backend and proxy the result to an HTTPS front end.

Coordinates treated as strings

Latitude and longitude are returned as strings.

Fix: Parse them to numbers before plotting, or your map library will silently misplace the marker.

Open Notify ISS API — frequently asked questions

Is there a free API to track the ISS?

Yes. The Open Notify ISS API returns the station's live latitude and longitude with no API key required, updating in real time.

How often does the ISS position change?

Continuously — the station travels at about 7.66 km per second and orbits Earth roughly every 90 minutes, so the coordinates differ noticeably even a few seconds apart.

Why are the coordinates strings instead of numbers?

The API returns them as JSON strings. Parse them with parseFloat or equivalent before plotting, otherwise mapping libraries will misinterpret them.

Can I use this API on an HTTPS website?

Not directly — the endpoint is HTTP only, so browsers block it as mixed content. Fetch it server-side and pass the result to your front end.

Tools that pair with this API

Open Notify ISS is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-19; always check the official documentation before relying on this API in production, as terms and limits can change.