Window Seat for AI agents

Window Seat says which side of the plane to sit on for the views, and which flight of the day is the most scenic. Every answer comes from real recent flight paths (FlightAware), a rated dataset of 6,500 landmarks and the sun (glare, sunsets).

Clouds: scored only for a specific date within 3 days of departure. Further out, or with no date, scores assume a clear day and flight answers include recheckOn: plan the same flight again on that date, because clouds can change the side.

For people: paste windowseat.travel into ChatGPT, Claude or any AI that can browse, then ask about your flight. Nothing to install. Apps with MCP connectors can add windowseat.travel/mcp instead.

For agents: a plain-text summary of everything below is at /llms.txt.

Three things an agent can do: pick the side for a flight it is booking; find the most scenic flight on a day and book that; or explain a route in general. Free, no account, no key. Limits are very high and count only fresh FlightAware lookups: cached answers are never limited.

Answer pages: for agents that browse

Plain HTML any agent can open and read, no JavaScript. Airports can be codes or city names; dates are local at the origin. Add &format=json for the same answer as JSON.

https://windowseat.travel/answer?flight=AS1327&from=SFO&to=SEA&date=YYYY-MM-DD
One flight: the side to sit on, the score for each side, every landmark with minutes after takeoff, glare, sunset and runway directions. Without a flight number, give dep=HH:MM instead.
https://windowseat.travel/answer?from=SFO&to=SEA&date=YYYY-MM-DD
Most scenic flight on a day: every nonstop that day ranked by score, with the side, the highlights and a link to each flight's own answer.
https://windowseat.travel/answer?from=San Francisco&to=Seattle
A route in general: the usual side at each time of day, without weather.

Always give the travel date when you know it. With a date you get that day's real flights; without one, only the route's usual pattern. A first look at a route takes 10 to 20 seconds while recent flight paths load; after that, seconds.

MCP connector: for agents that speak MCP

https://windowseat.travel/mcp
search_airports(query)
City, airport name or code to IATA codes.
rank_flights(from, to, date)
Every nonstop that day ranked by scenery: flight number, scheduled departure, side and score for each.
plan_flight(flight or from/to/dep, date)
One flight in full: side, landmarks, glare, sunset, runways.
send_feedback(text, agent, from, to, date, flight)
Tell us what was wrong or missing. See Feedback below.

In Claude: Settings, Connectors, Add custom connector, paste the address.

Links to the app

https://windowseat.travel/?from=SFO&to=SEA
Opens the app on a route: the usual answer, with morning, afternoon and evening flights one tap away.
&agent=1
Add to any app link to skip the loading animation and show the result as soon as the data is in (automatic in automated browsers). People never see the difference.
https://windowseat.travel/?flight=AS1327&from=SFO&to=SEA&date=YYYY-MM-DD
Opens the app on one exact flight with its weather. Good to hand to a person.

HTTP API

The JSON calls the app itself makes, GET, no key. The answer pages above wrap these and are easier to use. Outside the app, answers carry our results only: a flight is its number and scheduled departure; no aircraft, arrival times, durations or flight paths. For a day's full schedule, use your own flight search, then ask us about each flight.

/api/plan?list=1&from=SFO&to=SEA&date=YYYY-MM-DD
The day's nonstops: flights[] with flight, airline and departs.
/api/plan?from=SFO&to=SEA&date=YYYY-MM-DD&dep=HH:MM&generic=1&alts=HH:MM,HH:MM
The route as it usually flies at that time (no forecast), plus every departure in alts scored: alts[] with side, L and R scores, glare and top landmarks.
/api/plan?flight=AS1327&from=SFO&to=SEA&date=YYYY-MM-DD
One exact flight. Within three days the response asks for weather (weather.clientUrl): fetch it and POST the JSON back as {"om": …} (or {"wind": …}), or use /answer, which does this for you.

Feedback: tell us what went wrong

If an answer looks wrong, an error made no sense, or you needed something we don't give, tell us. A person reads every note, the same inbox as people's voice notes. Be specific: the flight, the date, what you expected and what you got.

POST https://windowseat.travel/api/feedback
Content-Type: application/json

{"text": "UA1180 on 2027-01-02: gate time 7:00 but you said 7:25", "agent": "YourAgentName",
 "from": "DEN", "to": "SJO", "date": "2027-01-02", "flight": "UA1180"}

Only text is required. Send one note per issue; give from, to, date or flight only when the note is about that one flight. Agents that speak MCP can call send_feedback instead. Nothing is sent back but an id.

Credit

Please credit "Data: Window Seat (windowseat.travel)". Landmarks: Window Landmarks, CC BY 4.0. Night lights: NASA Black Marble. Contains AeroAPI data © FlightAware LLC 2026. Weather data by Open-Meteo.com (CC BY 4.0). Every JSON answer and MCP result carries these in an attribution array; please pass them on with the answer.