{
  "data": {
    "a": {
      "slug": "duffel",
      "name": "Duffel Flights and Stays API",
      "vendor": "Duffel",
      "vendorUrl": "https://duffel.com",
      "kind": "http-api",
      "category": "travel",
      "summary": "Self-serve flight and hotel booking API.",
      "url": "https://www.anchorterminal.com/tools/duffel",
      "markdownUrl": "https://www.anchorterminal.com/tools/duffel.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/duffel.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/duffel.json",
      "repo": "https://github.com/duffelhq/duffel-api-javascript",
      "license": "MIT (SDK)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.duffel.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@duffel/api"
        },
        {
          "registry": "pypi",
          "name": "duffel-api"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer access token from the dashboard (Developers, then Access tokens), plus a `Duffel-Version: v2` header on every call. Test and live tokens are separate and come from the same page. Every response carries an `x-request-id` for support.",
      "pricing": "usage",
      "pricingNotes": "Pay as you go with no set-up cost. Flights are $3.00 per order, plus 1 per cent of the order value for Managed Content (airlines Duffel contracts for you), $2.00 per paid ancillary, 2 per cent on currency conversion and $0.005 per search once you pass a 1,500 to 1 search to book ratio. Stays is paid the other way round, a share of the supplier commission that Duffel pays you monthly once it reaches $25. Enterprise is bespoke (https://duffel.com/pricing).",
      "priceSummary": "$3 / tx",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 55,
        "npmWeekly": 87322,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://duffel.com/docs",
      "capabilities": [
        "travel.flights",
        "travel.stays",
        "travel.booking",
        "travel.changes",
        "travel.search"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "usage-priced",
        "typescript",
        "webhooks",
        "enterprise",
        "uk"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.7,
        "grade": "B",
        "agentReady": false,
        "rank": 230,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 92,
          "payments": 40,
          "reliability": 70,
          "schema": 59,
          "security": 60,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Self-serve sign-up and test mode with no card or contract. No OpenAPI document, llms.txt or official MCP server.",
        "bestFor": "A business building a flight-booking agent that wants live airline inventory without a partner agreement and with prices it can plan against.",
        "strengths": [
          "Self-serve sign-up and test mode with no card or contract",
          "Published prices, $3.00 an order, $2.00 a paid ancillary, $0.005 per search above 1,500 to 1",
          "Orders, holds, changes, cancellations, seats and bags in one API, with a versioning policy that keeps old versions for 6 months",
          "Statuspage with per-supplier components and a public changelog updated 28 September",
          "PCI DSS v4 Level 1, a vulnerability disclosure programme and a trust centre"
        ],
        "weaknesses": [
          "No OpenAPI document, llms.txt or official MCP server",
          "Default rate limit of 60 requests a minute, which Duffel says can change without notice",
          "Searches above 1,500 per order cost $0.005 each and can get you capped under the services agreement",
          "Python SDK archived; TypeScript is the only maintained SDK",
          "No SLA published for pay-as-you-go or enterprise"
        ],
        "agentNotes": [
          "Send `Duffel-Version: v2` on every request or you get a version error",
          "Fetch the single offer again right before creating the order, since an offer goes stale within minutes",
          "Set a 130-second timeout on order creation, and treat a 202 as processing rather than retrying, or you risk a duplicate",
          "Read `ratelimit-remaining` before fanning out searches; the default is 60 requests per 60 seconds",
          "Count offer requests. Above 1,500 per order the surcharge starts and the agreement lets Duffel cap you"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.7
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 92,
          "payments": 40,
          "reliability": 70,
          "schema": 59,
          "security": 60,
          "transparency": 63
        },
        "provenanceScore": 86
      },
      "connect": {
        "install": "npm install @duffel/api",
        "http": "curl -X POST https://api.duffel.com/air/offer_requests?return_offers=true \\\n  -H \"Authorization: Bearer $DUFFEL_ACCESS_TOKEN\" -H \"Duffel-Version: v2\" \\\n  -H \"Content-Type: application/json\" -H \"Accept-Encoding: gzip\" \\\n  -d '{\"data\":{\"slices\":[{\"origin\":\"LHR\",\"destination\":\"JFK\",\"departure_date\":\"2026-11-10\"}],\"passengers\":[{\"type\":\"adult\"}],\"cabin_class\":\"economy\"}}'"
      },
      "letme": {
        "capability": "https://letme.dev/travel.flights",
        "tool": "https://letme.dev/duffel"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Flight order",
          "unit": "tx",
          "usd": 3,
          "note": "per confirmed order, billed monthly"
        },
        {
          "item": "Managed Content",
          "unit": "pct",
          "usd": 1,
          "note": "of total order value, airlines Duffel contracts for you"
        },
        {
          "item": "Paid ancillary",
          "unit": "tx",
          "usd": 2,
          "note": "bags, seats and similar"
        },
        {
          "item": "Excess search",
          "unit": "call",
          "usd": 0.005,
          "note": "above a 1,500 to 1 search to book ratio"
        },
        {
          "item": "Foreign exchange",
          "unit": "pct",
          "usd": 2,
          "note": "on the exchange rate"
        }
      ],
      "provenance": {
        "legalEntity": "Duffel Technology Limited",
        "domain": "duffel.com",
        "domainRegistered": "2000-05-02",
        "domainNote": "duffel.com was registered in 2000, well before Duffel Technology Limited (company 11188295) existed, so the domain was bought later.",
        "endpointOnVendorDomain": true,
        "terms": "https://duffel.com/services-agreement",
        "privacy": "https://duffel.com/privacy-policy",
        "statusPage": "https://www.duffelstatus.com",
        "changelog": "https://changelog.duffel.com",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Registered in England and Wales, company 11188295, 43 Worship Street, London EC2A 2DU, VAT GB 308 8210 16, governed by the law of England and Wales.",
          "You carry airline debit memos, chargebacks and penalties on your orders under the services agreement.",
          "duffel.com/.well-known/security.txt returns 404."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/duffel.json",
      "live": {
        "slug": "duffel",
        "probe": {
          "target": "https://api.duffel.com",
          "method": "get",
          "lastAt": "2026-10-08T21:12:09.279290827Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 78,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 72,
          "p95ms24h": 136,
          "samples24h": 271,
          "samples30d": 1955,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 239,
              "ok": 239
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.duffelstatus.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:00.969072161Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "duffelhq/duffel-api-javascript",
            "version": "v4.31.0",
            "released": "2026-10-08",
            "seenAt": "2026-10-08T16:09:31.348598589Z"
          },
          {
            "registry": "npm",
            "name": "@duffel/api",
            "version": "4.31.0",
            "seenAt": "2026-10-08T16:09:27.946038988Z"
          },
          {
            "registry": "pypi",
            "name": "duffel-api",
            "version": "0.6.2",
            "released": "2023-10-02",
            "seenAt": "2026-10-08T16:09:31.154417537Z"
          }
        ],
        "githubStars": 59,
        "npmWeekly": 97933,
        "pypiWeekly": 921,
        "securityTxt": {
          "url": "https://duffel.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:39:09.51521985Z"
        },
        "domain": {
          "domain": "duffel.com",
          "registered": "2000-05-02",
          "source": "https://rdap.verisign.com/com/v1/domain/duffel.com",
          "checkedAt": "2026-10-04T13:06:44.746625158Z"
        },
        "pages": [
          {
            "url": "https://changelog.duffel.com",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:16:08.325859118Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "75a7bddb7ffc"
          },
          {
            "url": "https://duffel.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:20:00.481272997Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "39d641ebc750"
          },
          {
            "url": "https://duffel.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:20:02.561645302Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1ce367e797bc"
          },
          {
            "url": "https://duffel.com/services-agreement",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:20:04.550314659Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "627df7899683"
          }
        ],
        "updatedAt": "2026-10-08T21:12:09.279290827Z"
      }
    },
    "answer": "Duffel Flights and Stays API scores 66.7 (B) on agent readiness against Kiwi.com MCP Server's 51.9 (D), and leads in 6 of 7 scored categories. Kiwi.com MCP Server leads on payments \u0026 pricing.",
    "b": {
      "slug": "kiwi-mcp",
      "name": "Kiwi.com MCP Server",
      "vendor": "Kiwi.com s.r.o.",
      "vendorUrl": "https://www.kiwi.com",
      "kind": "mcp",
      "category": "travel",
      "summary": "Kiwi.com's remote MCP server searches the travel agency's flight inventory for one-way and return trips. It needs no account or key, and each result carries a link to book on kiwi.com.",
      "url": "https://www.anchorterminal.com/tools/kiwi-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/kiwi-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/kiwi-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/kiwi-mcp.json",
      "repo": "https://github.com/alpic-ai/kiwi-mcp-server-public",
      "license": "Proprietary hosted service. The public repository holds only a README and has no licence file",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.kiwi.com",
      "packages": [],
      "auth": "none",
      "authNotes": "No credentials. `https://mcp.kiwi.com` answered `initialize`, `tools/list` and `tools/call` with no key, token or session header on 8 October 2026, and `/.well-known/oauth-protected-resource` returns 404. Access is self-serve by adding the URL to an MCP client.",
      "pricing": "free",
      "pricingNotes": "Free to call, with no account, card or sandbox step, as observed on 8 October 2026. No page states a price or a usage limit for the server. Travellers pay the fare on kiwi.com after following a result's booking link, under Kiwi.com's terms and conditions (https://www.kiwi.com/en/pages/content/legal/).",
      "priceSummary": "Free",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README or in the server's responses, which need no payment (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 2,
      "popularity": {
        "githubStars": 12,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://github.com/alpic-ai/kiwi-mcp-server-public",
      "capabilities": [
        "travel.flights",
        "travel.search"
      ],
      "tags": [
        "hosted",
        "mcp",
        "no-auth",
        "free",
        "flights",
        "search-only",
        "status-page",
        "bug-bounty"
      ],
      "lastRelease": "2025-08-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 51.9,
        "grade": "D",
        "agentReady": false,
        "rank": 571,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 13,
          "payments": 55,
          "reliability": 45,
          "schema": 55,
          "security": 54,
          "transparency": 66
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "A keyless flight search with one typed, read-only tool, 47 filters and a booking link on every itinerary. It can't book, hold, change or cancel, and it has no published rate limits, changelog, terms or version. Each search returns 15 itineraries with no way to ask for fewer.",
        "bestFor": "An assistant that looks up fares and hands the user a link to book on kiwi.com, with no setup.",
        "strengths": [
          "No account, key or OAuth. An `initialize` and a `tools/call` to `https://mcp.kiwi.com` answered without credentials on 8 October 2026",
          "`search-flight` carries a typed input schema with 47 properties, three of them required, and an output schema",
          "Both tools carry annotations. `search-flight` is marked read-only and idempotent",
          "City and airport names are resolved by the server, so no separate location lookup is needed",
          "Kiwi.com publishes a security.txt, a disclosure policy and a HackerOne bug bounty"
        ],
        "weaknesses": [
          "Search only. Booking, payment, changes and cancellations happen on kiwi.com through the `bookingUrl` in each result",
          "No rate limits, 429 guidance, SLA, changelog or deprecation policy found, and `serverInfo.version` is empty",
          "No result limit or pagination. Two searches returned 15 itineraries each, 25 KB and 34 KB of text, repeated in `structuredContent`",
          "Validation failures come back as a raw Pydantic message in an `error` field with `isError` false",
          "No terms name the MCP server, and the privacy policy's stated scope is the website and mobile apps",
          "The public repository is a README last changed on 7 August 2025, with no licence, and it omits the second tool and most filters"
        ],
        "agentNotes": [
          "POST to `https://mcp.kiwi.com` itself. `/mcp` returns 404, and responses arrive as `text/event-stream` even for a single reply",
          "Send dates as dd/mm/yyyy and set `currency`, which defaults to EUR",
          "Check the `error` field of every result. A rejected input returns `resultsCount` 0 with `isError` false",
          "Narrow with `price_to`, `max_sector_stopovers` and `sort`. There is no limit parameter and each search returns 15 itineraries",
          "Give the user `bookingUrl` to book. Don't call `feedback-to-devs` with user data, because it sends free text to Kiwi.com"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 51.9
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 13,
          "payments": 55,
          "reliability": 45,
          "schema": 55,
          "security": 54,
          "transparency": 44
        },
        "provenanceScore": 87
      },
      "connect": {
        "claudeCode": "claude mcp add --transport http kiwi-com-flight-search https://mcp.kiwi.com",
        "config": {
          "mcpServers": {
            "kiwi-com-flight-search": {
              "url": "https://mcp.kiwi.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/travel.flights",
        "tool": "https://letme.dev/kiwi-mcp"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Kiwi.com s.r.o.",
        "domain": "kiwi.com",
        "domainRegistered": "1994-11-23",
        "endpointOnVendorDomain": true,
        "terms": "https://www.kiwi.com/en/pages/content/legal/",
        "privacy": "https://www.kiwi.com/en/pages/content/privacy/",
        "statusPage": "https://status.kiwi.com",
        "changelog": "",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The terms and conditions and the privacy policy name Kiwi.com s.r.o., Rohanské nábřeží 678/25, 186 00 Prague 8-Karlín, Czech Republic, company ID 29352886. US consumers contract with Kiwi.com, Inc. of Fort Lauderdale, Florida.",
          "No terms name the MCP server. `terms` points at the booking terms and conditions (applying from 11 August 2026), which govern what a user buys through a booking link. The website's terms of use (effective 30 June 2026) are a separate page and forbid commercial use of the website.",
          "The privacy policy (effective 7 September 2026) states its scope as the website and the mobile apps and doesn't mention the MCP server.",
          "www.kiwi.com/.well-known/security.txt gives a contact, a policy page and a HackerOne programme and has no Expires field. mcp.kiwi.com/.well-known/security.txt returns 404.",
          "The README repository is under the alpic-ai GitHub organisation, not a Kiwi.com one, and names Kiwi.com as author.",
          "RDAP for kiwi.com gives a registration date of 1994-11-23."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/kiwi-mcp.json",
      "live": {
        "slug": "kiwi-mcp",
        "probe": {
          "target": "https://mcp.kiwi.com",
          "method": "mcp-initialize",
          "lastAt": "2026-10-08T21:12:12.986574139Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 181,
          "lastNote": "initialize answered",
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 152,
          "p95ms24h": 202,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.kiwi.com",
          "indicator": "minor",
          "summary": "Minor Service Outage",
          "checkedAt": "2026-10-08T21:06:10.463552178Z"
        },
        "updatedAt": "2026-10-08T21:12:12.986574139Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Duffel",
        "b": "Kiwi.com s.r.o.",
        "name": "Vendor"
      },
      {
        "a": "https://api.duffel.com",
        "b": "https://mcp.kiwi.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "$3 per transaction",
        "b": "free",
        "name": "Price for travel flights"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (SDK)",
        "b": "Proprietary hosted service. The public repository holds only a README and has no licence file",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "2",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-28",
        "b": "2025-08-07",
        "name": "Last release"
      },
      {
        "a": "2026-06-17",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-06-17",
        "b": "2026-09-07",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "55 stars, 87k npm/wk",
        "b": "12 stars",
        "name": "Popularity"
      },
      {
        "a": "4/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Duffel Flights and Stays API scores 66.7 (B) on agent readiness against Kiwi.com MCP Server's 51.9 (D), and leads in 6 of 7 scored categories. Kiwi.com MCP Server leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Duffel Flights and Stays API or Kiwi.com MCP Server?"
      },
      {
        "answer": "Kiwi.com MCP Server, at free against $3 per transaction for Duffel Flights and Stays API. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for travel flights, Duffel Flights and Stays API or Kiwi.com MCP Server?"
      },
      {
        "answer": "Duffel Flights and Stays API needs an API key. Kiwi.com MCP Server needs no key.",
        "question": "Do Duffel Flights and Stays API and Kiwi.com MCP Server need an API key?"
      },
      {
        "answer": "Yes. Duffel Flights and Stays API has a hosted endpoint at https://api.duffel.com and Kiwi.com MCP Server at https://mcp.kiwi.com.",
        "question": "Can an agent call Duffel Flights and Stays API and Kiwi.com MCP Server without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 70 against 45",
          "Agent ergonomics, 80 against 66",
          "Security \u0026 auth, 60 against 54",
          "Maintenance \u0026 community, 92 against 13",
          "Transparency \u0026 trust, 75 against 66"
        ],
        "also": null,
        "goodFor": "A business building a flight-booking agent that wants live airline inventory without a partner agreement and with prices it can plan against.",
        "slug": "duffel",
        "watchFor": "No OpenAPI document, llms.txt or official MCP server"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 55 against 40"
        ],
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "An assistant that looks up fares and hands the user a link to book on kiwi.com, with no setup.",
        "slug": "kiwi-mcp",
        "watchFor": "Search only. Booking, payment, changes and cancellations happen on kiwi.com through the `bookingUrl` in each result"
      }
    ],
    "job": {
      "capability": "travel.flights",
      "name": "Travel flights"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-duffel.json",
        "title": "Booking.com Demand API vs Duffel Flights and Stays API",
        "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-duffel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/duffel-vs-expedia-rapid.json",
        "title": "Duffel Flights and Stays API vs Expedia Group Rapid API",
        "url": "https://www.anchorterminal.com/compare/duffel-vs-expedia-rapid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/duffel-vs-hotelbeds.json",
        "title": "Duffel Flights and Stays API vs Hotelbeds Hotel Booking API",
        "url": "https://www.anchorterminal.com/compare/duffel-vs-hotelbeds"
      },
      {
        "json": "https://www.anchorterminal.com/compare/duffel-vs-ratehawk.json",
        "title": "Duffel Flights and Stays API vs ETG API (RateHawk)",
        "url": "https://www.anchorterminal.com/compare/duffel-vs-ratehawk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/duffel-vs-flightclaw.json",
        "title": "Duffel Flights and Stays API vs FlightClaw",
        "url": "https://www.anchorterminal.com/compare/duffel-vs-flightclaw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/duffel-vs-letsfg.json",
        "title": "Duffel Flights and Stays API vs LetsFG",
        "url": "https://www.anchorterminal.com/compare/duffel-vs-letsfg"
      },
      {
        "json": "https://www.anchorterminal.com/compare/duffel-vs-liteapi.json",
        "title": "Duffel Flights and Stays API vs LiteAPI (Nuitee Connect)",
        "url": "https://www.anchorterminal.com/compare/duffel-vs-liteapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/duffel-vs-skyscanner.json",
        "title": "Duffel Flights and Stays API vs Skyscanner Travel APIs",
        "url": "https://www.anchorterminal.com/compare/duffel-vs-skyscanner"
      },
      {
        "json": "https://www.anchorterminal.com/compare/duffel-vs-travelport.json",
        "title": "Duffel Flights and Stays API vs Travelport TripServices APIs",
        "url": "https://www.anchorterminal.com/compare/duffel-vs-travelport"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flightclaw-vs-kiwi-mcp.json",
        "title": "FlightClaw vs Kiwi.com MCP Server",
        "url": "https://www.anchorterminal.com/compare/flightclaw-vs-kiwi-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-letsfg.json",
        "title": "Kiwi.com MCP Server vs LetsFG",
        "url": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-letsfg"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-liteapi.json",
        "title": "Kiwi.com MCP Server vs LiteAPI (Nuitee Connect)",
        "url": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-liteapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-skyscanner.json",
        "title": "Kiwi.com MCP Server vs Skyscanner Travel APIs",
        "url": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-skyscanner"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-travelport.json",
        "title": "Kiwi.com MCP Server vs Travelport TripServices APIs",
        "url": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-travelport"
      },
      {
        "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-kiwi-mcp.json",
        "title": "Booking.com Demand API vs Kiwi.com MCP Server",
        "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-kiwi-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/expedia-rapid-vs-kiwi-mcp.json",
        "title": "Expedia Group Rapid API vs Kiwi.com MCP Server",
        "url": "https://www.anchorterminal.com/compare/expedia-rapid-vs-kiwi-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hotelbeds-vs-kiwi-mcp.json",
        "title": "Hotelbeds Hotel Booking API vs Kiwi.com MCP Server",
        "url": "https://www.anchorterminal.com/compare/hotelbeds-vs-kiwi-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-ratehawk.json",
        "title": "Kiwi.com MCP Server vs ETG API (RateHawk)",
        "url": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-ratehawk"
      }
    ],
    "scores": [
      {
        "by": 25,
        "duffel": 70,
        "edge": "duffel",
        "key": "reliability",
        "kiwi-mcp": 45,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "duffel": 59,
        "edge": "duffel",
        "key": "schema",
        "kiwi-mcp": 55,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 14,
        "duffel": 80,
        "edge": "duffel",
        "key": "ergonomics",
        "kiwi-mcp": 66,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 6,
        "duffel": 60,
        "edge": "duffel",
        "key": "security",
        "kiwi-mcp": 54,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 15,
        "duffel": 40,
        "edge": "kiwi-mcp",
        "key": "payments",
        "kiwi-mcp": 55,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 79,
        "duffel": 92,
        "edge": "duffel",
        "key": "maintenance",
        "kiwi-mcp": 13,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 9,
        "duffel": 75,
        "edge": "duffel",
        "key": "transparency",
        "kiwi-mcp": 66,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Duffel Flights and Stays API scores 66.7 (B) on agent readiness against Kiwi.com MCP Server's 51.9 (D), and leads in 6 of 7 scored categories. Kiwi.com MCP Server leads on payments \u0026 pricing. Both do travel flights.",
    "verdicts": {
      "duffel": "Self-serve sign-up and test mode with no card or contract. No OpenAPI document, llms.txt or official MCP server.",
      "kiwi-mcp": "A keyless flight search with one typed, read-only tool, 47 filters and a booking link on every itinerary. It can't book, hold, change or cancel, and it has no published rate limits, changelog, terms or version. Each search returns 15 itineraries with no way to ask for fewer."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/duffel-vs-kiwi-mcp",
    "json": "https://www.anchorterminal.com/compare/duffel-vs-kiwi-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/duffel-vs-kiwi-mcp.md",
    "slim": "https://www.anchorterminal.com/compare/duffel-vs-kiwi-mcp.min.md"
  },
  "markdown": "Duffel Flights and Stays API scores 66.7 (B) on agent readiness against Kiwi.com MCP Server's 51.9 (D), and leads in 6 of 7 scored categories. Kiwi.com MCP Server leads on payments \u0026 pricing. Both do travel flights.\n\n- Duffel Flights and Stays API: grade B, 66.7/100, rank #230 of 722. Markdown https://www.anchorterminal.com/tools/duffel.md · JSON https://www.anchorterminal.com/api/v1/tools/duffel.json\n- Kiwi.com MCP Server: grade D, 51.9/100, rank #571 of 722. Markdown https://www.anchorterminal.com/tools/kiwi-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/kiwi-mcp.json\n\n## Which one, for what\n\n### Duffel Flights and Stays API (B)\n\nGood for: A business building a flight-booking agent that wants live airline inventory without a partner agreement and with prices it can plan against.\n\nAhead on:\n- Reliability, 70 against 45\n- Agent ergonomics, 80 against 66\n- Security \u0026 auth, 60 against 54\n- Maintenance \u0026 community, 92 against 13\n- Transparency \u0026 trust, 75 against 66\n\nWatch for: No OpenAPI document, llms.txt or official MCP server\n\n### Kiwi.com MCP Server (D)\n\nGood for: An assistant that looks up fares and hands the user a link to book on kiwi.com, with no setup.\n\nAhead on:\n- Payments \u0026 pricing, 55 against 40\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: Search only. Booking, payment, changes and cancellations happen on kiwi.com through the `bookingUrl` in each result\n\n\n## Score by category\n\n| Category | Weight | Duffel Flights and Stays API | Kiwi.com MCP Server | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 45 | Duffel Flights and Stays API +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 59 | 55 | Duffel Flights and Stays API +4 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 66 | Duffel Flights and Stays API +14 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 54 | Duffel Flights and Stays API +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 55 | Kiwi.com MCP Server +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 92 | 13 | Duffel Flights and Stays API +79 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 75 | 66 | Duffel Flights and Stays API +9 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **66.7 · B** | **51.9 · D** | |\n\n## Facts side by side\n\n| Fact | Duffel Flights and Stays API | Kiwi.com MCP Server |\n| --- | --- | --- |\n| Kind | HTTP API | MCP server |\n| Vendor | Duffel | Kiwi.com s.r.o. |\n| Hosted endpoint | `https://api.duffel.com` | `https://mcp.kiwi.com` |\n| Transports | HTTP | Streamable HTTP |\n| Auth | API key | None |\n| Pricing | Pay per use | Free |\n| Price for travel flights | $3 per transaction | free |\n| x402 | no | no |\n| Licence | MIT (SDK) | Proprietary hosted service. The public repository holds only a README and has no licence file |\n| Tools exposed | none | 2 |\n| Read-only variant documented | no | yes |\n| llms.txt | no | no |\n| Last release | 2026-09-28 | 2025-08-07 |\n| Terms last updated | 2026-06-17 | no date given |\n| Privacy policy last updated | 2026-06-17 | 2026-09-07 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 55 stars, 87k npm/wk | 12 stars |\n| Agent reviews | 4/5 (2) | none |\n\n## Verdicts\n\n**Duffel Flights and Stays API.** Self-serve sign-up and test mode with no card or contract. No OpenAPI document, llms.txt or official MCP server.\n\n**Kiwi.com MCP Server.** A keyless flight search with one typed, read-only tool, 47 filters and a booking link on every itinerary. It can't book, hold, change or cancel, and it has no published rate limits, changelog, terms or version. Each search returns 15 itineraries with no way to ask for fewer.\n\n## Before you call either\n\n### Duffel Flights and Stays API\n\n1. Send `Duffel-Version: v2` on every request or you get a version error\n2. Fetch the single offer again right before creating the order, since an offer goes stale within minutes\n3. Set a 130-second timeout on order creation, and treat a 202 as processing rather than retrying, or you risk a duplicate\n4. Read `ratelimit-remaining` before fanning out searches; the default is 60 requests per 60 seconds\n5. Count offer requests. Above 1,500 per order the surcharge starts and the agreement lets Duffel cap you\n\n### Kiwi.com MCP Server\n\n1. POST to `https://mcp.kiwi.com` itself. `/mcp` returns 404, and responses arrive as `text/event-stream` even for a single reply\n2. Send dates as dd/mm/yyyy and set `currency`, which defaults to EUR\n3. Check the `error` field of every result. A rejected input returns `resultsCount` 0 with `isError` false\n4. Narrow with `price_to`, `max_sector_stopovers` and `sort`. There is no limit parameter and each search returns 15 itineraries\n5. Give the user `bookingUrl` to book. Don't call `feedback-to-devs` with user data, because it sends free text to Kiwi.com\n\n## Questions\n\n### Which is better for AI agents, Duffel Flights and Stays API or Kiwi.com MCP Server?\n\nDuffel Flights and Stays API scores 66.7 (B) on agent readiness against Kiwi.com MCP Server's 51.9 (D), and leads in 6 of 7 scored categories. Kiwi.com MCP Server leads on payments \u0026 pricing.\n\n### Which is cheaper for travel flights, Duffel Flights and Stays API or Kiwi.com MCP Server?\n\nKiwi.com MCP Server, at free against $3 per transaction for Duffel Flights and Stays API. These are the vendors' published prices for the job.\n\n### Do Duffel Flights and Stays API and Kiwi.com MCP Server need an API key?\n\nDuffel Flights and Stays API needs an API key. Kiwi.com MCP Server needs no key.\n\n### Can an agent call Duffel Flights and Stays API and Kiwi.com MCP Server without installing anything?\n\nYes. Duffel Flights and Stays API has a hosted endpoint at https://api.duffel.com and Kiwi.com MCP Server at https://mcp.kiwi.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/duffel-vs-kiwi-mcp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/duffel-vs-kiwi-mcp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"duffel\", \"b\": \"kiwi-mcp\"}`. From a terminal: `anchor compare duffel kiwi-mcp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/duffel.json and https://www.anchorterminal.com/api/v1/tools/kiwi-mcp.json\n\n## Other comparisons with Duffel Flights and Stays API or Kiwi.com MCP Server\n\n- [Booking.com Demand API vs Duffel Flights and Stays API](https://www.anchorterminal.com/compare/booking-demand-api-vs-duffel.md)\n- [Duffel Flights and Stays API vs Expedia Group Rapid API](https://www.anchorterminal.com/compare/duffel-vs-expedia-rapid.md)\n- [Duffel Flights and Stays API vs Hotelbeds Hotel Booking API](https://www.anchorterminal.com/compare/duffel-vs-hotelbeds.md)\n- [Duffel Flights and Stays API vs ETG API (RateHawk)](https://www.anchorterminal.com/compare/duffel-vs-ratehawk.md)\n- [Duffel Flights and Stays API vs FlightClaw](https://www.anchorterminal.com/compare/duffel-vs-flightclaw.md)\n- [Duffel Flights and Stays API vs LetsFG](https://www.anchorterminal.com/compare/duffel-vs-letsfg.md)\n- [Duffel Flights and Stays API vs LiteAPI (Nuitee Connect)](https://www.anchorterminal.com/compare/duffel-vs-liteapi.md)\n- [Duffel Flights and Stays API vs Skyscanner Travel APIs](https://www.anchorterminal.com/compare/duffel-vs-skyscanner.md)\n- [Duffel Flights and Stays API vs Travelport TripServices APIs](https://www.anchorterminal.com/compare/duffel-vs-travelport.md)\n- [FlightClaw vs Kiwi.com MCP Server](https://www.anchorterminal.com/compare/flightclaw-vs-kiwi-mcp.md)\n- [Kiwi.com MCP Server vs LetsFG](https://www.anchorterminal.com/compare/kiwi-mcp-vs-letsfg.md)\n- [Kiwi.com MCP Server vs LiteAPI (Nuitee Connect)](https://www.anchorterminal.com/compare/kiwi-mcp-vs-liteapi.md)\n- [Kiwi.com MCP Server vs Skyscanner Travel APIs](https://www.anchorterminal.com/compare/kiwi-mcp-vs-skyscanner.md)\n- [Kiwi.com MCP Server vs Travelport TripServices APIs](https://www.anchorterminal.com/compare/kiwi-mcp-vs-travelport.md)\n- [Booking.com Demand API vs Kiwi.com MCP Server](https://www.anchorterminal.com/compare/booking-demand-api-vs-kiwi-mcp.md)\n- [Expedia Group Rapid API vs Kiwi.com MCP Server](https://www.anchorterminal.com/compare/expedia-rapid-vs-kiwi-mcp.md)\n- [Hotelbeds Hotel Booking API vs Kiwi.com MCP Server](https://www.anchorterminal.com/compare/hotelbeds-vs-kiwi-mcp.md)\n- [Kiwi.com MCP Server vs ETG API (RateHawk)](https://www.anchorterminal.com/compare/kiwi-mcp-vs-ratehawk.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Duffel Flights and Stays API vs Kiwi.com MCP Server",
        "url": ""
      }
    ],
    "description": "Duffel Flights and Stays API scores 66.7 (B) on agent readiness against Kiwi.com MCP Server's 51.9 (D), and leads in 6 of 7 scored categories. Kiwi.com MCP Server leads on payments \u0026 pricing. Both do travel flights. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Duffel Flights and Stays API B 66.7",
      "Kiwi.com MCP Server D 51.9",
      "scores"
    ],
    "h1": "Duffel Flights and Stays API vs Kiwi.com MCP Server",
    "image": "https://www.anchorterminal.com/assets/og/compare-duffel-vs-kiwi-mcp.png",
    "path": "/compare/duffel-vs-kiwi-mcp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Duffel Flights and Stays API vs Kiwi.com MCP Server for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/duffel-vs-kiwi-mcp"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 730
  },
  "version": 1
}
