NASA API: Get ISS sightings
Finds upcoming International Space Station sightings for a city in NASA's city list, with local start times, visibility and sky directions. Cities without scheduled passes return an empty list.
Unofficial. Not affiliated with or endorsed by NASA.
Inputs
Values from the run on Nov 3, 2026, shown under Output.
- City, required
city City followed by its state or country, for example Chicago, Illinois or Manchester, United Kingdom.
Chicago, Illinois
- Max Results optional
max_results Maximum number of upcoming sightings to return, for example 10.
30
Whole number from 1 to 30. Default
10.
Input as JSON
{ "city": "Chicago, Illinois", "max_results": 30}Output
{ "sightings": [ { "date": "2026-11-03", "appears": "23° above SE", "page_link": "https://iss-sts.hqmce.nasa.gov/iss-sts-cities-html/United_States-Illinois-Chicago.html" , "disappears": "10° above SE", "local_start_time": "2026-11-03T04:12:00-06:00", "maximum_height_degrees": 23, "visible_duration_minutes": 1 }, { "date": "2026-11-04", "appears": "15° above SSW", "page_link": "https://iss-sts.hqmce.nasa.gov/iss-sts-cities-html/United_States-Illinois-Chicago.html" , "disappears": "10° above S", "local_start_time": "2026-11-04T05:00:00-06:00", "maximum_height_degrees": 15, "visible_duration_minutes": 1 }, { "date": "2026-11-10", "appears": "10° above SW", "page_link": "https://iss-sts.hqmce.nasa.gov/iss-sts-cities-html/United_States-Illinois-Chicago.html" , "disappears": "30° above SSW", "local_start_time": "2026-11-10T18:30:00-06:00", "maximum_height_degrees": 30, "visible_duration_minutes": 2 } ], "matched_city": "Chicago, Illinois, United States"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"nasa.gov/get_iss_sightings","input":{"city":"Chicago, Illinois","max_results":30}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "nasa.gov/get_iss_sightings" , "input": { "city": "Chicago, Illinois", "max_results": 30 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "nasa.gov/get_iss_sightings" , "input": { "city": "Chicago, Illinois", "max_results": 30 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run nasa.gov/get_iss_sightings# with {"city":"Chicago, Illinois","max_results":30}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "city" ], "properties": { "city": { "type": "string", "description": "City followed by its state or country, for example Chicago, Illinois or Manchester, United Kingdom." }, "max_results": { "type": "integer", "default": 10, "maximum": 30, "minimum": 1, "description": "Maximum number of upcoming sightings to return, for example 10." } }}Output schema
{ "type": "object", "required": [ "matched_city", "sightings" ], "properties": { "sightings": { "type": "array", "items": { "type": "object", "required": [ "date", "local_start_time", "visible_duration_minutes", "maximum_height_degrees", "appears", "disappears", "page_link" ], "properties": { "date": { "type": "string", "format": "date" }, "appears": { "type": "string" }, "page_link": { "type": "string", "format": "uri" }, "disappears": { "type": "string" }, "local_start_time": { "type": "string", "format": "date-time" }, "maximum_height_degrees": { "type": "integer" }, "visible_duration_minutes": { "type": "integer" } }, "additionalProperties": false } }, "matched_city": { "type": "string", "description": "Matched city and region or country." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
nasa.gov/get_iss_sightings- Returns
- matched city, and for each sighting its date, local start time, visible duration, maximum height, and where it appears and disappears
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method nasa.gov/get_iss_sightings with the inputs above.
Ask your agent
- When can I next see the International Space Station from Denver, Colorado? I need start times and how high it gets.
- Show me upcoming ISS passes over Manchester, United Kingdom with visible duration and where it rises and sets.
- Are there any space station sightings in Austin, Texas this week? List up to 5 with sky directions.
- What are the next 15 times the ISS will be visible above Toronto, Ontario, and from which direction does it appear?
- Give me the upcoming station flyovers for Sydney, Australia, including maximum altitude and disappearance point on nasa.gov.
See more
All NASA methodsList EONET natural events with latest observations in the past number of days, most recent first. A country or region filter matches reported event locations against mapped boundaries; locations and ongoing status are approximate, and not all events have a reported size or strength.
nasa.gov/list_natural_eventsReturns NASA's Astronomy Picture of the Day for a date: title, explanation, featured media link, optional high-resolution link, and credit.
nasa.gov/get_astronomy_picture_of_the_dayLists near-Earth asteroids that pass Earth between two UTC dates within a chosen distance, with approach times, size ranges, speed and hazard status.
nasa.gov/list_near_earth_asteroidsSearches NASA public photos, videos or audio by words and creation year, returning matches in relevance order with thumbnails and full-size file links.
nasa.gov/search_imagesLists upcoming rocket launches worldwide, with launch windows in UTC and local site time. Results can be filtered by company, country or launch site.
thespacedevs.com/list_upcoming_launchesFinds a launch by mission or rocket name. Picks the next upcoming match, otherwise the most recent past match, and returns its details.
thespacedevs.com/get_launchGets the current local time, time zone, and next daylight saving change for a city listed on Time and Date. Add a state or country to distinguish cities with the same name.
timeanddate.com/get_time_in_cityGets the 30-minute chance of aurora overhead near a place, current geomagnetic activity, and the three-day Kp outlook. Visibility also depends on darkness and local conditions; tonight uses approximate local solar hours 18:00-06:00.
swpc.noaa.gov/get_aurora_forecast