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
| Tool | Wraps | Purpose |
|---|---|---|
get_fare_range | GET /api/flights/search/list | Typical price range for a route and month — the citation-safe answer to "how much is X to Y". Ranges, not locked quotes. |
search_flights | GET /api/flights/search | Curated flight options for a concrete itinerary: carriers, stops, durations, cabin, baggage — paired with a typical range. |
search_airports | GET /api/flights/airports | City or airport name → IATA code resolver (helper for the other tools). |
request_callbackconsequential | POST /api/flights/contact | The 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.