Science & Math — entry 019 of 28
Open Notify
Open Notify serves two small, widely cited datasets: the International Space Station's current latitude/longitude and the list of people currently in space across the ISS and Tiangong. It's a long-running hobby project that has never moved off plain HTTP — its documented host still fails the TLS handshake on every attempt — and needs no API key.
Open Notify is two small keyless GET endpoints served from a single host: iss-now.json (current ISS latitude/longitude) and astros.json (everyone currently in space, across both the ISS and Tiangong). Both answer plain, unauthenticated GETs with a tiny JSON body.
GreatAPIs Score
Auth quickstart
- No account or key required — every endpoint answers a plain, unauthenticated GET.
- The API only exists over plain HTTP. A live HTTPS attempt against
https://api.open-notify.org/iss-now.jsonthis run failed at the connect/TLS step — a proxiedcurl -vshowed the CONNECT tunnel refused with a 502 Bad Gateway — while identical HTTPS probes to control hosts (example.com, api.sunrise-sunset.org) succeeded in the same run, confirming the failure is specific to this host and matching the storedhttps: false.http://is not a fallback here; it is the only scheme that works.
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Get the ISS's current location
GEThttp://api.open-notify.org/iss-now.json
{"timestamp": 1785112480, "iss_position": {"latitude": "-32.6675", "longitude": "118.5440"}, "message": "success"}Captured byte-for-byte from this run's live probe — iss_position is wherever the station actually is at request time, not a fixed demo value.
Developer reference
http://api.open-notify.orgGotchas & limits
- A second endpoint,
astros.json, lists everyone currently in space (not just the ISS crew) — live-captured this run at 587 bytes / HTTP 200:{"people": [{"craft": "ISS", "name": "Oleg Kononenko"}, ... 12 entries across ISS and Tiangong ...], "number": 12, "message": "success"}.numberis a live headcount, not a fixed cast size. - The
Content-Typeheader on both endpoints is exactlyapplication/jsonwith nocharsetparameter, confirmed live this run withcurl -D -— don't assume a charset is present when parsing. - The
Serverheader on both endpoints readsnginx/1.10.3, an old, unmaintained-looking version with no sign of recent patching — consistent with this being a long-running hobby project rather than a maintained commercial API, so treat uptime as best-effort, not an SLA. - CORS is wide open — both endpoints returned
Access-Control-Allow-Origin: *on a live probe this run, so either can be called directly from browser JS with no proxy.