{
  "data": {
    "category": {
      "area": "domain-data",
      "capabilities": [
        "travel.flights",
        "travel.stays",
        "travel.booking",
        "travel.changes",
        "travel.search"
      ],
      "description": "APIs that search and book flights, hotels and other stays, with prices, availability, changes and cancellations. Compared on inventory, whether an agent can complete a booking, how payment is handled and what access needs.",
      "indexed": [
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/stayker-1stay.json",
          "kind": "mcp",
          "name": "1stay",
          "slug": "stayker-1stay",
          "url": "https://www.anchorterminal.com/tools/stayker-1stay"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/awardflightdaily-award-flight-daily.json",
          "kind": "mcp",
          "name": "Award Flight Daily",
          "slug": "awardflightdaily-award-flight-daily",
          "url": "https://www.anchorterminal.com/tools/awardflightdaily-award-flight-daily"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bitvoya-mcp.json",
          "kind": "mcp",
          "name": "Bitvoya MCP",
          "slug": "bitvoya-mcp",
          "url": "https://www.anchorterminal.com/tools/bitvoya-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/flightpowers-booking.json",
          "kind": "mcp",
          "name": "Booking.com Hotel Search (Live Prices)",
          "slug": "flightpowers-booking",
          "url": "https://www.anchorterminal.com/tools/flightpowers-booking"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/boostedchat-travel.json",
          "kind": "mcp",
          "name": "BoostedTravel",
          "slug": "boostedchat-travel",
          "url": "https://www.anchorterminal.com/tools/boostedchat-travel"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/browser-use.json",
          "kind": "mcp",
          "name": "browser-use",
          "slug": "browser-use",
          "url": "https://www.anchorterminal.com/tools/browser-use"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/chia-mcp.json",
          "kind": "mcp",
          "name": "Chia Health MCP Server",
          "slug": "chia-mcp",
          "url": "https://www.anchorterminal.com/tools/chia-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/signalaf-contribution-exchange.json",
          "kind": "mcp",
          "name": "Contribution Exchange",
          "slug": "signalaf-contribution-exchange",
          "url": "https://www.anchorterminal.com/tools/signalaf-contribution-exchange"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/decionis-commerce-gate.json",
          "kind": "mcp",
          "name": "Decionis CommerceGate MCP",
          "slug": "decionis-commerce-gate",
          "url": "https://www.anchorterminal.com/tools/decionis-commerce-gate"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/esimoa-esim.json",
          "kind": "mcp",
          "name": "esimoa — travel eSIM comparison",
          "slug": "esimoa-esim",
          "url": "https://www.anchorterminal.com/tools/esimoa-esim"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/everway-mcp-server.json",
          "kind": "mcp",
          "name": "Everway MCP Server",
          "slug": "everway-mcp-server",
          "url": "https://www.anchorterminal.com/tools/everway-mcp-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gocushy-mcp.json",
          "kind": "mcp",
          "name": "gocushy.com MCP server",
          "slug": "gocushy-mcp",
          "url": "https://www.anchorterminal.com/tools/gocushy-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gondola.json",
          "kind": "mcp",
          "name": "Gondola Award Travel Search",
          "slug": "gondola",
          "url": "https://www.anchorterminal.com/tools/gondola"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/flightpowers-google-flights.json",
          "kind": "mcp",
          "name": "Google Flights Search (Real-Time Fares)",
          "slug": "flightpowers-google-flights",
          "url": "https://www.anchorterminal.com/tools/flightpowers-google-flights"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/makometrics-mako-metrics.json",
          "kind": "mcp",
          "name": "Mako Metrics",
          "slug": "makometrics-mako-metrics",
          "url": "https://www.anchorterminal.com/tools/makometrics-mako-metrics"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/shawndurrani-mcp-merchant.json",
          "kind": "mcp",
          "name": "mcp-merchant",
          "slug": "shawndurrani-mcp-merchant",
          "url": "https://www.anchorterminal.com/tools/shawndurrani-mcp-merchant"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/myrmigo.json",
          "kind": "mcp",
          "name": "Myrmigo",
          "slug": "myrmigo",
          "url": "https://www.anchorterminal.com/tools/myrmigo"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/octotrip-flights.json",
          "kind": "mcp",
          "name": "OctoTrip Flights",
          "slug": "octotrip-flights",
          "url": "https://www.anchorterminal.com/tools/octotrip-flights"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/octotrip-rental-cars.json",
          "kind": "mcp",
          "name": "OctoTrip Rental Cars",
          "slug": "octotrip-rental-cars",
          "url": "https://www.anchorterminal.com/tools/octotrip-rental-cars"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ottotheagent-otto-travel.json",
          "kind": "mcp",
          "name": "Otto Travel",
          "slug": "ottotheagent-otto-travel",
          "url": "https://www.anchorterminal.com/tools/ottotheagent-otto-travel"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/kesey-pretrip.json",
          "kind": "mcp",
          "name": "Pre-Trip compliance scanner",
          "slug": "kesey-pretrip",
          "url": "https://www.anchorterminal.com/tools/kesey-pretrip"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/urlcheck-mcp.json",
          "kind": "mcp",
          "name": "PreClick — An MCP-native URL preflight scanning service for autonomous agents (formerly URLCheck).",
          "slug": "urlcheck-mcp",
          "url": "https://www.anchorterminal.com/tools/urlcheck-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/preclick-mcp.json",
          "kind": "mcp",
          "name": "PreClick — An MCP-native URL preflight scanning service for autonomous agents.",
          "slug": "preclick-mcp",
          "url": "https://www.anchorterminal.com/tools/preclick-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/rapay-mcp-server.json",
          "kind": "mcp",
          "name": "Ra Pay",
          "slug": "rapay-mcp-server",
          "url": "https://www.anchorterminal.com/tools/rapay-mcp-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/forgesworn-rendezvous-mcp.json",
          "kind": "mcp",
          "name": "rendezvous-mcp",
          "slug": "forgesworn-rendezvous-mcp",
          "url": "https://www.anchorterminal.com/tools/forgesworn-rendezvous-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/satohub-kit.json",
          "kind": "mcp",
          "name": "Sato Kit",
          "slug": "satohub-kit",
          "url": "https://www.anchorterminal.com/tools/satohub-kit"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/agentutil-think-mcp.json",
          "kind": "mcp",
          "name": "think-mcp",
          "slug": "agentutil-think-mcp",
          "url": "https://www.anchorterminal.com/tools/agentutil-think-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/autonomad-travel.json",
          "kind": "mcp",
          "name": "travel",
          "slug": "autonomad-travel",
          "url": "https://www.anchorterminal.com/tools/autonomad-travel"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/travel-mcp.json",
          "kind": "mcp",
          "name": "travel.art",
          "slug": "travel-mcp",
          "url": "https://www.anchorterminal.com/tools/travel-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/triplebooks-mcp.json",
          "kind": "mcp",
          "name": "TripleBooks",
          "slug": "triplebooks-mcp",
          "url": "https://www.anchorterminal.com/tools/triplebooks-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/thistripbtw-trips.json",
          "kind": "mcp",
          "name": "trips",
          "slug": "thistripbtw-trips",
          "url": "https://www.anchorterminal.com/tools/thistripbtw-trips"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/utilia-solana-preflight.json",
          "kind": "mcp",
          "name": "Utilia Solana Transaction Evidence",
          "slug": "utilia-solana-preflight",
          "url": "https://www.anchorterminal.com/tools/utilia-solana-preflight"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/verifyref-mcp.json",
          "kind": "mcp",
          "name": "VerifyRef",
          "slug": "verifyref-mcp",
          "url": "https://www.anchorterminal.com/tools/verifyref-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/costrinity-vitna-compliance-preflight.json",
          "kind": "mcp",
          "name": "VITNA — Agent Compliance Preflight",
          "slug": "costrinity-vitna-compliance-preflight",
          "url": "https://www.anchorterminal.com/tools/costrinity-vitna-compliance-preflight"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/voyagier-cli.json",
          "kind": "mcp",
          "name": "Voyagier",
          "slug": "voyagier-cli",
          "url": "https://www.anchorterminal.com/tools/voyagier-cli"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gadgethumans-x402-middleware.json",
          "kind": "mcp",
          "name": "x402-middleware",
          "slug": "gadgethumans-x402-middleware",
          "url": "https://www.anchorterminal.com/tools/gadgethumans-x402-middleware"
        }
      ],
      "indexedCount": 36,
      "json": "https://www.anchorterminal.com/categories/travel.json",
      "name": "Travel \u0026 booking",
      "slug": "travel",
      "test": "An agent searches a return flight and a hotel, holds or books where the sandbox allows, then changes and cancels. We check the inventory, the booking and payment steps, the change flow and what getting access took.",
      "title": "Travel search and booking APIs for AI agents",
      "toolCount": 7,
      "tools": [
        "duffel",
        "letsfg",
        "liteapi",
        "flightclaw",
        "expedia-rapid",
        "booking-demand-api",
        "hotelbeds"
      ],
      "url": "https://www.anchorterminal.com/categories/travel"
    },
    "tools": [
      {
        "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.9,
          "grade": "B",
          "agentReady": false,
          "rank": 153,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 1,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 80,
            "maintenance": 92,
            "payments": 40,
            "reliability": 70,
            "schema": 59,
            "security": 60,
            "transparency": 77
          },
          "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.",
          "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.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 66.9
            }
          ],
          "editorialScores": {
            "ergonomics": 80,
            "maintenance": 92,
            "payments": 40,
            "reliability": 70,
            "schema": 59,
            "security": 60,
            "transparency": 63
          },
          "provenanceScore": 90
        },
        "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": 90
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/duffel.json",
        "live": {
          "slug": "duffel",
          "probe": {
            "target": "https://api.duffel.com",
            "method": "get",
            "lastAt": "2026-10-04T22:35:22.610895942Z",
            "lastOk": true,
            "lastStatus": 200,
            "lastMs": 62,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 66,
            "p95ms24h": 126,
            "samples24h": 272,
            "samples30d": 884,
            "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": 256,
                "ok": 256
              }
            ]
          },
          "vendorStatus": {
            "page": "https://www.duffelstatus.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-04T22:33:51.632830104Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "duffelhq/duffel-api-javascript",
              "version": "v4.30.1",
              "released": "2026-10-02",
              "seenAt": "2026-10-04T16:25:53.972942488Z"
            },
            {
              "registry": "npm",
              "name": "@duffel/api",
              "version": "4.30.1",
              "seenAt": "2026-10-04T16:25:53.344100768Z"
            },
            {
              "registry": "pypi",
              "name": "duffel-api",
              "version": "0.6.2",
              "released": "2023-10-02",
              "seenAt": "2026-10-04T16:25:53.787353211Z"
            }
          ],
          "githubStars": 59,
          "npmWeekly": 97446,
          "pypiWeekly": 858,
          "securityTxt": {
            "url": "https://duffel.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:59.537028906Z"
          },
          "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-04T15:41:50.626742305Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "75a7bddb7ffc"
            },
            {
              "url": "https://duffel.com/pricing",
              "kind": "pricing",
              "status": 200,
              "checkedAt": "2026-10-04T15:44:24.462323926Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "39d641ebc750"
            },
            {
              "url": "https://duffel.com/privacy-policy",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-10-04T15:44:26.500346892Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "1ce367e797bc"
            },
            {
              "url": "https://duffel.com/services-agreement",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-04T15:44:28.525839896Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "627df7899683"
            }
          ],
          "updatedAt": "2026-10-04T22:35:22.610895942Z"
        }
      },
      {
        "slug": "letsfg",
        "name": "LetsFG",
        "vendor": "LetsFG",
        "vendorUrl": "https://letsfg.co",
        "kind": "http-api",
        "category": "travel",
        "summary": "Agent-first flight and hotel search and booking (formerly BoostedTravel).",
        "url": "https://www.anchorterminal.com/tools/letsfg",
        "markdownUrl": "https://www.anchorterminal.com/tools/letsfg.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/letsfg.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/letsfg.json",
        "repo": "https://github.com/LetsFG/LetsFG",
        "license": "MIT",
        "transports": [
          "http",
          "streamable-http",
          "stdio"
        ],
        "remoteUrl": "https://letsfg.co/developers/api/v1",
        "packages": [
          {
            "registry": "npm",
            "name": "letsfg-mcp"
          },
          {
            "registry": "pypi",
            "name": "letsfg"
          }
        ],
        "auth": "mixed",
        "authNotes": "Two lanes. The hosted MCP uses OAuth 2.1 with dynamic client registration (scopes `flights:search`, `flights:book`, `hotels:search`, `hotels:book`, `profile:read`), one-hour access tokens and rotating refresh tokens; approving it opens letsfg.co/connect, and a card is only asked for at the first booking through a 0.00 Revolut set-up. The REST API takes an `X-API-Key` (`letsfg_...`) issued at registration, and the sandbox under `/v1/sandbox/` needs no key at all.",
        "pricing": "freemium",
        "pricingNotes": "Search is billed look-to-book. Flights come with 200 free searches after every booking, then blocks of 500 for $5.00 ($0.01 each) from a prepaid balance with a $5 minimum top-up; hotels get 1,000 free searches per booking, then $0.005 each. A search that returns nothing or fails doesn't count. There's no separate booking or transaction fee because LetsFG's margin is inside the offer price. For hotels that's the supplier's cost plus 6.4 per cent (Revolut Pay or an EEA card) or 8.3 per cent (a card issued elsewhere); the flight margin isn't published. Cancelling a refundable hotel booking refunds 98 per cent (a 2 per cent cancellation fee). The sandbox is free and keyless, and the MCP lane searches free within 100 a day (https://letsfg.co/developers, https://github.com/LetsFG/LetsFG/blob/main/skills/hotel-search/SKILL.md).",
        "priceSummary": "$0.01 / call",
        "where": "both",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": 24,
        "popularity": {
          "githubStars": 2100,
          "npmWeekly": 157,
          "pypiWeekly": 260,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://letsfg.co/developers/api/docs",
        "llmsTxt": "https://letsfg.co/llms.txt",
        "openapi": "https://letsfg.co/developers/api/openapi.json",
        "registryName": "io.github.LetsFG/letsfg",
        "capabilities": [
          "travel.flights",
          "travel.stays",
          "travel.booking",
          "travel.changes",
          "travel.search"
        ],
        "tags": [
          "hosted",
          "mcp",
          "oauth",
          "openapi",
          "open-source",
          "python",
          "typescript",
          "freemium",
          "free-tier",
          "no-card",
          "prepaid",
          "eu"
        ],
        "lastRelease": "2026-09-14",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 64.2,
          "grade": "B",
          "agentReady": false,
          "rank": 189,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 2,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 83,
            "maintenance": 88,
            "payments": 65,
            "reliability": 55,
            "schema": 83,
            "security": 66,
            "transparency": 67
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": -7,
          "negativeNotes": [
            "-4, 2026-09-02 and 2026-09-08. Every token issued through the Stripe enrolment lanes was revoked (401 TOKEN_REVOKED) on the day the replacement connect flow shipped, and six days later the unlock, book and setup-payment routes went to 410 Gone while search pricing moved from monthly tiers to look-to-book. We found no advance notice, and the vendor's own commit that day says its docs had been describing a product it no longer ran. The 410 bodies name the replacement, so we deduct at the lower end. https://github.com/LetsFG/LetsFG/blob/main/docs/api-onboarding.md",
            "-3, current as of 2026-10-01. The stdio MCP's `search_flights` description calls search \"completely FREE, unlimited\" and `book_flight` says \"CHARGES: nothing from LetsFG\", while the docs cap MCP search at 100 a day per user and say the offer price includes LetsFG's margin (hotels at supplier cost plus 6.4 per cent, 8.3 per cent on non-EEA cards). https://github.com/LetsFG/LetsFG/blob/main/sdk/mcp/src/index.ts"
          ],
          "verdict": "Hosted MCP with OAuth 2.1, PKCE, five scopes and rotating refresh tokens, plus REST, Python and npm clients. Tickets are bought by a LetsFG booking agent after the hold, 4 to 11 minutes per the docs, and bookings can pause with questions.",
          "strengths": [
            "Hosted MCP with OAuth 2.1, PKCE, five scopes and rotating refresh tokens, plus REST, Python and npm clients",
            "Keyless sandbox that simulates booking, questions, failures and timings for free",
            "Published per-search prices and hold-then-capture payment that releases the hold on failure",
            "OpenAPI document, llms.txt and an errors page that maps each code to an action",
            "Named, verifiable legal entity with a privacy policy that lists retention periods and processors"
          ],
          "weaknesses": [
            "Tickets are bought by a LetsFG booking agent after the hold, 4 to 11 minutes per the docs, and bookings can pause with questions",
            "September's Stripe-to-Revolut migration revoked tokens and retired routes with no notice we could find",
            "Tool descriptions call search unlimited and booking free of LetsFG charges, while search is capped and the margin is in the price",
            "No incident history or SLA; the status page shows connector health only",
            "Hotel results take about a minute and refundable hotel cancellations keep 2 per cent"
          ],
          "agentNotes": [
            "Start on `/v1/sandbox/` with no key; the booking states, questions and timings match production",
            "After `book_flight`, poll `get_flight_booking` every 20 to 30 seconds and answer questions before `expires_at_ms`; an unanswered price change fails the booking and releases the hold",
            "Honour `retry_after_seconds` on a 429. Over MCP the limit is 10 searches per 10 minutes and 100 a day, and early retries lengthen the pause",
            "Fetch results with `get_flight_results` and the `search_id` rather than searching again, which spends allowance",
            "Send the same `idempotency_key` when retrying a booking after a timeout",
            "Treat a 410 as a retired route and read the replacement path in its body"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3.5,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "B",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 64.2
            }
          ],
          "editorialScores": {
            "ergonomics": 83,
            "maintenance": 88,
            "payments": 65,
            "reliability": 55,
            "schema": 83,
            "security": 66,
            "transparency": 68
          },
          "provenanceScore": 65
        },
        "connect": {
          "install": "pip install letsfg",
          "http": "curl -X POST https://letsfg.co/developers/api/v1/sandbox/flights/search \\\n  -H \"X-API-Key: $LETSFG_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"origin\":\"LHR\",\"destination\":\"JFK\",\"date_from\":\"2026-11-10\",\"adults\":1,\"currency\":\"USD\"}'",
          "claudeCode": "claude mcp add --transport http letsfg https://letsfg.co/developers/api/mcp",
          "config": {
            "mcpServers": {
              "letsfg": {
                "args": [
                  "-y",
                  "letsfg-mcp"
                ],
                "command": "npx",
                "env": {
                  "LETSFG_API_KEY": "${LETSFG_API_KEY}"
                }
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/travel.flights",
          "tool": "https://letme.dev/letsfg"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Flight search above allowance",
            "unit": "call",
            "usd": 0.01,
            "note": "sold in blocks of 500 for $5.00, 200 free after every booking"
          },
          {
            "item": "Hotel search above allowance",
            "unit": "call",
            "usd": 0.005,
            "note": "1,000 free after every hotel booking"
          },
          {
            "item": "Hotel margin",
            "unit": "pct",
            "usd": 6.4,
            "note": "inside the offer price over supplier cost; 8.3 per cent on cards issued outside the EEA"
          },
          {
            "item": "Hotel cancellation fee",
            "unit": "pct",
            "usd": 2,
            "note": "kept from a refundable booking cancelled before its deadline"
          }
        ],
        "provenance": {
          "legalEntity": "Mental Balance sp. z o.o.",
          "domain": "letsfg.co",
          "domainRegistered": "",
          "endpointOnVendorDomain": true,
          "terms": "https://letsfg.co/terms",
          "privacy": "https://letsfg.co/privacy",
          "statusPage": "https://letsfg.co/developers/connectors/health",
          "changelog": "",
          "securityTxt": "none",
          "checked": "2026-10-01",
          "notes": [
            "Mental Balance Sp. z o.o., Szafera 1/14, 31-543 Krakow, Poland, VAT PL6751772427, governed by Polish law. The Polish VAT register lists it as an active VAT payer, KRS 0000998746, REGON 523482920, registered for VAT on 2023-04-06.",
            "The official MCP registry entry (io.github.LetsFG/letsfg, 2026.5.77) now carries the LetsFG name.",
            "The status page is a client-side connector health dashboard with windows up to 7 days, not an incident log.",
            "The .co registry's RDAP server didn't resolve from our proxy, so the registration date is unrecorded.",
            "letsfg.co/.well-known/security.txt returned 404 on 30 September; SECURITY.md in the repository names security@letsfg.co."
          ],
          "score": 65
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/letsfg.json",
        "live": {
          "slug": "letsfg",
          "probe": {
            "target": "https://letsfg.co/developers/api/v1",
            "method": "get",
            "lastAt": "2026-10-04T22:35:25.861235335Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 220,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 106,
            "p95ms24h": 236,
            "samples24h": 272,
            "samples30d": 884,
            "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": 256,
                "ok": 256
              }
            ]
          },
          "vendorStatus": {
            "page": "https://letsfg.co/developers/connectors/health",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-10-04T21:40:12.90751905Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "LetsFG/LetsFG",
              "version": "v2026.5.103",
              "released": "2026-10-02",
              "seenAt": "2026-10-04T16:31:37.944876543Z"
            },
            {
              "registry": "mcp-registry",
              "name": "io.github.LetsFG/letsfg",
              "version": "2026.5.77",
              "seenAt": "2026-10-03T23:29:28.630222764Z"
            },
            {
              "registry": "npm",
              "name": "letsfg-mcp",
              "version": "2026.5.78",
              "seenAt": "2026-10-04T16:31:35.942037176Z"
            },
            {
              "registry": "pypi",
              "name": "letsfg",
              "version": "2026.5.103",
              "released": "2026-10-02",
              "seenAt": "2026-10-04T16:31:37.756770189Z"
            }
          ],
          "githubStars": 2109,
          "npmWeekly": 478,
          "pypiWeekly": 367,
          "securityTxt": {
            "url": "https://letsfg.co/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:58.190304828Z"
          },
          "llmsTxt": {
            "url": "https://letsfg.co/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:17:56.766646834Z"
          },
          "domain": {
            "domain": "letsfg.co",
            "checkedAt": "2026-10-04T13:08:11.061821195Z"
          },
          "pages": [
            {
              "url": "https://letsfg.co/privacy",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-10-04T15:45:34.301196514Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "bc9de8636e2c"
            },
            {
              "url": "https://letsfg.co/terms",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-04T15:45:36.651952521Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "d6d29822c2bc"
            }
          ],
          "updatedAt": "2026-10-04T22:35:25.861235335Z"
        }
      },
      {
        "slug": "liteapi",
        "name": "LiteAPI (Nuitee Connect)",
        "vendor": "Nuitee",
        "vendorUrl": "https://www.liteapi.travel",
        "kind": "http-api",
        "category": "travel",
        "summary": "Self-serve hotel booking API (3 million plus properties) with a rates, prebook, book flow, cancellations and amendments, plus a flights API that needs approval.",
        "url": "https://www.anchorterminal.com/tools/liteapi",
        "markdownUrl": "https://www.anchorterminal.com/tools/liteapi.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/liteapi.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/liteapi.json",
        "repo": "https://github.com/liteapi-travel/mcp-server",
        "license": "MIT (MCP server), ISC (Node SDK)",
        "transports": [
          "http",
          "streamable-http",
          "stdio"
        ],
        "remoteUrl": "https://api.liteapi.travel/v3.0",
        "packages": [
          {
            "registry": "npm",
            "name": "liteapi-node-sdk"
          }
        ],
        "auth": "api-key",
        "authNotes": "`X-API-Key` header. Sandbox keys start with `sand_` and hit the same base URL as production, so the key decides the environment. Booking endpoints (prebook, book, cancel, amend) live on book.liteapi.travel rather than api.liteapi.travel. An HMAC scheme is documented for signed requests. The hosted MCP takes the key as a query parameter in the URL.",
        "pricing": "freemium",
        "pricingNotes": "No set-up fee and no charge for the core rates, prebook and book calls while you keep a reasonable look to book ratio. Priced extras are the price index at $0.05 a request and places lookups at $0.01. Flights add 1 per cent of transaction value per ticket (minimum 2 EUR, maximum 10 EUR), 25 EUR per voluntary change and a 0.005 EUR per search surcharge above a 1,500 to 1 search to book ratio. Dashboard add-ons are $4.99 a month each (AI insights, advanced logs, reports) and extra seats $4.99 admin or $1.99 agent. Hotel revenue is the margin you set on net rates, paid out weekly after check-out (https://docs.liteapi.travel/reference/api-pricing-usage-costs).",
        "priceSummary": "$0.05 / call",
        "where": "both",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 3,
          "npmWeekly": 17488,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://docs.liteapi.travel",
        "llmsTxt": "https://docs.liteapi.travel/llms.txt",
        "openapi": "https://docs.liteapi.travel/reference/openapi-specifications",
        "capabilities": [
          "travel.stays",
          "travel.flights",
          "travel.booking",
          "travel.changes",
          "travel.search"
        ],
        "tags": [
          "hosted",
          "freemium",
          "free-tier",
          "no-card",
          "mcp",
          "llms-txt",
          "openapi",
          "typescript",
          "webhooks",
          "eu"
        ],
        "lastRelease": "2026-09-30",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 53.5,
          "grade": "D",
          "agentReady": false,
          "rank": 332,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 3,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 86,
            "maintenance": 48,
            "payments": 40,
            "reliability": 62,
            "schema": 86,
            "security": 33,
            "transparency": 48
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": -6,
          "negativeNotes": [
            "-6, fixed 2026-04-20. The official Node SDK repository (liteapi-travel/nodejs-sdk) carried an obfuscated payload appended to index.js on main, introduced in a merge commit dated 8 July 2025 whose author and committer time zones differ, so the real injection date is unclear. Nuitée removed it in a commit titled \"remove obfuscated malware payload injected into index.js\" on 20 April 2026. The npm package 4.3.2 was published in March 2025, before it, so npm installs weren't affected; installs from the repository in that window were. A similar removal from test.js was merged in June 2025. We found no advisory or notice in the repository or docs. https://github.com/liteapi-travel/nodejs-sdk/commit/80d6d307fe3e82dc7bb448c3a8258e974f070ef7"
          ],
          "verdict": "Sandbox key at sign-up, same base URL as production, no card. Hosted MCP's documented setup puts the API key in the URL query string and exposes 111 generated tools.",
          "strengths": [
            "Sandbox key at sign-up, same base URL as production, no card",
            "OpenAPI specs for 12 modules, llms.txt and a Markdown twin for every docs page",
            "Rates, prebook, book, cancel, amend and rebook, with `clientReference` as an idempotency key",
            "Free core booking calls and published prices for the paid extras, updated July 2026",
            "Better Stack status page with per-workflow components"
          ],
          "weaknesses": [
            "Hosted MCP's documented setup puts the API key in the URL query string and exposes 111 generated tools",
            "Official Node SDK repository carried an injected payload on main until 20 April 2026, with no advisory found",
            "No public changelog, deprecation policy or SLA",
            "SDKs last published March 2025 or earlier",
            "Rate limits differ between the rate-limiting page (250 a second) and the performance page (500 a second)"
          ],
          "agentNotes": [
            "Use `/hotels/rates` with a short `hotelIds` list from `/data/hotels`; a broad rates call is slow and large",
            "Always prebook before book and read the cancellation policy in the prebook response, since refundability differs per rate",
            "Send a unique `clientReference` on book; a repeat returns error 4005 instead of a second booking",
            "Set `margin` explicitly on every rates call. Zero means net rates with no commission to you",
            "Send the key to the MCP in an `X-Api-Key` header rather than `?apiKey=` where the client allows it"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 4,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "D",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 53.5
            }
          ],
          "editorialScores": {
            "ergonomics": 86,
            "maintenance": 48,
            "payments": 40,
            "reliability": 62,
            "schema": 86,
            "security": 33,
            "transparency": 31
          },
          "provenanceScore": 65
        },
        "connect": {
          "install": "npm install liteapi-node-sdk",
          "http": "curl \"https://api.liteapi.travel/v3.0/data/hotels?countryCode=GB\u0026cityName=London\u0026limit=5\" \\\n  -H \"X-API-Key: $LITEAPI_API_KEY\"",
          "claudeCode": "claude mcp add --transport http liteapi \"https://mcp.liteapi.travel/api/mcp?apiKey=$LITEAPI_API_KEY\"",
          "config": {
            "mcpServers": {
              "liteapi": {
                "url": "https://mcp.liteapi.travel/api/mcp?apiKey=${LITEAPI_API_KEY}"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/travel.stays",
          "tool": "https://letme.dev/liteapi"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Price index request",
            "unit": "call",
            "usd": 0.05
          },
          {
            "item": "Places request",
            "unit": "call",
            "usd": 0.01
          },
          {
            "item": "Flight ticketing fee",
            "unit": "pct",
            "usd": 1,
            "note": "of transaction value, minimum 2 EUR and maximum 10 EUR per booking"
          },
          {
            "item": "Additional admin seat",
            "unit": "seat-month",
            "usd": 4.99
          },
          {
            "item": "Additional agent seat",
            "unit": "seat-month",
            "usd": 1.99
          },
          {
            "item": "AI Insights add-on",
            "unit": "month",
            "usd": 4.99,
            "note": "advanced logs and reports are $4.99 a month each too"
          }
        ],
        "provenance": {
          "legalEntity": "Nuitée Travel Limited",
          "domain": "liteapi.travel",
          "domainRegistered": "",
          "endpointOnVendorDomain": true,
          "terms": "https://www.liteapi.travel/terms/",
          "privacy": "https://www.liteapi.travel/privacy/",
          "statusPage": "https://status.liteapi.travel",
          "changelog": "",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "Incorporated in Ireland, VAT IE3388031IH, registered office 4 Waterloo Road, Ballsbridge, Dublin D04 A0X3, governed by Irish law.",
            "The product is being renamed Nuitee Connect; the site, docs and dashboard mix both names.",
            "The .travel registry's RDAP server rate-limited our lookup, so the registration date is unrecorded.",
            "www.liteapi.travel/.well-known/security.txt returns 404."
          ],
          "score": 65
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/liteapi.json",
        "live": {
          "slug": "liteapi",
          "probe": {
            "target": "https://api.liteapi.travel/v3.0",
            "method": "get",
            "lastAt": "2026-10-04T22:35:26.030681884Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 122,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 132,
            "p95ms24h": 222,
            "samples24h": 272,
            "samples30d": 884,
            "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": 256,
                "ok": 256
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.liteapi.travel",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-10-04T21:40:13.197653183Z"
          },
          "versions": [
            {
              "registry": "npm",
              "name": "liteapi-node-sdk",
              "version": "4.3.2",
              "seenAt": "2026-10-04T16:31:48.81445089Z"
            }
          ],
          "githubStars": 3,
          "npmWeekly": 18281,
          "securityTxt": {
            "url": "https://liteapi.travel/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:51.367596285Z"
          },
          "llmsTxt": {
            "url": "https://docs.liteapi.travel/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:17:57.129284461Z"
          },
          "domain": {
            "domain": "liteapi.travel",
            "registered": "2023-03-01",
            "source": "https://rdap.identitydigital.services/rdap/domain/liteapi.travel",
            "checkedAt": "2026-10-04T13:10:23.88661532Z"
          },
          "pages": [
            {
              "url": "https://docs.liteapi.travel/reference/api-pricing-usage-costs",
              "kind": "pricing",
              "status": 200,
              "checkedAt": "2026-10-04T15:43:45.051909196Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "cbca94e86dd0"
            },
            {
              "url": "https://www.liteapi.travel/privacy/",
              "kind": "privacy",
              "status": 304,
              "checkedAt": "2026-10-04T15:51:02.932582724Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "2bc0675bca0b"
            },
            {
              "url": "https://www.liteapi.travel/terms/",
              "kind": "terms",
              "status": 304,
              "checkedAt": "2026-10-04T15:51:05.068111235Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "85254ed151cc"
            }
          ],
          "updatedAt": "2026-10-04T22:35:26.030681884Z"
        }
      },
      {
        "slug": "flightclaw",
        "name": "FlightClaw",
        "vendor": "FlightClaw",
        "vendorUrl": "https://flightclaw.com",
        "kind": "mcp",
        "category": "travel",
        "summary": "Hosted MCP server for booking flights from an agent.",
        "url": "https://www.anchorterminal.com/tools/flightclaw",
        "markdownUrl": "https://www.anchorterminal.com/tools/flightclaw.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/flightclaw.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/flightclaw.json",
        "repo": "https://github.com/flightclaw/agents",
        "license": "MIT (local server)",
        "transports": [
          "streamable-http",
          "stdio"
        ],
        "remoteUrl": "https://mcp.flightclaw.com/mcp",
        "packages": [],
        "auth": "oauth",
        "authNotes": "The hosted server uses OAuth 2.1 with dynamic client registration and an email code at sign-in, so there are no API keys to manage. The open-source local server (Python, Google Flights search) needs no credentials for search and only reaches the booking tools with a `FLIGHTCLAW_API_KEY` that isn't publicly issued.",
        "pricing": "usage",
        "pricingNotes": "The API and MCP server are free to call. Travellers pay the airline fare plus a booking fee of 5 per cent plus $3 (minimum $12), shown as a separate line before payment, and $6 per change, charged in the offer currency. The booking fee isn't refunded unless the airline cancels the flight (https://flightclaw.com/terms).",
        "priceSummary": "5% fee",
        "where": "both",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": 36,
        "popularity": {
          "githubStars": 74,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://flightclaw.com/docs",
        "llmsTxt": "https://flightclaw.com/llms.txt",
        "registryName": "com.flightclaw/flightclaw",
        "capabilities": [
          "travel.flights",
          "travel.booking",
          "travel.changes",
          "travel.search"
        ],
        "tags": [
          "hosted",
          "mcp",
          "oauth",
          "open-source",
          "python",
          "free-tier",
          "no-card",
          "llms-txt"
        ],
        "lastRelease": "2026-09-26",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 45.5,
          "grade": "E",
          "agentReady": false,
          "rank": 398,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 4,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 47,
            "maintenance": 68,
            "payments": 50,
            "reliability": 30,
            "schema": 50,
            "security": 50,
            "transparency": 32
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Hosted MCP at mcp.flightclaw.com/mcp with OAuth 2.1, PKCE and dynamic client registration, no API keys. Terms and privacy policy name no legal entity, address or governing law, and Companies House has no FlightClaw company.",
          "strengths": [
            "Hosted MCP at mcp.flightclaw.com/mcp with OAuth 2.1, PKCE and dynamic client registration, no API keys",
            "Booking ends on a checkout link the traveller pays, so the agent never handles card numbers",
            "Fee published and shown as a line item, 5 per cent plus $3 with a $12 floor, $6 per change",
            "llms.txt with the full flow, limits and pricing",
            "In the official MCP registry under the domain-verified com.flightclaw namespace"
          ],
          "weaknesses": [
            "Terms and privacy policy name no legal entity, address or governing law, and Companies House has no FlightClaw company",
            "No status page, changelog, SLA or documented error responses",
            "One OAuth scope covers search, booking and the stored traveller, card-label and loyalty profile",
            "100 searches per user per UTC day on the hosted server",
            "Tool count differs between the README (36), llms.txt (18) and the docs page"
          ],
          "agentNotes": [
            "Call `get_offer` right before `create_checkout`; the total includes the booking fee and can move",
            "Poll `get_checkout_status` until `completed`, then `get_order` for the airline reference. A sent link isn't a booking",
            "Never ask for card numbers in chat. Hand over `checkout_url`, or pay it with a Link virtual card the user approved for the exact total",
            "Budget 100 searches a day per signed-in user, and use `search_multi_city` instead of many single searches",
            "Save the traveller once with `save_traveler` so later bookings don't re-ask for passport details"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3.5,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "E",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 45.5
            }
          ],
          "editorialScores": {
            "ergonomics": 47,
            "maintenance": 68,
            "payments": 50,
            "reliability": 30,
            "schema": 50,
            "security": 50,
            "transparency": 28
          },
          "provenanceScore": 35
        },
        "connect": {
          "claudeCode": "claude mcp add --transport http flightclaw https://mcp.flightclaw.com/mcp",
          "config": {
            "mcpServers": {
              "flightclaw": {
                "url": "https://mcp.flightclaw.com/mcp"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/travel.flights",
          "tool": "https://letme.dev/flightclaw"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Booking fee",
            "unit": "pct",
            "usd": 5,
            "note": "plus $3 per booking, minimum $12, paid by the traveller"
          },
          {
            "item": "Booking fee fixed part",
            "unit": "tx",
            "usd": 3,
            "note": "on top of the 5 per cent"
          },
          {
            "item": "Change fee",
            "unit": "tx",
            "usd": 6,
            "note": "per change, charged in the offer currency"
          }
        ],
        "provenance": {
          "legalEntity": "",
          "domain": "flightclaw.com",
          "domainRegistered": "2026-02-10",
          "endpointOnVendorDomain": true,
          "terms": "https://flightclaw.com/terms",
          "privacy": "https://flightclaw.com/privacy",
          "statusPage": "",
          "changelog": "",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "The terms give only support@flightclaw.com. The repository licence is in the name of Jack Culpan.",
            "Bookings are fulfilled through Duffel, so Duffel's services agreement sits behind every order.",
            "flightclaw.com/.well-known/security.txt returns 404."
          ],
          "score": 35
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/flightclaw.json",
        "live": {
          "slug": "flightclaw",
          "probe": {
            "target": "https://mcp.flightclaw.com/mcp",
            "method": "mcp-initialize",
            "lastAt": "2026-10-04T22:35:23.535914756Z",
            "lastOk": true,
            "lastStatus": 401,
            "lastMs": 312,
            "lastNote": "asks for credentials",
            "authRequired": true,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 81,
            "p95ms24h": 192,
            "samples24h": 272,
            "samples30d": 884,
            "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": 256,
                "ok": 256
              }
            ]
          },
          "versions": [
            {
              "registry": "mcp-registry",
              "name": "com.flightclaw/flightclaw",
              "version": "1.0.0",
              "seenAt": "2026-10-03T23:29:28.630222764Z"
            }
          ],
          "githubStars": 75,
          "securityTxt": {
            "url": "https://flightclaw.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:39.371283316Z"
          },
          "llmsTxt": {
            "url": "https://flightclaw.com/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:17:47.247124413Z"
          },
          "domain": {
            "domain": "flightclaw.com",
            "registered": "2026-02-10",
            "source": "https://rdap.verisign.com/com/v1/domain/flightclaw.com",
            "checkedAt": "2026-10-04T13:09:43.717363786Z"
          },
          "pages": [
            {
              "url": "https://flightclaw.com/privacy",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-10-04T15:44:45.792677596Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "b5699b39d6e8"
            },
            {
              "url": "https://flightclaw.com/terms",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-04T15:44:47.822994962Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "a386492e6d7d"
            }
          ],
          "mcpTools": {
            "url": "https://mcp.flightclaw.com/mcp",
            "checkedAt": "2026-10-04T22:19:47.432848473Z",
            "status": "auth",
            "note": "asks for credentials before listing its tools",
            "changedAt": "2026-10-01T21:57:33.283688429Z"
          },
          "updatedAt": "2026-10-04T22:35:23.535914756Z"
        }
      },
      {
        "slug": "expedia-rapid",
        "name": "Expedia Group Rapid API",
        "vendor": "Expedia Group",
        "vendorUrl": "https://developers.expediagroup.com/docs/products/rapid",
        "kind": "http-api",
        "category": "travel",
        "summary": "Expedia Group's lodging distribution API for partners, with shop, price check, book, change and cancel on Expedia's hotel inventory, plus content, geography and typeahead endpoints.",
        "url": "https://www.anchorterminal.com/tools/expedia-rapid",
        "markdownUrl": "https://www.anchorterminal.com/tools/expedia-rapid.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/expedia-rapid.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/expedia-rapid.json",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://api.ean.com",
        "packages": [],
        "auth": "api-key",
        "authNotes": "Signed header. `Authorization: EAN APIKey=\u003ckey\u003e,Signature=\u003csha512\u003e,timestamp=\u003cunix seconds\u003e`, where the signature is a SHA-512 hex digest of the API key, the shared secret and the timestamp. Keys come from the Partner Portal under Connectivity and stay in a restricted development mode until Expedia reviews your site and approves launch.",
        "pricing": "byo-plan",
        "pricingNotes": "No published prices. Rapid is a partner product. You apply through partner.expediagroup.com, sign an agreement, and the commercial model (net rates or commission, payment handling) sits in that contract. The developer docs never state a price (https://developers.expediagroup.com/rapid/setup).",
        "priceSummary": "Your plan",
        "where": "hosted",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://developers.expediagroup.com/docs/products/rapid",
        "openapi": "https://github.com/ExpediaGroup/rapid-java-sdk/blob/main/specs.yaml",
        "capabilities": [
          "travel.stays",
          "travel.booking",
          "travel.changes",
          "travel.search"
        ],
        "tags": [
          "hosted",
          "closed-source",
          "enterprise",
          "partner-only",
          "java"
        ],
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 42.8,
          "grade": "E",
          "agentReady": false,
          "rank": 411,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 5,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 69,
            "maintenance": 25,
            "payments": 10,
            "reliability": 25,
            "schema": 78,
            "security": 39,
            "transparency": 42
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Expedia's lodging inventory with shop, price check, book, change and cancel in one API. Partner application and site review before production, no self-serve keys.",
          "strengths": [
            "Expedia's lodging inventory with shop, price check, book, change and cancel in one API",
            "Public OpenAPI 3.0.1 document for Rapid v3 in Expedia Group's rapid-java-sdk repository",
            "Test host (test.ean.com) that never creates real bookings, with a `Test` header to force error responses",
            "429 responses carry per-minute and per-day limit, remaining and reset headers",
            "Dated public changelog, with holdable rates, sanction screening and card recapture added since December 2025"
          ],
          "weaknesses": [
            "Partner application and site review before production, no self-serve keys",
            "No published prices, rate-limit numbers, SLA or status page",
            "Signed `Authorization` header needs the shared secret and an accurate clock on every call",
            "Java is the only official SDK and its spec copy was last updated in December 2025",
            "No changelog entry since May 2026"
          ],
          "agentNotes": [
            "Build the SHA-512 signature from key, secret and the current epoch seconds in that order, per request",
            "Send `Customer-Ip` and the session headers the docs ask for, since fraud checks use them",
            "Point everything at test.ean.com until the site review is through; the paths match api.ean.com",
            "Follow the `links` in each response rather than building URLs; price check and book links carry tokens",
            "Read the `Rate-Limit-Minute-Remaining` and `Rate-Limit-Day-Remaining` headers, since the docs publish no ceilings"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 1.5,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "E",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 42.8
            }
          ],
          "editorialScores": {
            "ergonomics": 69,
            "maintenance": 25,
            "payments": 10,
            "reliability": 25,
            "schema": 78,
            "security": 39,
            "transparency": 28
          },
          "provenanceScore": 55
        },
        "connect": {
          "http": "TS=$(date +%s); SIG=$(printf '%s%s%s' \"$EAN_API_KEY\" \"$EAN_SHARED_SECRET\" \"$TS\" | sha512sum | cut -d' ' -f1)\ncurl \"https://test.ean.com/v3/regions?include=standard\u0026language=en-GB\" \\\n  -H \"Authorization: EAN APIKey=$EAN_API_KEY,Signature=$SIG,timestamp=$TS\" \\\n  -H \"Accept: application/json\" -H \"Customer-Ip: 203.0.113.10\""
        },
        "letme": {
          "capability": "https://letme.dev/travel.stays",
          "tool": "https://letme.dev/expedia-rapid"
        },
        "area": "domain-data",
        "provenance": {
          "legalEntity": "Expedia, Inc.",
          "domain": "expediagroup.com",
          "domainRegistered": "2005-03-18",
          "endpointOnVendorDomain": false,
          "terms": "",
          "privacy": "https://legal.expediagroup.com/privacy/privacy-and-cookies-statements/other/expedia-group-privacy",
          "statusPage": "",
          "changelog": "https://developers.expediagroup.com/rapid/setup/changelog",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "The API lives on ean.com (the old Expedia Affiliate Network domain), not expediagroup.com.",
            "The Rapid terms are in the partner agreement, which isn't public; the group privacy statement names Expedia, Inc. as principal controller.",
            "developers.expediagroup.com/.well-known/security.txt returns 404."
          ],
          "score": 55
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/expedia-rapid.json",
        "live": {
          "slug": "expedia-rapid",
          "probe": {
            "target": "https://api.ean.com",
            "method": "get",
            "lastAt": "2026-10-04T22:35:23.129069319Z",
            "lastOk": true,
            "lastStatus": 403,
            "lastMs": 42,
            "lastNote": "asks for credentials",
            "authRequired": true,
            "uptime24h": 99.63,
            "uptime30d": 99.66,
            "p50ms24h": 44,
            "p95ms24h": 170,
            "samples24h": 272,
            "samples30d": 884,
            "days": [
              {
                "date": "2026-10-01",
                "probes": 109,
                "ok": 109
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 246
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 256,
                "ok": 255
              }
            ]
          },
          "securityTxt": {
            "url": "https://expediagroup.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:45.034337971Z"
          },
          "domain": {
            "domain": "expediagroup.com",
            "registered": "2005-03-18",
            "source": "https://rdap.verisign.com/com/v1/domain/expediagroup.com",
            "checkedAt": "2026-10-04T13:10:15.717910339Z"
          },
          "pages": [
            {
              "url": "https://developers.expediagroup.com/rapid/setup/changelog",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:42:47.605009025Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "905135a2bb15"
            },
            {
              "url": "https://legal.expediagroup.com/privacy/privacy-and-cookies-statements/other/expedia-group-privacy",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-10-04T15:45:25.556412177Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "a3c3c9826ec3"
            }
          ],
          "updatedAt": "2026-10-04T22:35:23.129069319Z"
        }
      },
      {
        "slug": "booking-demand-api",
        "name": "Booking.com Demand API",
        "vendor": "Booking.com",
        "vendorUrl": "https://developers.booking.com/demand/docs",
        "kind": "http-api",
        "category": "travel",
        "summary": "Booking.com's inventory for affiliates, from content-only through search, look and book to order management, across accommodation, cars, attractions and transfers.",
        "url": "https://www.anchorterminal.com/tools/booking-demand-api",
        "markdownUrl": "https://www.anchorterminal.com/tools/booking-demand-api.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/booking-demand-api.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/booking-demand-api.json",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://demandapi-sandbox.booking.com/3.2",
        "packages": [],
        "auth": "api-key",
        "authNotes": "`Authorization: Bearer \u003capi key\u003e` plus `X-Affiliate-Id: \u003caid\u003e` on every call. The key is generated once in the Affiliate Partner Centre and shown in full only at creation. The same key and affiliate ID work on the sandbox host; the production host is in the API reference behind partner sign-in.",
        "pricing": "byo-plan",
        "pricingNotes": "No published prices. Access needs registration as a Booking.com Managed Affiliate Partner with Partner Centre access, and the commercial terms (commission on completed stays) are in that partner agreement rather than the docs. Sandbox and test calls are free once you have a key (https://developers.booking.com/demand/docs/getting-started/try-out-the-api).",
        "priceSummary": "Your plan",
        "where": "hosted",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://developers.booking.com/demand/docs",
        "capabilities": [
          "travel.stays",
          "travel.booking",
          "travel.changes",
          "travel.search"
        ],
        "tags": [
          "hosted",
          "closed-source",
          "enterprise",
          "partner-only",
          "eu"
        ],
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 38.1,
          "grade": "E",
          "agentReady": false,
          "rank": 431,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 6,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 53,
            "maintenance": 28,
            "payments": 5,
            "reliability": 33,
            "schema": 57,
            "security": 36,
            "transparency": 49
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Search, look and book plus order management on Booking.com's accommodation inventory. Managed Affiliate Partner status required; no self-serve key.",
          "strengths": [
            "Search, look and book plus order management on Booking.com's accommodation inventory",
            "Cars, attractions and transfers under the same key",
            "Three versions with stated status (3.2 stable, 3.1 supported, 3.2-Beta) and a dated changelog",
            "Sandbox on the same credentials as production, 50 requests a minute",
            "Key handling guidance in the docs (shown once, rotate yearly, revoke on compromise)"
          ],
          "weaknesses": [
            "Managed Affiliate Partner status required; no self-serve key",
            "No published prices, SLA, status page or production rate limits beyond cars search",
            "No downloadable OpenAPI file, llms.txt, SDKs or MCP server",
            "Sandbox payment tests need a real card with temporary charges, and only accommodation books there",
            "One changelog entry in 2026 that we could read"
          ],
          "agentNotes": [
            "Send both `Authorization: Bearer` and `X-Affiliate-Id`, or the call fails on auth",
            "Stay under 50 requests a minute in the sandbox and back off exponentially on 429",
            "Only accommodation flows book in the sandbox; cars and attractions won't",
            "Store the key at creation, it's never shown again",
            "Use filters and pagination on search to keep payloads small"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 1.5,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "E",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 38.1
            }
          ],
          "editorialScores": {
            "ergonomics": 53,
            "maintenance": 28,
            "payments": 5,
            "reliability": 33,
            "schema": 57,
            "security": 36,
            "transparency": 28
          },
          "provenanceScore": 70
        },
        "connect": {
          "http": "curl -X POST https://demandapi-sandbox.booking.com/3.2/accommodations/search \\\n  -H \"Authorization: Bearer $BOOKING_API_KEY\" -H \"X-Affiliate-Id: $BOOKING_AFFILIATE_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"booker\":{\"country\":\"gb\",\"platform\":\"desktop\"},\"checkin\":\"2026-11-10\",\"checkout\":\"2026-11-12\",\"city\":-2601889,\"guests\":{\"number_of_adults\":2,\"number_of_rooms\":1}}'"
        },
        "letme": {
          "capability": "https://letme.dev/travel.stays",
          "tool": "https://letme.dev/booking-demand-api"
        },
        "area": "domain-data",
        "provenance": {
          "legalEntity": "Booking.com B.V.",
          "domain": "booking.com",
          "domainRegistered": "1998-04-17",
          "endpointOnVendorDomain": true,
          "terms": "",
          "privacy": "https://admin.booking.com/hotel/hoteladmin/privacy.html",
          "statusPage": "",
          "changelog": "https://developers.booking.com/demand/docs/whats-new/changelog",
          "securityTxt": "none",
          "checked": "2026-10-01",
          "notes": [
            "The partner privacy statement names Booking.com B.V., Amsterdam, as the responsible entity; the affiliate terms sit behind Partner Centre sign-in and weren't readable.",
            "www.booking.com blocks crawlers by robots.txt, so the consumer privacy and terms pages weren't checked.",
            "developers.booking.com/.well-known/security.txt returned 404 on 30 September.",
            "The developer portal has a dated changelog, newest entry August 2026."
          ],
          "score": 70
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/booking-demand-api.json",
        "live": {
          "slug": "booking-demand-api",
          "probe": {
            "target": "https://demandapi-sandbox.booking.com/3.2",
            "method": "get",
            "lastAt": "2026-10-04T22:35:20.098720292Z",
            "lastOk": true,
            "lastStatus": 401,
            "lastMs": 85,
            "lastNote": "asks for credentials",
            "authRequired": true,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 102,
            "p95ms24h": 160,
            "samples24h": 272,
            "samples30d": 884,
            "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": 256,
                "ok": 256
              }
            ]
          },
          "securityTxt": {
            "url": "https://booking.com/.well-known/security.txt",
            "state": "expired",
            "expires": "2025-12-31T23:00:00.000Z",
            "checkedAt": "2026-10-04T15:15:51.873953535Z"
          },
          "domain": {
            "domain": "booking.com",
            "registered": "1998-04-17",
            "source": "https://rdap.verisign.com/com/v1/domain/booking.com",
            "checkedAt": "2026-10-04T13:09:07.505050512Z"
          },
          "pages": [
            {
              "url": "https://developers.booking.com/demand/docs/whats-new/changelog",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:42:43.113184246Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "c6e369a79bc9"
            },
            {
              "url": "https://admin.booking.com/hotel/hoteladmin/privacy.html",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-10-04T15:41:07.067795636Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "f2b0aca34b64"
            }
          ],
          "updatedAt": "2026-10-04T22:35:20.098720292Z"
        }
      },
      {
        "slug": "hotelbeds",
        "name": "Hotelbeds Hotel Booking API",
        "vendor": "Hotelbeds (HBX Group)",
        "vendorUrl": "https://developer.hotelbeds.com",
        "kind": "http-api",
        "category": "travel",
        "summary": "B2B hotel distribution API for availability, rates, bookings, cancellations and property content.",
        "url": "https://www.anchorterminal.com/tools/hotelbeds",
        "markdownUrl": "https://www.anchorterminal.com/tools/hotelbeds.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/hotelbeds.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/hotelbeds.json",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://api.test.hotelbeds.com",
        "packages": [],
        "auth": "api-key",
        "authNotes": "Two headers on every call. `Api-key` is your key and `X-Signature` is a SHA-256 hex digest of the key, the shared secret and the current Unix time in seconds, concatenated in that order, so a clock that drifts breaks auth. Keys come from the developer dashboard on registration. The production host is issued once you're certified.",
        "pricing": "byo-plan",
        "pricingNotes": "No published price list. Registration gives an evaluation key with 50 requests a day on the test host. Better quotas come from progressing through profile completion and certification in the dashboard, and live bookings need a commercial agreement with Hotelbeds whose rates aren't published. The API terms warn that abusive or excessively frequent requests get an account suspended (https://developer.hotelbeds.com/documentation/getting-started/).",
        "priceSummary": "Your plan",
        "where": "hosted",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://developer.hotelbeds.com/documentation/",
        "capabilities": [
          "travel.stays",
          "travel.booking",
          "travel.changes",
          "travel.search"
        ],
        "tags": [
          "hosted",
          "closed-source",
          "free-tier",
          "no-card",
          "enterprise",
          "eu"
        ],
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 36.7,
          "grade": "F",
          "agentReady": false,
          "rank": 435,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 7,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 41,
            "maintenance": 3,
            "payments": 20,
            "reliability": 33,
            "schema": 57,
            "security": 38,
            "transparency": 54
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Free evaluation key on registration, no card and no sales call. 50 requests a day on evaluation, and the 51st returns a 403.",
          "strengths": [
            "Free evaluation key on registration, no card and no sales call",
            "Availability, CheckRate, booking, modification and cancellation in one API, with Content and Cache APIs alongside",
            "Cancellation can be simulated before it's run",
            "Swagger specifications and Postman collections referenced from the getting-started page",
            "Test host on the same servers as production, with no real reservations or card charges"
          ],
          "weaknesses": [
            "50 requests a day on evaluation, and the 51st returns a 403",
            "Live bookings need certification and a commercial contract, with no published prices",
            "No changelog, release notes or deprecation notices found",
            "Status page is a Pingdom uptime report with no incident history",
            "No SDKs, llms.txt, documented error codes or MCP server"
          ],
          "agentNotes": [
            "Compute `X-Signature` fresh per request from key, secret and the current epoch seconds, in that order",
            "Budget the 50 daily evaluation calls; cache hotel content and only call availability for real dates",
            "Run CheckRate on a rate before booking when the availability response says it needs rechecking",
            "Read a 403 on the test host as the daily quota first, not a bad key",
            "Simulate a cancellation before running it"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 2.5,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "F",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 36.7
            }
          ],
          "editorialScores": {
            "ergonomics": 41,
            "maintenance": 3,
            "payments": 20,
            "reliability": 33,
            "schema": 57,
            "security": 38,
            "transparency": 28
          },
          "provenanceScore": 80
        },
        "connect": {
          "http": "curl \"https://api.test.hotelbeds.com/hotel-api/1.0/status\" \\\n  -H \"Api-key: $HOTELBEDS_API_KEY\" -H \"Accept: application/json\" \\\n  -H \"X-Signature: $(printf '%s%s%s' \"$HOTELBEDS_API_KEY\" \"$HOTELBEDS_SECRET\" \"$(date +%s)\" | sha256sum | cut -d' ' -f1)\""
        },
        "letme": {
          "capability": "https://letme.dev/travel.stays",
          "tool": "https://letme.dev/hotelbeds"
        },
        "area": "domain-data",
        "provenance": {
          "legalEntity": "HBX International Group PLC (Hotelbeds)",
          "domain": "hotelbeds.com",
          "domainRegistered": "2001-06-19",
          "endpointOnVendorDomain": true,
          "terms": "https://developer.hotelbeds.com/api-terms-use",
          "privacy": "https://www.hbxgroup.com/privacy-policy",
          "statusPage": "http://stats.pingdom.com/lxdqh5mwxj3w",
          "changelog": "",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "The API terms name Hotelbeds or Travel B2B Ltd as the provider, under Spanish law and the courts of Palma de Mallorca. The group privacy policy names HBX International Group PLC, 7th Floor Tower 42, 25 Old Broad Street, London EC2N 1HN, as controller.",
            "The status page is a public Pingdom report rather than a vendor status site.",
            "developer.hotelbeds.com/.well-known/security.txt returns 404."
          ],
          "score": 80
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/hotelbeds.json",
        "live": {
          "slug": "hotelbeds",
          "probe": {
            "target": "https://api.test.hotelbeds.com",
            "method": "get",
            "lastAt": "2026-10-04T22:35:24.66981772Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 67,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 48,
            "p95ms24h": 87,
            "samples24h": 272,
            "samples30d": 884,
            "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": 256,
                "ok": 256
              }
            ]
          },
          "vendorStatus": {
            "page": "http://stats.pingdom.com/lxdqh5mwxj3w",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-10-04T21:40:07.893490523Z"
          },
          "securityTxt": {
            "url": "https://hotelbeds.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:50.583118891Z"
          },
          "domain": {
            "domain": "hotelbeds.com",
            "registered": "2001-06-19",
            "source": "https://rdap.verisign.com/com/v1/domain/hotelbeds.com",
            "checkedAt": "2026-10-04T13:04:34.216873885Z"
          },
          "pages": [
            {
              "url": "https://www.hbxgroup.com/privacy-policy",
              "kind": "privacy",
              "status": 304,
              "checkedAt": "2026-10-04T15:50:37.63156573Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "d52ebddb3584"
            },
            {
              "url": "https://developer.hotelbeds.com/api-terms-use",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-04T15:42:36.629077789Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "da01a8431a6e"
            }
          ],
          "updatedAt": "2026-10-04T22:35:24.66981772Z"
        }
      }
    ]
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/categories/travel",
    "json": "https://www.anchorterminal.com/categories/travel.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/categories/travel.md",
    "slim": "https://www.anchorterminal.com/categories/travel.min.md"
  },
  "markdown": "APIs that search and book flights, hotels and other stays, with prices, availability, changes and cancellations. Compared on inventory, whether an agent can complete a booking, how payment is handled and what access needs.\n\n- Tools ranked: 7 · agent-ready (BB or better): 0 · accept x402: 0 · hosted endpoints: 7 · desk reviews by the panel: 14\n- JSON: https://www.anchorterminal.com/api/v1/tools.json (list) · https://www.anchorterminal.com/api/v1/rankings.json (ranked) · https://www.anchorterminal.com/api/v1/x402.json (payable) · https://www.anchorterminal.com/api/v1/capabilities.json (by capability)\n- Grades run AA, A, BB, B, C, D, E, F · methodology: https://www.anchorterminal.com/benchmark/\n\n- Capabilities in this category: travel.flights, travel.stays, travel.booking, travel.changes, travel.search\n- https://letme.dev/travel.flights picks the top-graded tool in this list and says how to call it direct; calling through letme comes later (https://www.anchorterminal.com/letme/index.md)\n\n## Ranking\n\n| # | Tool | Vendor | Kind | Category | Grade | Score | Confidence | x402 | Auth | Where | Reviews | Page |\n| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |\n| 153 | Duffel Flights and Stays API | Duffel | HTTP API | Travel | B | 66.9 | high | no | API key | hosted | 4/5 (2) | https://www.anchorterminal.com/tools/duffel.md |\n| 189 | LetsFG | LetsFG | HTTP API | Travel | B | 64.2 | medium | no | OAuth or key | hosted + local | 3.5/5 (2) | https://www.anchorterminal.com/tools/letsfg.md |\n| 332 | LiteAPI (Nuitee Connect) | Nuitee | HTTP API | Travel | D | 53.5 | medium | no | API key | hosted + local | 4/5 (2) | https://www.anchorterminal.com/tools/liteapi.md |\n| 398 | FlightClaw | FlightClaw | MCP server | Travel | E | 45.5 | medium | no | OAuth | hosted + local | 3.5/5 (2) | https://www.anchorterminal.com/tools/flightclaw.md |\n| 411 | Expedia Group Rapid API | Expedia Group | HTTP API | Travel | E | 42.8 | medium | no | API key | hosted | 1.5/5 (2) | https://www.anchorterminal.com/tools/expedia-rapid.md |\n| 431 | Booking.com Demand API | Booking.com | HTTP API | Travel | E | 38.1 | medium | no | API key | hosted | 1.5/5 (2) | https://www.anchorterminal.com/tools/booking-demand-api.md |\n| 435 | Hotelbeds Hotel Booking API | Hotelbeds (HBX Group) | HTTP API | Travel | F | 36.7 | medium | no | API key | hosted | 2.5/5 (2) | https://www.anchorterminal.com/tools/hotelbeds.md |\n\nScores are from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/), with Performance and Task success pending. p95 latency and context cost come from our probes, which haven't run yet.\n\n## Summaries\n\n### 153. Duffel Flights and Stays API, B (66.9)\n\nSelf-serve flight and hotel booking API. Self-serve sign-up and test mode with no card or contract. No OpenAPI document, llms.txt or official MCP server.\n\n- Page: https://www.anchorterminal.com/tools/duffel · Markdown: https://www.anchorterminal.com/tools/duffel.md · JSON: https://www.anchorterminal.com/api/v1/tools/duffel.json\n- Capabilities: travel.flights, travel.stays, travel.booking, travel.changes, travel.search · endpoint: `https://api.duffel.com`\n\n### 189. LetsFG, B (64.2)\n\nAgent-first flight and hotel search and booking (formerly BoostedTravel). Hosted MCP with OAuth 2.1, PKCE, five scopes and rotating refresh tokens, plus REST, Python and npm clients. Tickets are bought by a LetsFG booking agent after the hold, 4 to 11 minutes per the docs, and bookings can pause with questions.\n\n- Page: https://www.anchorterminal.com/tools/letsfg · Markdown: https://www.anchorterminal.com/tools/letsfg.md · JSON: https://www.anchorterminal.com/api/v1/tools/letsfg.json\n- Capabilities: travel.flights, travel.stays, travel.booking, travel.changes, travel.search · endpoint: `https://letsfg.co/developers/api/v1`\n\n### 332. LiteAPI (Nuitee Connect), D (53.5)\n\nSelf-serve hotel booking API (3 million plus properties) with a rates, prebook, book flow, cancellations and amendments, plus a flights API that needs approval. Sandbox key at sign-up, same base URL as production, no card. Hosted MCP's documented setup puts the API key in the URL query string and exposes 111 generated tools.\n\n- Page: https://www.anchorterminal.com/tools/liteapi · Markdown: https://www.anchorterminal.com/tools/liteapi.md · JSON: https://www.anchorterminal.com/api/v1/tools/liteapi.json\n- Capabilities: travel.stays, travel.flights, travel.booking, travel.changes, travel.search · endpoint: `https://api.liteapi.travel/v3.0`\n\n### 398. FlightClaw, E (45.5)\n\nHosted MCP server for booking flights from an agent. Hosted MCP at mcp.flightclaw.com/mcp with OAuth 2.1, PKCE and dynamic client registration, no API keys. Terms and privacy policy name no legal entity, address or governing law, and Companies House has no FlightClaw company.\n\n- Page: https://www.anchorterminal.com/tools/flightclaw · Markdown: https://www.anchorterminal.com/tools/flightclaw.md · JSON: https://www.anchorterminal.com/api/v1/tools/flightclaw.json\n- Capabilities: travel.flights, travel.booking, travel.changes, travel.search · endpoint: `https://mcp.flightclaw.com/mcp`\n\n### 411. Expedia Group Rapid API, E (42.8)\n\nExpedia Group's lodging distribution API for partners, with shop, price check, book, change and cancel on Expedia's hotel inventory, plus content, geography and typeahead endpoints. Expedia's lodging inventory with shop, price check, book, change and cancel in one API. Partner application and site review before production, no self-serve keys.\n\n- Page: https://www.anchorterminal.com/tools/expedia-rapid · Markdown: https://www.anchorterminal.com/tools/expedia-rapid.md · JSON: https://www.anchorterminal.com/api/v1/tools/expedia-rapid.json\n- Capabilities: travel.stays, travel.booking, travel.changes, travel.search · endpoint: `https://api.ean.com`\n\n### 431. Booking.com Demand API, E (38.1)\n\nBooking.com's inventory for affiliates, from content-only through search, look and book to order management, across accommodation, cars, attractions and transfers. Search, look and book plus order management on Booking.com's accommodation inventory. Managed Affiliate Partner status required; no self-serve key.\n\n- Page: https://www.anchorterminal.com/tools/booking-demand-api · Markdown: https://www.anchorterminal.com/tools/booking-demand-api.md · JSON: https://www.anchorterminal.com/api/v1/tools/booking-demand-api.json\n- Capabilities: travel.stays, travel.booking, travel.changes, travel.search · endpoint: `https://demandapi-sandbox.booking.com/3.2`\n\n### 435. Hotelbeds Hotel Booking API, F (36.7)\n\nB2B hotel distribution API for availability, rates, bookings, cancellations and property content. Free evaluation key on registration, no card and no sales call. 50 requests a day on evaluation, and the 51st returns a 403.\n\n- Page: https://www.anchorterminal.com/tools/hotelbeds · Markdown: https://www.anchorterminal.com/tools/hotelbeds.md · JSON: https://www.anchorterminal.com/api/v1/tools/hotelbeds.json\n- Capabilities: travel.stays, travel.booking, travel.changes, travel.search · endpoint: `https://api.test.hotelbeds.com`\n\n## How we test this category\n\nAn agent searches a return flight and a hotel, holds or books where the sandbox allows, then changes and cancels. We check the inventory, the booking and payment steps, the change flow and what getting access took. This test hasn't run yet, so Task success is pending and the grades here come from the categories assessed from public evidence.\n\n## Indexed, not reviewed (36)\n\nSorted into this category from public catalogues, with facts and our own checks but no score, grade or rank (https://www.anchorterminal.com/indexed/index.md).\n\n| Listing | Kind | What it does | Why it's here |\n| --- | --- | --- | --- |\n| [1stay](https://www.anchorterminal.com/tools/stayker-1stay.md) | MCP server | Hotel booking MCP server. Search, book, and manage reservations across 250K+ properties worldwide. | vendor's own |\n| [Award Flight Daily](https://www.anchorterminal.com/tools/awardflightdaily-award-flight-daily.md) | MCP server | Official airline award MCP. Search 12.3M+ award flights across 48 loyalty programs. | vendor's own |\n| [Bitvoya MCP](https://www.anchorterminal.com/tools/bitvoya-mcp.md) | MCP server | Luxury hotel search, rate comparison, booking quotes, and secure checkout handoff. | vendor's own |\n| [Booking.com Hotel Search (Live Prices)](https://www.anchorterminal.com/tools/flightpowers-booking.md) | MCP server | Live Booking.com hotel prices, plus per-country pricing for rate-parity monitoring. | vendor's own |\n| [BoostedTravel](https://www.anchorterminal.com/tools/boostedchat-travel.md) | MCP server | Flight search \u0026 booking for AI agents. 400+ airlines, $20-50 cheaper than OTAs. | vendor's own, widely used |\n| [browser-use](https://www.anchorterminal.com/tools/browser-use.md) | MCP server | Control a real Chrome browser to complete any task: fill forms, extract data, book flights. | vendor's own, widely used |\n| [Chia Health MCP Server](https://www.anchorterminal.com/tools/chia-mcp.md) | MCP server | Licensed US telehealth — GLP-1 medications, intake, consents, Stripe ACP. HIPAA-compliant, 30 tools. | vendor's own |\n| [Contribution Exchange](https://www.anchorterminal.com/tools/signalaf-contribution-exchange.md) | MCP server | Contribution Exchange MCP: domain discovery, policies, preflight, proposals, and signals. | vendor's own |\n| [Decionis CommerceGate MCP](https://www.anchorterminal.com/tools/decionis-commerce-gate.md) | MCP server | Commerce preflights, D365 authorization, signed evidence, and reports; no marketplace or ERP writes. | vendor's own, widely used |\n| [esimoa — travel eSIM comparison](https://www.anchorterminal.com/tools/esimoa-esim.md) | MCP server | Compare travel eSIM plans by country, days and data — live prices and links to buy on esimoa. | vendor's own |\n| [Everway MCP Server](https://www.anchorterminal.com/tools/everway-mcp-server.md) | MCP server | Read and update your Everway trips and itineraries from any MCP-compatible AI assistant. | vendor's own |\n| [gocushy.com MCP server](https://www.anchorterminal.com/tools/gocushy-mcp.md) | MCP server | The checkout your AI runs — bumps, upsells, subscriptions, tax and affiliates on your own Stripe. | vendor's own |\n| [Gondola Award Travel Search](https://www.anchorterminal.com/tools/gondola.md) | MCP server | Compare cash vs points on hotels, flights, and cars. Checkout supported hotels and rental cars. | vendor's own |\n| [Google Flights Search (Real-Time Fares)](https://www.anchorterminal.com/tools/flightpowers-google-flights.md) | MCP server | Real-time Google Flights: one-way and round-trip fares over date ranges, with price verdicts. | vendor's own |\n| [Mako Metrics](https://www.anchorterminal.com/tools/makometrics-mako-metrics.md) | MCP server | Competitor Meta ads intelligence reports. List plans, create orders, Stripe checkout for humans. | vendor's own |\n| [mcp-merchant](https://www.anchorterminal.com/tools/shawndurrani-mcp-merchant.md) | MCP server | Search-only commerce MCP server backed by Stripe (test) | vendor's own |\n| [Myrmigo](https://www.anchorterminal.com/tools/myrmigo.md) | MCP server | Travel booking reference: official sites, who services a booking, EU261/UK261 compensation checks | vendor's own |\n| [OctoTrip Flights](https://www.anchorterminal.com/tools/octotrip-flights.md) | MCP server | Free, no-login flight search with real-time pricing from multiple airlines. | vendor's own |\n| [OctoTrip Rental Cars](https://www.anchorterminal.com/tools/octotrip-rental-cars.md) | MCP server | Free, no-login rental car search with real-time pricing. | vendor's own |\n| [Otto Travel](https://www.anchorterminal.com/tools/ottotheagent-otto-travel.md) | MCP server | Plan, book, and manage business travel. | vendor's own |\n| [Pre-Trip compliance scanner](https://www.anchorterminal.com/tools/kesey-pretrip.md) | MCP server | Screen regulated-health marketing copy against source-cited rulesets, all 50 states. | vendor's own |\n| [PreClick — An MCP-native URL preflight scanning service for autonomous agents (formerly URLCheck).](https://www.anchorterminal.com/tools/urlcheck-mcp.md) | MCP server | PreClick scans links for threats and confirms intent match with high accuracy before agents click. | vendor's own |\n| [PreClick — An MCP-native URL preflight scanning service for autonomous agents.](https://www.anchorterminal.com/tools/preclick-mcp.md) | MCP server | PreClick scans links for threats and confirms intent match with high accuracy before agents click. | vendor's own |\n| [Ra Pay](https://www.anchorterminal.com/tools/rapay-mcp-server.md) | MCP server | Send fiat payments via MCP with two-step confirmation and Stripe Connect. | vendor's own |\n| [rendezvous-mcp](https://www.anchorterminal.com/tools/forgesworn-rendezvous-mcp.md) | MCP server | Fair meeting point discovery for AI agents with isochrone-based travel time fairness | vendor's own |\n| [Sato Kit](https://www.anchorterminal.com/tools/satohub-kit.md) | MCP server | Prepare -\u0026gt; execute for onchain agent actions: policy pre-flight, simulation, receipt log. | vendor's own |\n| [think-mcp](https://www.anchorterminal.com/tools/agentutil-think-mcp.md) | MCP server | Intent security pre-flight checks for autonomous AI agents. | vendor's own |\n| [travel](https://www.anchorterminal.com/tools/autonomad-travel.md) | MCP server | AI travel agent — book flights, hotels, activities, and events worldwide via autonomad.ai. | vendor's own |\n| [travel.art](https://www.anchorterminal.com/tools/travel-mcp.md) | MCP server | Art-tourism data for AI agents: biennales, art fairs, museums, layover itineraries with 2026 facts. | vendor's own |\n| [TripleBooks](https://www.anchorterminal.com/tools/triplebooks-mcp.md) | MCP server | Connect Claude or Cursor to books, invoices, bills, payroll, and sealed closes. | vendor's own |\n| [trips](https://www.anchorterminal.com/tools/thistripbtw-trips.md) | MCP server | Hand someone a complete trip as a private, editable map link. No account, no API key, no card. | vendor's own |\n| [Utilia Solana Transaction Evidence](https://www.anchorterminal.com/tools/utilia-solana-preflight.md) | MCP server | Solana transaction diagnosis, simulation, token-risk evidence, and priority fees via x402 USDC. | vendor's own |\n| [VerifyRef](https://www.anchorterminal.com/tools/verifyref-mcp.md) | MCP server | AI agent recruiting: talent pool match, reference checks, credit packs via Stripe MPP | vendor's own |\n| [VITNA — Agent Compliance Preflight](https://www.anchorterminal.com/tools/costrinity-vitna-compliance-preflight.md) | MCP server | Pre-action compliance for AI agents: allow, block or hold. 24 statutes, 13 jurisdictions. | vendor's own |\n| [Voyagier](https://www.anchorterminal.com/tools/voyagier-cli.md) | MCP server | Book real travel from your agent — flights, hotels \u0026 activities behind a price-gated checkout. | vendor's own |\n| [x402-middleware](https://www.anchorterminal.com/tools/gadgethumans-x402-middleware.md) | MCP server | One-line x402 + Stripe payment middleware for MCP servers. The Stripe for the agent economy. | vendor's own |\n\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Travel \u0026 booking",
        "url": ""
      }
    ],
    "description": "7 travel \u0026 booking listings ranked by the Anchor benchmark. Leader Duffel Flights and Stays API (B). APIs that search and book flights, hotels and other stays, with prices, availability, changes and cancellations. Compared on inventory, whether an agent can complete a booking, how payment is handled and what access needs.",
    "facts": [
      "Duffel Flights and Stays API B",
      "LetsFG B",
      "LiteAPI (Nuitee Connect) D"
    ],
    "h1": "Travel search and booking APIs for AI agents",
    "image": "https://www.anchorterminal.com/assets/og/categories-travel.png",
    "path": "/categories/travel",
    "published": "",
    "section": "tools",
    "title": "Travel search and booking APIs for AI agents, ranked | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/categories/travel"
  },
  "tokens": {
    "markdown": 4000,
    "slim": 430
  },
  "version": 1
}
