LIVE FLIGHT SEARCH — NOT BOOKABLE
FareHawk

Agent-native travel decisions

Use FareHawk through MCP or REST.

The agent endpoint and web app use the same bounded search, scoring, freshness, and disclosure model. Both are search-only: no booking, payment, or checkout.

Streamable HTTP

MCP endpoint

https://mcp-demo.farehawk.io/mcp

Send MCP protocol requests with a FareHawk API key in the Authorization bearer header.

Custom GPT Actions

REST fallback

https://api-staging-ed85.up.railway.app/api

Import the generated OpenAPI document into a custom GPT Action.

OpenAPI JSON

MCP tool reference

Minimum supported tools

search_flightsorigin, destination, depart_date, return_date, adults, child_ages, cabin, max_stops, budget_usd, flexible_days
compare_planssearch_id, plan_ids (2–3)
create_watchsearch_id, trigger, consent
list_watchesNo parameters
get_preferencesNo parameters

Works without an API key

Try a REST flight search

curl --request POST 'https://api-staging-ed85.up.railway.app/api/search_flights' \
  --header 'content-type: application/json' \
  --data '{"origin":"LAX","destination":"LHE","depart_date":"2026-11-05","return_date":"2026-11-26","adults":2,"child_ages":[],"cabin":"economy","max_stops":1,"flexible_days":0}'

This public search endpoint is rate-limited and returns current configured Duffel data. Saved watches and preferences require a key.

Claude MCP client

Copy this server config

{
  "mcpServers": {
    "farehawk": {
      "type": "http",
      "url": "https://mcp-demo.farehawk.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_FAREHAWK_API_KEY"
      }
    }
  }
}

Example response shape

Ranked plans stay explainable

Example only: the numeric values below are illustrative documentation, not a fare or availability claim. Runtime prices always come from the configured Duffel response.

{
  "search_id": "search_example",
  "provider_mode": "live",
  "state": "complete",
  "plans": [
    {
      "plan_id": "plan_example",
      "known_total": {
        "amount_minor": 123400,
        "currency": "USD"
      },
      "per_person_minor": 61700,
      "score": 86,
      "dimensions": {
        "cash": 91,
        "friction": 78,
        "fit": 88,
        "confidence": 90
      },
      "fresh_at": "2026-09-20T00:00:00.000Z",
      "disclosure": "If you book through this link, FareHawk may earn a commission at no extra cost to you."
    }
  ]
}

Authentication and limits

Request a scoped API key

Private-beta keys use bearer authentication and grant only the requested search, read, watch, or preference scopes. The public search endpoint and MCP service are limited to 120 requests per minute per client; provider calls are additionally capped per search.

Request access