Open Notify ISS API
api.open-notify.org · Science
Real-time International Space Station location and crew data. Get the current lat/lon of the ISS and the names of astronauts in space right now. No API key required.
Authentication
Sample Requests
Get the current location (lat/lon) of the ISS.
Hover any highlighted part to learn what it does
curl -X GET "http://api.open-notify.org/iss-now.json"
import requests
response = requests.get(
"http://api.open-notify.org/iss-now.json",
)
print(response.json())const url = 'http://api.open-notify.org/iss-now.json'; const response = await fetch(url); const data = await response.json(); console.log(data);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "http://api.open-notify.org/iss-now.json"
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("http://api.open-notify.org/iss-now.json")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "http://api.open-notify.org/iss-now.json";
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Get the names and spacecraft of all people currently in space.
Hover any highlighted part to learn what it does
curl -X GET "http://api.open-notify.org/astros.json"
import requests
response = requests.get(
"http://api.open-notify.org/astros.json",
)
print(response.json())const url = 'http://api.open-notify.org/astros.json'; const response = await fetch(url); const data = await response.json(); console.log(data);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "http://api.open-notify.org/astros.json"
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("http://api.open-notify.org/astros.json")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "http://api.open-notify.org/astros.json";
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- No API key needed
- ISS location: GET http://api.open-notify.org/iss-now.json
- Astronauts: GET http://api.open-notify.org/astros.json
- Note: uses HTTP not HTTPS
What can you build with Open Notify ISS API?
Open Notify ISS API is a Science API. Developers commonly use science APIs for:
- accessing research datasets and scientific literature
- powering academic and R&D applications
- running scientific calculations and simulations
- visualising experimental and observational data
- integrating with research and reference databases
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Open Notify ISS API is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide