API

Developers

Seat map API and MCP

FlightSeatmap exposes cached and live aircraft seat maps over MCP and HTTP. Live availability is fetched from airline booking systems. Commercial use needs Enterprise ($99/month).

106 airlines and 859 aircraft configurations in the current database.

MCP tools

Endpoint https://mcp.flightseatmap.com/mcp. OAuth is required on every request. A free account can read flights already cached. A paid plan unlocks live search and alerts. Install notes are on /mcp. The public server repository is github.com/FlightSeatmap/mcp.

  • get_seatmap, find_best_seats, get_seat_info, get_seat_reviews, interactive_seat_finder — cached flights, any signed-in account
  • search_flight — scope search. Fetches a flight that is not cached. Uses a paid plan or a flight unlock
  • list_seat_alerts — scope read. create_seat_alert and delete_seat_alert — scope write
  • discover_more_flight_tools and home — the seat map browser and links to sibling travel tools

HTTP endpoints

GET /api/v1/seatmaps/:flight_number

One live seat map, paid per call with the x402 protocol. No account. The price is the same $2.99 unlock as the website. Optional date=YYYY-MM-DD. GET /api/v1 returns the payment terms (HTTP 402) and does not return seat data.

POST /api/seatmaps/search

Authenticated search used by the mobile app. Send Authorization: Bearer with the JWT from POST /api/auth/login. A cached flight is returned without spending a search. A new import uses the account's monthly search allowance.

GET /api/chatgpt/…

Cached reads, no auth: /api/chatgpt/search_flights, /api/chatgpt/seatmap/:flight_number, /api/chatgpt/seat_recommendations/:flight_number, /api/chatgpt/airlines, /api/chatgpt/airlines/:iata, /api/chatgpt/airports, /api/chatgpt/routes. These do not trigger a live import.

Auth and plan limits

  • MCP: OAuth 2.1 bearer token. Scopes are search, read, and write. A write token also satisfies read.
  • Mobile search: JWT from POST /api/auth/login, /api/auth/signup, or /api/auth/oauth.
  • Machine calls to /api/v1 pay with x402. They are not included in a subscription.
  • Enterprise ($99/month) is the commercial licence: unlimited searches, unlimited live checks, 25 seat alerts. Personal use of MCP on a free or Frequent Flyer account is allowed. Commercial use is not.

Rate limits

These are the Rack::Attack limits, per IP, on top of each account's monthly allowance.

  • GET /api/seatmaps/:id — 5 per minute and 50 per day. This route is not a public integration; it requires an internal key and otherwise responds 404.
  • POST /api/seatmaps/search — 5 per minute
  • GET /api/v1 — 20 per minute
  • GET /api/chatgpt — 30 per minute
  • POST /api/auth/login — 10 per minute. POST /api/auth/signup — 5 per hour. POST /api/auth/oauth — 20 per minute

Sample response

Shape returned by the MCP seat map tools and by GET /api/v1/seatmaps/:flight_number. Seat status is available, blocked, or another airline status. source is the system that supplied the map, or a stored layout when the airline did not publish live seats.

{
  "flightNumber": "BA117",
  "airline": "British Airways",
  "airlineCode": "BA",
  "origin": "LHR",
  "destination": "JFK",
  "aircraftName": "Boeing 777-300ER",
  "aircraftCode": "77W",
  "totalSeats": 2,
  "availableSeats": 1,
  "decks": [
    {
      "deck": "main",
      "seats": [
        { "number": "14A", "cabin": "economy", "features": ["window"], "status": "available" },
        { "number": "14B", "cabin": "economy", "features": ["middle"], "status": "blocked" }
      ]
    }
  ],
  "source": "layout",
  "url": "https://flightseatmap.com/flights/BA117"
}

Data freshness

A search that is not already cached asks airline booking systems for a seat map. AwardTool and Lufthansa supply a cabin layout only, with no live availability. Stored layouts are kept on the flight and shown when no provider publishes seats.

How this compares

A short note on products people ask about in the same breath. It only states what this codebase does.

Product What we can say
FlightSeatmap Traveler site plus an Enterprise licence for MCP and API. Live seats come from airline booking systems when a flight is checked.
SeatMaps.com / Quicket A separate seat map product. See the SeatMaps.com comparison for the figures we have checked. This page does not restate their price or coverage.
Travelport A GDS. FlightSeatmap does not call Travelport for seat maps.
Aviation Edge An aviation data API. FlightSeatmap does not use it as a seat map source.