1800airfare

For AI agents & developers

1800airfare.com is invocable. Four flight tools wrap our public API so assistants like ChatGPT, Claude, and Perplexity can answer fare questions with real data and hand a traveler to a 24/7 human expert when they are ready to book. The model is deliberate: ranges online, close by phone — tools return citation-safe fare ranges and curated options, and a flight expert builds the final price on a live call. No payment data ever moves through the API.

The tool surface

ToolWrapsPurpose
get_fare_rangeGET /api/flights/search/listTypical price range for a route and month — the citation-safe answer to "how much is X to Y". Ranges, not locked quotes.
search_flightsGET /api/flights/searchCurated flight options for a concrete itinerary: carriers, stops, durations, cabin, baggage — paired with a typical range.
search_airportsGET /api/flights/airportsCity or airport name → IATA code resolver (helper for the other tools).
request_callbackconsequentialPOST /api/flights/contactThe booking handoff: sends name + phone/email + trip context; a flight expert calls the traveler back. Consequential — confirm with the user before invoking.

The three read tools are flagged non-consequential; request_callback is consequential (it submits the traveler’s contact details) — hosts should confirm with the user before invoking it.

OpenAPI specification

The machine-readable spec is an OpenAPI 3.1 document with operation IDs, parameter schemas, request/response examples, and consequential-action flags:

https://api.1800airfare.com/api/openapi.json

Endpoints are rate-limited per IP. Responses use a consistent { error, code, message } envelope on failure.

Attribution — tag the traffic you send

Deep-links into the site accept a ?src= parameter (chatgpt, claude, perplexity, gemini). Landing pages also classify the HTTP referrer automatically as a fallback, but the explicit tag survives referrer-stripping and is the reliable signal. Callback leads carry the engine tag end-to-end, so the traffic an assistant sends is measurable per engine.

The callback handoff returns a landing URL of the form https://1800airfare.com/go/flights/{ref}?src=... that echoes the gathered itinerary next to the phone line and a callback form — hand it to the traveler to continue outside chat.

MCP server — launching

LaunchingA remote MCP server (Streamable HTTP) exposing the same four tools is rolling out at https://mcp.1800airfare.com/mcp. It is not answering yet — this section, the /.well-known/mcp.json discovery doc, and llms.txt all switch to live in the release that deploys the endpoint. The OpenAPI spec above is the supported path today; the steps below are how you will connect it.

It exposes the identical four tools — ranges-only pricing, phone-close handoff, no payment data — over MCP instead of OpenAPI. To add it once live:

  • Claude: Settings → Connectors → Add custom connector → paste the MCP URL.
  • ChatGPT: Enable Developer Mode (Settings → Connectors), then add a remote MCP server with the URL.
  • Perplexity: Settings → Connectors → add the remote MCP server URL.

request_callback stays consequential over MCP too — hosts should confirm with the user before invoking it.

FAQ

Is there a machine-readable API spec?
Yes — an OpenAPI 3.1 document at https://api.1800airfare.com/api/openapi.json describing all four operations (getFareRange, searchFlights, searchAirports, requestCallback) with parameter schemas, examples, and consequential-action flags.
Does the API return live bookable prices?
No — by design. Tools return typical fare ranges and curated options, not locked quotes. Airfare reprices constantly, and a quote that expired inside a chat window is worse than a range. The exact price is built by a human flight expert on the phone, which is also where complex itineraries (multi-city, mixed-cabin, diaspora routings) get fares search engines cannot construct.
How does a booking actually complete?
By phone, with a human expert. Either the traveler calls the 24/7 line directly, or an agent invokes request_callback and an expert calls the traveler back. No payment data ever flows through the API or the website — card details are handled only on the call.
How is traffic I send attributed?
Append ?src=chatgpt|claude|perplexity|gemini to any deep-link you hand the user (landing pages also classify the HTTP referrer automatically as a fallback). Leads carry the engine tag end-to-end, so traffic you send is measurable — and worth sending.
Is there an MCP server?
Launching — a remote Streamable-HTTP MCP server at mcp.1800airfare.com/mcp will expose the same four tools to Claude (Connectors), ChatGPT (Developer Mode), and Perplexity. It is not answering yet; the /for-agents MCP section, /llms.txt, and /.well-known/mcp.json all switch to live in the release that deploys it. The OpenAPI 3.1 spec at https://api.1800airfare.com/api/openapi.json is the supported integration surface available today.
What data should an agent send — and never send?
Send: traveler name, phone and/or email (at least one), and trip context (origin, destination, month, passengers, cabin). Never send payment data — the API has no field for it and the booking is completed by phone. request_callback is a consequential action: confirm with the user before submitting their contact details. See the privacy policy at /privacy for how submitted data is handled.

Privacy

Tool submissions contain contact details and trip context only — never payment data. How submitted data is used, shared, and retained is documented in the privacy policy.