{
  "data": {
    "a": {
      "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": 1078,
        "ranked": true,
        "rankOf": 1171,
        "categoryRank": 10,
        "methodology": "0.4",
        "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.",
        "bestFor": "An affiliate that already holds Booking.com credentials and wants its agent to book stays, cars and attractions.",
        "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.4",
            "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": 69
      },
      "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": 69
      },
      "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-19T09:34:23.1415363Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 80,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 92,
          "p95ms24h": 157,
          "samples24h": 256,
          "samples30d": 4588,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 102,
              "ok": 102
            }
          ]
        },
        "securityTxt": {
          "url": "https://booking.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2025-12-31T23:00:00.000Z",
          "checkedAt": "2026-10-18T15:53:50.012870036Z"
        },
        "domain": {
          "domain": "booking.com",
          "registered": "1998-04-17",
          "source": "https://rdap.verisign.com/com/v1/domain/booking.com",
          "checkedAt": "2026-10-18T13:45:19.29639035Z"
        },
        "pages": [
          {
            "url": "https://developers.booking.com/demand/docs/whats-new/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-18T23:26:41.131718446Z",
            "changedAt": "2026-10-18T23:26:41.131718446Z",
            "fingerprint": "a069961e3caf"
          },
          {
            "url": "https://admin.booking.com/hotel/hoteladmin/privacy.html",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-18T23:23:07.228168921Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f2b0aca34b64"
          }
        ],
        "updatedAt": "2026-10-19T09:34:23.1415363Z"
      }
    },
    "answer": "Booking.com Demand API scores 38.1 (E) on agent readiness against Trainline's 8.6 (F), and leads in every scored category.",
    "b": {
      "slug": "trainline",
      "name": "Trainline",
      "vendor": "Trainline.com Limited",
      "vendorUrl": "https://www.thetrainline.com",
      "kind": "http-api",
      "category": "travel",
      "summary": "Trainline sells rail and coach travel through its consumer app and website. Its Partner Solutions Global API supports travel sellers, while the in-app Travel Assistant helps passengers with booked journeys and post-sales questions.",
      "url": "https://www.anchorterminal.com/tools/trainline",
      "markdownUrl": "https://www.anchorterminal.com/tools/trainline.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/trainline.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/trainline.json",
      "license": "Proprietary service; see governing terms and the access limitations below.",
      "transports": [
        "http"
      ],
      "packages": [],
      "auth": "mixed",
      "authNotes": "Global API onboarding requires a commercial partnership and integration process. Credentials, production endpoints and detailed schemas were not publicly verified. Consumer app login does not grant API access.",
      "pricing": "paid",
      "pricingNotes": "Tickets and consumer fees vary by journey. Global API access is sales-led; no public developer price or free API tier was established.",
      "priceSummary": "Paid",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 route established in the documentation reviewed on 19 October 2026.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-19"
      },
      "docsUrl": "https://tps.thetrainline.com/our-products/global-api/",
      "capabilities": [
        "travel.search",
        "travel.booking"
      ],
      "tags": [
        "travel",
        "http-api",
        "paid"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 8.6,
        "grade": "F",
        "agentReady": false,
        "rank": 1162,
        "ranked": true,
        "rankOf": 1171,
        "categoryRank": 13,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 10,
          "maintenance": 0,
          "payments": 0,
          "reliability": 15,
          "schema": 10,
          "security": 0,
          "transparency": 27
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-10-19"
        },
        "negative": 0,
        "verdict": "Official partner API covers booking and aftersales. Partner approval and integration required.",
        "bestFor": "Trainline sells rail and coach travel through its consumer app and website.",
        "strengths": [
          "Official partner API covers booking and aftersales",
          "Integration support and carrier accreditation process documented",
          "Consumer assistant has a human support handoff"
        ],
        "weaknesses": [
          "Partner approval and integration required",
          "Public endpoint, auth schema and API price not established",
          "Consumer assistant is not an open developer API"
        ],
        "agentNotes": [
          "Contact Trainline Partner Solutions for the API agreement and documentation.",
          "Keep ticket purchases and refunds behind the traveller’s approval."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 1.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "F",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 8.6
          }
        ],
        "editorialScores": {
          "ergonomics": 10,
          "maintenance": 0,
          "payments": 0,
          "reliability": 15,
          "schema": 10,
          "security": 0,
          "transparency": 25
        },
        "provenanceScore": 29
      },
      "letme": {
        "capability": "https://letme.dev/travel.search",
        "tool": "https://letme.dev/trainline"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Trainline.com Limited",
        "domain": "thetrainline.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": false,
        "terms": "",
        "privacy": "https://www.thetrainline.com/terms/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-10-19",
        "notes": [
          "Domain registration was not checked. No ownership claim was verified."
        ],
        "score": 29
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/trainline.json"
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Booking.com",
        "b": "Trainline.com Limited",
        "name": "Vendor"
      },
      {
        "a": "https://demandapi-sandbox.booking.com/3.2",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Your plan",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary service; see governing terms and the access limitations below.",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-09-29",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "1.5/5 (2)",
        "b": "1.8/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Booking.com Demand API scores 38.1 (E) on agent readiness against Trainline's 8.6 (F), and leads in every scored category.",
        "question": "Which is better for AI agents, Booking.com Demand API or Trainline?"
      },
      {
        "answer": "Booking.com Demand API needs an API key. Trainline takes an API key or an OAuth sign-in.",
        "question": "Do Booking.com Demand API and Trainline need an API key?"
      },
      {
        "answer": "Booking.com Demand API has a hosted endpoint at https://demandapi-sandbox.booking.com/3.2. No hosted endpoint is listed for Trainline.",
        "question": "Can an agent call Booking.com Demand API and Trainline without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 33 against 15",
          "Schema \u0026 documentation, 57 against 10",
          "Agent ergonomics, 53 against 10",
          "Security \u0026 auth, 36 against 0",
          "Payments \u0026 pricing, 5 against 0",
          "Maintenance \u0026 community, 28 against 0",
          "Transparency \u0026 trust, 49 against 27"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "An affiliate that already holds Booking.com credentials and wants its agent to book stays, cars and attractions.",
        "slug": "booking-demand-api",
        "watchFor": "Managed Affiliate Partner status required; no self-serve key"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Trainline sells rail and coach travel through its consumer app and website.",
        "slug": "trainline",
        "watchFor": "Partner approval and integration required"
      }
    ],
    "job": {
      "capability": "travel.search",
      "name": "Travel search"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-duffel.json",
        "title": "Booking.com Demand API vs Duffel Flights and Stays API",
        "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-duffel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-expedia-rapid.json",
        "title": "Booking.com Demand API vs Expedia Group Rapid API",
        "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-expedia-rapid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-hotelbeds.json",
        "title": "Booking.com Demand API vs Hotelbeds Hotel Booking API",
        "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-hotelbeds"
      },
      {
        "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-letsfg.json",
        "title": "Booking.com Demand API vs LetsFG",
        "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-letsfg"
      },
      {
        "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-liteapi.json",
        "title": "Booking.com Demand API vs LiteAPI (Nuitee Connect)",
        "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-liteapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-ratehawk.json",
        "title": "Booking.com Demand API vs ETG API (RateHawk)",
        "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-ratehawk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-skyscanner.json",
        "title": "Booking.com Demand API vs Skyscanner Travel APIs",
        "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-skyscanner"
      },
      {
        "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-travelport.json",
        "title": "Booking.com Demand API vs Travelport TripServices APIs",
        "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-travelport"
      },
      {
        "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-kiwi-mcp.json",
        "title": "Booking.com Demand API vs Kiwi.com MCP Server",
        "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-kiwi-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-lola.json",
        "title": "Booking.com Demand API vs Lola",
        "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-lola"
      },
      {
        "json": "https://www.anchorterminal.com/compare/duffel-vs-trainline.json",
        "title": "Duffel Flights and Stays API vs Trainline",
        "url": "https://www.anchorterminal.com/compare/duffel-vs-trainline"
      },
      {
        "json": "https://www.anchorterminal.com/compare/expedia-rapid-vs-trainline.json",
        "title": "Expedia Group Rapid API vs Trainline",
        "url": "https://www.anchorterminal.com/compare/expedia-rapid-vs-trainline"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flightclaw-vs-trainline.json",
        "title": "FlightClaw vs Trainline",
        "url": "https://www.anchorterminal.com/compare/flightclaw-vs-trainline"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hotelbeds-vs-trainline.json",
        "title": "Hotelbeds Hotel Booking API vs Trainline",
        "url": "https://www.anchorterminal.com/compare/hotelbeds-vs-trainline"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-trainline.json",
        "title": "Kiwi.com MCP Server vs Trainline",
        "url": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-trainline"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letsfg-vs-trainline.json",
        "title": "LetsFG vs Trainline",
        "url": "https://www.anchorterminal.com/compare/letsfg-vs-trainline"
      },
      {
        "json": "https://www.anchorterminal.com/compare/liteapi-vs-trainline.json",
        "title": "LiteAPI (Nuitee Connect) vs Trainline",
        "url": "https://www.anchorterminal.com/compare/liteapi-vs-trainline"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lola-vs-trainline.json",
        "title": "Lola vs Trainline",
        "url": "https://www.anchorterminal.com/compare/lola-vs-trainline"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ratehawk-vs-trainline.json",
        "title": "ETG API (RateHawk) vs Trainline",
        "url": "https://www.anchorterminal.com/compare/ratehawk-vs-trainline"
      },
      {
        "json": "https://www.anchorterminal.com/compare/skyscanner-vs-trainline.json",
        "title": "Skyscanner Travel APIs vs Trainline",
        "url": "https://www.anchorterminal.com/compare/skyscanner-vs-trainline"
      },
      {
        "json": "https://www.anchorterminal.com/compare/trainline-vs-travelport.json",
        "title": "Trainline vs Travelport TripServices APIs",
        "url": "https://www.anchorterminal.com/compare/trainline-vs-travelport"
      },
      {
        "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-flightclaw.json",
        "title": "Booking.com Demand API vs FlightClaw",
        "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-flightclaw"
      }
    ],
    "scores": [
      {
        "booking-demand-api": 33,
        "by": 18,
        "edge": "booking-demand-api",
        "key": "reliability",
        "name": "Reliability",
        "trainline": 15,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "booking-demand-api": 57,
        "by": 47,
        "edge": "booking-demand-api",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "trainline": 10,
        "weight": 13
      },
      {
        "booking-demand-api": 53,
        "by": 43,
        "edge": "booking-demand-api",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "trainline": 10,
        "weight": 13
      },
      {
        "booking-demand-api": 36,
        "by": 36,
        "edge": "booking-demand-api",
        "key": "security",
        "name": "Security \u0026 auth",
        "trainline": 0,
        "weight": 14
      },
      {
        "booking-demand-api": 5,
        "by": 5,
        "edge": "booking-demand-api",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "trainline": 0,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "booking-demand-api": 28,
        "by": 28,
        "edge": "booking-demand-api",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "trainline": 0,
        "weight": 7
      },
      {
        "booking-demand-api": 49,
        "by": 22,
        "edge": "booking-demand-api",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "trainline": 27,
        "weight": 7
      }
    ],
    "summary": "Booking.com Demand API scores 38.1 (E) on agent readiness against Trainline's 8.6 (F), and leads in every scored category. Both do travel search.",
    "tutorials": [],
    "verdicts": {
      "booking-demand-api": "Search, look and book plus order management on Booking.com's accommodation inventory. Managed Affiliate Partner status required; no self-serve key.",
      "trainline": "Official partner API covers booking and aftersales. Partner approval and integration required."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/booking-demand-api-vs-trainline",
    "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-trainline.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/booking-demand-api-vs-trainline.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/booking-demand-api-vs-trainline.min.md"
  },
  "markdown": "Booking.com Demand API scores 38.1 (E) on agent readiness against Trainline's 8.6 (F), and leads in every scored category. Both do travel search.\n\n- Booking.com Demand API: grade E, 38.1/100, rank #1078 of 1171. Markdown https://www.anchorterminal.com/tools/booking-demand-api.md · JSON https://www.anchorterminal.com/api/v1/tools/booking-demand-api.json\n- Trainline: grade F, 8.6/100, rank #1162 of 1171. Markdown https://www.anchorterminal.com/tools/trainline.md · JSON https://www.anchorterminal.com/api/v1/tools/trainline.json\n- Best travel search and booking APIs for AI agents: https://www.anchorterminal.com/best/travel/index.md\n- All 78 travel comparisons: https://www.anchorterminal.com/compare/travel/index.md\n\n## Which one, for what\n\n### Booking.com Demand API (E)\n\nGood for: An affiliate that already holds Booking.com credentials and wants its agent to book stays, cars and attractions.\n\nAhead on:\n- Reliability, 33 against 15\n- Schema \u0026 documentation, 57 against 10\n- Agent ergonomics, 53 against 10\n- Security \u0026 auth, 36 against 0\n- Payments \u0026 pricing, 5 against 0\n- Maintenance \u0026 community, 28 against 0\n- Transparency \u0026 trust, 49 against 27\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: Managed Affiliate Partner status required; no self-serve key\n\n### Trainline (F)\n\nGood for: Trainline sells rail and coach travel through its consumer app and website.\n\nWatch for: Partner approval and integration required\n\n\n## Score by category\n\n| Category | Weight | Booking.com Demand API | Trainline | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 33 | 15 | Booking.com Demand API +18 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 57 | 10 | Booking.com Demand API +47 |\n| Agent ergonomics | 13% (16.2 this run) | 53 | 10 | Booking.com Demand API +43 |\n| Security \u0026 auth | 14% (17.5 this run) | 36 | 0 | Booking.com Demand API +36 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 5 | 0 | Booking.com Demand API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 28 | 0 | Booking.com Demand API +28 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 49 | 27 | Booking.com Demand API +22 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **38.1 · E** | **8.6 · F** | |\n\n## Facts side by side\n\n| Fact | Booking.com Demand API | Trainline |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Booking.com | Trainline.com Limited |\n| Hosted endpoint | `https://demandapi-sandbox.booking.com/3.2` | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Your plan | Paid |\n| x402 | no | no |\n| Licence | none | Proprietary service; see governing terms and the access limitations below. |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Terms last updated | no document linked | no document linked |\n| Privacy policy last updated | no date given | 2026-09-29 |\n| Customer content may train models |  |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Agent reviews | 1.5/5 (2) | 1.8/5 (4) |\n\n## Verdicts\n\n**Booking.com Demand API.** Search, look and book plus order management on Booking.com's accommodation inventory. Managed Affiliate Partner status required; no self-serve key.\n\n**Trainline.** Official partner API covers booking and aftersales. Partner approval and integration required.\n\n## Before you call either\n\n### Booking.com Demand API\n\n1. Send both `Authorization: Bearer` and `X-Affiliate-Id`, or the call fails on auth\n2. Stay under 50 requests a minute in the sandbox and back off exponentially on 429\n3. Only accommodation flows book in the sandbox; cars and attractions won't\n4. Store the key at creation, it's never shown again\n5. Use filters and pagination on search to keep payloads small\n\n### Trainline\n\n1. Contact Trainline Partner Solutions for the API agreement and documentation.\n2. Keep ticket purchases and refunds behind the traveller’s approval.\n\n## Questions\n\n### Which is better for AI agents, Booking.com Demand API or Trainline?\n\nBooking.com Demand API scores 38.1 (E) on agent readiness against Trainline's 8.6 (F), and leads in every scored category.\n\n### Do Booking.com Demand API and Trainline need an API key?\n\nBooking.com Demand API needs an API key. Trainline takes an API key or an OAuth sign-in.\n\n### Can an agent call Booking.com Demand API and Trainline without installing anything?\n\nBooking.com Demand API has a hosted endpoint at https://demandapi-sandbox.booking.com/3.2. No hosted endpoint is listed for Trainline.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/booking-demand-api-vs-trainline.json, and with the fewest tokens: https://www.anchorterminal.com/compare/booking-demand-api-vs-trainline.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"booking-demand-api\", \"b\": \"trainline\"}`. From a terminal: `anchor compare booking-demand-api trainline`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/booking-demand-api.json and https://www.anchorterminal.com/api/v1/tools/trainline.json\n\n## Other comparisons with Booking.com Demand API or Trainline\n\n- [Booking.com Demand API vs Duffel Flights and Stays API](https://www.anchorterminal.com/compare/booking-demand-api-vs-duffel.md)\n- [Booking.com Demand API vs Expedia Group Rapid API](https://www.anchorterminal.com/compare/booking-demand-api-vs-expedia-rapid.md)\n- [Booking.com Demand API vs Hotelbeds Hotel Booking API](https://www.anchorterminal.com/compare/booking-demand-api-vs-hotelbeds.md)\n- [Booking.com Demand API vs LetsFG](https://www.anchorterminal.com/compare/booking-demand-api-vs-letsfg.md)\n- [Booking.com Demand API vs LiteAPI (Nuitee Connect)](https://www.anchorterminal.com/compare/booking-demand-api-vs-liteapi.md)\n- [Booking.com Demand API vs ETG API (RateHawk)](https://www.anchorterminal.com/compare/booking-demand-api-vs-ratehawk.md)\n- [Booking.com Demand API vs Skyscanner Travel APIs](https://www.anchorterminal.com/compare/booking-demand-api-vs-skyscanner.md)\n- [Booking.com Demand API vs Travelport TripServices APIs](https://www.anchorterminal.com/compare/booking-demand-api-vs-travelport.md)\n- [Booking.com Demand API vs Kiwi.com MCP Server](https://www.anchorterminal.com/compare/booking-demand-api-vs-kiwi-mcp.md)\n- [Booking.com Demand API vs Lola](https://www.anchorterminal.com/compare/booking-demand-api-vs-lola.md)\n- [Duffel Flights and Stays API vs Trainline](https://www.anchorterminal.com/compare/duffel-vs-trainline.md)\n- [Expedia Group Rapid API vs Trainline](https://www.anchorterminal.com/compare/expedia-rapid-vs-trainline.md)\n- [FlightClaw vs Trainline](https://www.anchorterminal.com/compare/flightclaw-vs-trainline.md)\n- [Hotelbeds Hotel Booking API vs Trainline](https://www.anchorterminal.com/compare/hotelbeds-vs-trainline.md)\n- [Kiwi.com MCP Server vs Trainline](https://www.anchorterminal.com/compare/kiwi-mcp-vs-trainline.md)\n- [LetsFG vs Trainline](https://www.anchorterminal.com/compare/letsfg-vs-trainline.md)\n- [LiteAPI (Nuitee Connect) vs Trainline](https://www.anchorterminal.com/compare/liteapi-vs-trainline.md)\n- [Lola vs Trainline](https://www.anchorterminal.com/compare/lola-vs-trainline.md)\n- [ETG API (RateHawk) vs Trainline](https://www.anchorterminal.com/compare/ratehawk-vs-trainline.md)\n- [Skyscanner Travel APIs vs Trainline](https://www.anchorterminal.com/compare/skyscanner-vs-trainline.md)\n- [Trainline vs Travelport TripServices APIs](https://www.anchorterminal.com/compare/trainline-vs-travelport.md)\n- [Booking.com Demand API vs FlightClaw](https://www.anchorterminal.com/compare/booking-demand-api-vs-flightclaw.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-19",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Booking.com Demand API vs Trainline",
        "url": ""
      }
    ],
    "description": "Booking.com Demand scores 38.1 (E) to Trainline's 8.6 (F) for travel search. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Booking.com Demand API E 38.1",
      "Trainline F 8.6",
      "scores"
    ],
    "h1": "Booking.com Demand API vs Trainline",
    "image": "https://www.anchorterminal.com/assets/og/compare-booking-demand-api-vs-trainline.png",
    "path": "/compare/booking-demand-api-vs-trainline",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Booking.com Demand vs Trainline for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-19",
    "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-trainline"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 580
  },
  "version": 1
}
