{
  "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": 697,
        "ranked": true,
        "rankOf": 722,
        "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-08T21:53:17.814656616Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 119,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 98,
          "p95ms24h": 146,
          "samples24h": 270,
          "samples30d": 1962,
          "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": 246,
              "ok": 246
            }
          ]
        },
        "securityTxt": {
          "url": "https://booking.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2025-12-31T23:00:00.000Z",
          "checkedAt": "2026-10-08T15:38:35.024960831Z"
        },
        "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-08T18:17:26.857706046Z",
            "changedAt": "2026-10-05T15:54:56.940826217Z",
            "fingerprint": "2da8ad72216d"
          },
          {
            "url": "https://admin.booking.com/hotel/hoteladmin/privacy.html",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:14:57.673604687Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f2b0aca34b64"
          }
        ],
        "updatedAt": "2026-10-08T21:53:17.814656616Z"
      }
    },
    "answer": "ETG API (RateHawk) scores 53 (D) on agent readiness against Booking.com Demand API's 38.1 (E), and leads in every scored category.",
    "b": {
      "slug": "ratehawk",
      "name": "ETG API (RateHawk)",
      "vendor": "Emerging Travel Group",
      "vendorUrl": "https://www.ratehawk.com",
      "kind": "http-api",
      "category": "travel",
      "summary": "Hotel search and booking API from Emerging Travel Group, the company behind RateHawk and ZenHotels. Contracted partners search rates, prebook, book and cancel stays over REST, with B2B, Affiliate and Content APIs.",
      "url": "https://www.anchorterminal.com/tools/ratehawk",
      "markdownUrl": "https://www.anchorterminal.com/tools/ratehawk.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/ratehawk.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ratehawk.json",
      "repo": "https://github.com/EmergingTravel/papi-sdk-python",
      "license": "Proprietary service under a signed partner agreement that is not published. The Python and PHP SDKs on GitHub are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.ratehawk.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "papi-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "Access is by partner approval. A person registers at ratehawk.com/registration, picks API integration as the purpose, then asks an account manager for credentials, and the docs say the relevant agreement must be signed before the API is used. Keys are `\u003cKEY_ID\u003e:\u003cAPI_KEY\u003e` pairs sent as HTTP Basic auth, issued separately for sandbox, test and production. A production key follows a written certification that the docs put at 14 to 30 days. Each key has its own endpoint permissions and request limits, readable at `/api/b2b/v3/overview/`.",
      "pricing": "byo-plan",
      "pricingNotes": "No public price list. Partners buy at net rates under contract and pay from a deposit with a credit limit, at the hotel or by card, depending on the rate. The landing page calls the API key free, and the sandbox makes no real bookings or charges, but a key comes from an account manager after registration, so an agent cannot start without a person and an agreement (checked 2026-10-08).",
      "priceSummary": "Your plan",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the Swagger file or the API landing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 9,
        "npmWeekly": null,
        "pypiWeekly": 12,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.emergingtravel.com/",
      "llmsTxt": "https://docs.emergingtravel.com/llms.txt",
      "openapi": "https://api.ratehawk.com/openapi.json",
      "capabilities": [
        "travel.stays",
        "travel.booking",
        "travel.changes",
        "travel.search"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "openapi",
        "llms-txt",
        "sandbox",
        "sales-led",
        "certification",
        "status-page",
        "python",
        "php",
        "eu"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53,
        "grade": "D",
        "agentReady": false,
        "rank": 554,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 65,
          "payments": 10,
          "reliability": 45,
          "schema": 85,
          "security": 41,
          "transparency": 56
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Hotel search and booking are documented in a public Swagger 2.0 file, an llms.txt index and a changelog with 64 dated entries in 2026. Access is by contract. Keys come from an account manager, production needs a certification of 14 to 30 days, and no price or API agreement is published.",
        "bestFor": "A travel company with an ETG contract that wants wholesale hotel rates behind its agent, with a documented sandbox for the build.",
        "strengths": [
          "Public Swagger 2.0 file at `https://api.ratehawk.com/openapi.json` with 48 operations and 171 definitions for the B2B and Content APIs",
          "`llms.txt` and a Markdown copy of every docs page at `index.md`, with robots.txt allowing AI crawlers by name",
          "Changelog with 64 dated entries in 2026, the latest on 5 October 2026",
          "Sandbox host with over 2,000 test hotels, named error scenarios and no real bookings or charges",
          "`partner_order_id` identifies a booking across retries, and the docs say how to handle `timeout`, `unknown` and 5xx during booking"
        ],
        "weaknesses": [
          "No self-serve key. Registration is followed by a request to an account manager, and the docs say an agreement must be signed before use",
          "No public price list or API agreement was found. Rates and request limits are set per contract",
          "The status page's orders monitor recorded downtime of an hour or more on four days between 21 July and 14 September 2026, with no written incident reports",
          "Both official SDKs (Python and PHP) last changed in 2021 and default to `api.worldota.net`, a host the docs call deprecated",
          "No `security.txt`, disclosure policy or security certification page was found on ratehawk.com, emergingtravel.com or the docs site"
        ],
        "agentNotes": [
          "Call `/api/b2b/v3/overview/` first. It lists the endpoints the key may use and each one's request limit.",
          "Keep sandbox IDs, keys and hashes inside `api-sandbox.ratehawk.com`. Sandbox region IDs are limited to 2011, 2395, 2734 and 6053839.",
          "Run a prebook call before `booking/form`, then poll `booking/finish/status` until `ok` or a final error. Treat `timeout`, `unknown` and 5xx as still in progress.",
          "Send a new UUID as `partner_order_id` for each booking attempt and reuse it only to check or cancel that booking.",
          "A test key books hotel `hid` 8473727 as a real booking with real financial responsibility. Cancel it afterwards."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 65,
          "payments": 10,
          "reliability": 45,
          "schema": 85,
          "security": 41,
          "transparency": 32
        },
        "provenanceScore": 80
      },
      "connect": {
        "http": "curl --user '\u003cKEY_ID\u003e:\u003cAPI_KEY\u003e' 'https://api-sandbox.ratehawk.com/api/b2b/v3/overview/'"
      },
      "letme": {
        "capability": "https://letme.dev/travel.stays",
        "tool": "https://letme.dev/ratehawk"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Leaside Services Limited",
        "domain": "ratehawk.com",
        "domainRegistered": "2006-08-24",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "https://www.ratehawk.com/legal/site/privacy-policy/",
        "statusPage": "https://status.emergingtravel.com",
        "changelog": "https://docs.emergingtravel.com/docs/changelog/2026/",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "No terms document for the API is published. The docs say the relevant agreement must be signed before use, and the only public terms we found are website terms of use on emergingtravel.com, so the terms field is left out.",
          "The RateHawk legal notice names Leaside Services Limited, a Cyprus company with registration number HE 342401, at Ifigeneias 17, Strovolos, Nicosia. The privacy notice (version 1.0, updated 8 May 2026) gives the same company an address in Limassol and lists eight other Emerging Travel entities as controllers by contract.",
          "The API answers at api.ratehawk.com and api-sandbox.ratehawk.com. Card tokenisation is at api.payota.net and the docs are at docs.emergingtravel.com, both outside ratehawk.com.",
          "`/.well-known/security.txt` returned 404 on www.ratehawk.com, api.ratehawk.com, www.emergingtravel.com and docs.emergingtravel.com.",
          "RDAP gives ratehawk.com a registration date of 2006-08-24 and emergingtravel.com 2007-02-25."
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/ratehawk.json",
      "live": {
        "slug": "ratehawk",
        "probe": {
          "target": "https://api.ratehawk.com",
          "method": "get",
          "lastAt": "2026-10-08T21:53:31.757788824Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 166,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 137,
          "p95ms24h": 188,
          "samples24h": 28,
          "samples30d": 28,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 28,
              "ok": 28
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.emergingtravel.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:39:06.568833713Z"
        },
        "updatedAt": "2026-10-08T21:53:31.757788824Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Booking.com",
        "b": "Emerging Travel Group",
        "name": "Vendor"
      },
      {
        "a": "https://demandapi-sandbox.booking.com/3.2",
        "b": "https://api.ratehawk.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Your plan",
        "b": "Your plan",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary service under a signed partner agreement that is not published. The Python and PHP SDKs on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-10-05",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-05-08",
        "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": "none",
        "b": "9 stars, 12 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "1.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "ETG API (RateHawk) scores 53 (D) on agent readiness against Booking.com Demand API's 38.1 (E), and leads in every scored category.",
        "question": "Which is better for AI agents, Booking.com Demand API or ETG API (RateHawk)?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Booking.com Demand API and ETG API (RateHawk) need an API key?"
      },
      {
        "answer": "Yes. Booking.com Demand API has a hosted endpoint at https://demandapi-sandbox.booking.com/3.2 and ETG API (RateHawk) at https://api.ratehawk.com.",
        "question": "Can an agent call Booking.com Demand API and ETG API (RateHawk) without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "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": [
          "Reliability, 45 against 33",
          "Schema \u0026 documentation, 85 against 57",
          "Agent ergonomics, 69 against 53",
          "Security \u0026 auth, 41 against 36",
          "Payments \u0026 pricing, 10 against 5",
          "Maintenance \u0026 community, 65 against 28",
          "Transparency \u0026 trust, 56 against 49"
        ],
        "also": null,
        "goodFor": "A travel company with an ETG contract that wants wholesale hotel rates behind its agent, with a documented sandbox for the build.",
        "slug": "ratehawk",
        "watchFor": "No self-serve key. Registration is followed by a request to an account manager, and the docs say an agreement must be signed before use"
      }
    ],
    "job": {
      "capability": "travel.stays",
      "name": "Travel stays"
    },
    "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-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/duffel-vs-ratehawk.json",
        "title": "Duffel Flights and Stays API vs ETG API (RateHawk)",
        "url": "https://www.anchorterminal.com/compare/duffel-vs-ratehawk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/expedia-rapid-vs-ratehawk.json",
        "title": "Expedia Group Rapid API vs ETG API (RateHawk)",
        "url": "https://www.anchorterminal.com/compare/expedia-rapid-vs-ratehawk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hotelbeds-vs-ratehawk.json",
        "title": "Hotelbeds Hotel Booking API vs ETG API (RateHawk)",
        "url": "https://www.anchorterminal.com/compare/hotelbeds-vs-ratehawk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letsfg-vs-ratehawk.json",
        "title": "LetsFG vs ETG API (RateHawk)",
        "url": "https://www.anchorterminal.com/compare/letsfg-vs-ratehawk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/liteapi-vs-ratehawk.json",
        "title": "LiteAPI (Nuitee Connect) vs ETG API (RateHawk)",
        "url": "https://www.anchorterminal.com/compare/liteapi-vs-ratehawk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ratehawk-vs-skyscanner.json",
        "title": "ETG API (RateHawk) vs Skyscanner Travel APIs",
        "url": "https://www.anchorterminal.com/compare/ratehawk-vs-skyscanner"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ratehawk-vs-travelport.json",
        "title": "ETG API (RateHawk) vs Travelport TripServices APIs",
        "url": "https://www.anchorterminal.com/compare/ratehawk-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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flightclaw-vs-ratehawk.json",
        "title": "FlightClaw vs ETG API (RateHawk)",
        "url": "https://www.anchorterminal.com/compare/flightclaw-vs-ratehawk"
      },
      {
        "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/kiwi-mcp-vs-ratehawk.json",
        "title": "Kiwi.com MCP Server vs ETG API (RateHawk)",
        "url": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-ratehawk"
      }
    ],
    "scores": [
      {
        "booking-demand-api": 33,
        "by": 12,
        "edge": "ratehawk",
        "key": "reliability",
        "name": "Reliability",
        "ratehawk": 45,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "booking-demand-api": 57,
        "by": 28,
        "edge": "ratehawk",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "ratehawk": 85,
        "weight": 13
      },
      {
        "booking-demand-api": 53,
        "by": 16,
        "edge": "ratehawk",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "ratehawk": 69,
        "weight": 13
      },
      {
        "booking-demand-api": 36,
        "by": 5,
        "edge": "ratehawk",
        "key": "security",
        "name": "Security \u0026 auth",
        "ratehawk": 41,
        "weight": 14
      },
      {
        "booking-demand-api": 5,
        "by": 5,
        "edge": "ratehawk",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "ratehawk": 10,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "booking-demand-api": 28,
        "by": 37,
        "edge": "ratehawk",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "ratehawk": 65,
        "weight": 7
      },
      {
        "booking-demand-api": 49,
        "by": 7,
        "edge": "ratehawk",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "ratehawk": 56,
        "weight": 7
      }
    ],
    "summary": "ETG API (RateHawk) scores 53 (D) on agent readiness against Booking.com Demand API's 38.1 (E), and leads in every scored category. Both do travel stays.",
    "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.",
      "ratehawk": "Hotel search and booking are documented in a public Swagger 2.0 file, an llms.txt index and a changelog with 64 dated entries in 2026. Access is by contract. Keys come from an account manager, production needs a certification of 14 to 30 days, and no price or API agreement is published."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/booking-demand-api-vs-ratehawk",
    "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-ratehawk.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/booking-demand-api-vs-ratehawk.md",
    "slim": "https://www.anchorterminal.com/compare/booking-demand-api-vs-ratehawk.min.md"
  },
  "markdown": "ETG API (RateHawk) scores 53 (D) on agent readiness against Booking.com Demand API's 38.1 (E), and leads in every scored category. Both do travel stays.\n\n- Booking.com Demand API: grade E, 38.1/100, rank #697 of 722. Markdown https://www.anchorterminal.com/tools/booking-demand-api.md · JSON https://www.anchorterminal.com/api/v1/tools/booking-demand-api.json\n- ETG API (RateHawk): grade D, 53/100, rank #554 of 722. Markdown https://www.anchorterminal.com/tools/ratehawk.md · JSON https://www.anchorterminal.com/api/v1/tools/ratehawk.json\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\nWatch for: Managed Affiliate Partner status required; no self-serve key\n\n### ETG API (RateHawk) (D)\n\nGood for: A travel company with an ETG contract that wants wholesale hotel rates behind its agent, with a documented sandbox for the build.\n\nAhead on:\n- Reliability, 45 against 33\n- Schema \u0026 documentation, 85 against 57\n- Agent ergonomics, 69 against 53\n- Security \u0026 auth, 41 against 36\n- Payments \u0026 pricing, 10 against 5\n- Maintenance \u0026 community, 65 against 28\n- Transparency \u0026 trust, 56 against 49\n\nWatch for: No self-serve key. Registration is followed by a request to an account manager, and the docs say an agreement must be signed before use\n\n\n## Score by category\n\n| Category | Weight | Booking.com Demand API | ETG API (RateHawk) | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 33 | 45 | ETG API (RateHawk) +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 57 | 85 | ETG API (RateHawk) +28 |\n| Agent ergonomics | 13% (16.2 this run) | 53 | 69 | ETG API (RateHawk) +16 |\n| Security \u0026 auth | 14% (17.5 this run) | 36 | 41 | ETG API (RateHawk) +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 5 | 10 | ETG API (RateHawk) +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 28 | 65 | ETG API (RateHawk) +37 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 49 | 56 | ETG API (RateHawk) +7 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **38.1 · E** | **53 · D** | |\n\n## Facts side by side\n\n| Fact | Booking.com Demand API | ETG API (RateHawk) |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Booking.com | Emerging Travel Group |\n| Hosted endpoint | `https://demandapi-sandbox.booking.com/3.2` | `https://api.ratehawk.com` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Your plan | Your plan |\n| x402 | no | no |\n| Licence | none | Proprietary service under a signed partner agreement that is not published. The Python and PHP SDKs on GitHub are MIT |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | none | 2026-10-05 |\n| Terms last updated | no document linked | no document linked |\n| Privacy policy last updated | no date given | 2026-05-08 |\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| Popularity | none | 9 stars, 12 PyPI/wk |\n| Agent reviews | 1.5/5 (2) | none |\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**ETG API (RateHawk).** Hotel search and booking are documented in a public Swagger 2.0 file, an llms.txt index and a changelog with 64 dated entries in 2026. Access is by contract. Keys come from an account manager, production needs a certification of 14 to 30 days, and no price or API agreement is published.\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### ETG API (RateHawk)\n\n1. Call `/api/b2b/v3/overview/` first. It lists the endpoints the key may use and each one's request limit.\n2. Keep sandbox IDs, keys and hashes inside `api-sandbox.ratehawk.com`. Sandbox region IDs are limited to 2011, 2395, 2734 and 6053839.\n3. Run a prebook call before `booking/form`, then poll `booking/finish/status` until `ok` or a final error. Treat `timeout`, `unknown` and 5xx as still in progress.\n4. Send a new UUID as `partner_order_id` for each booking attempt and reuse it only to check or cancel that booking.\n5. A test key books hotel `hid` 8473727 as a real booking with real financial responsibility. Cancel it afterwards.\n\n## Questions\n\n### Which is better for AI agents, Booking.com Demand API or ETG API (RateHawk)?\n\nETG API (RateHawk) scores 53 (D) on agent readiness against Booking.com Demand API's 38.1 (E), and leads in every scored category.\n\n### Do Booking.com Demand API and ETG API (RateHawk) need an API key?\n\nBoth need an API key.\n\n### Can an agent call Booking.com Demand API and ETG API (RateHawk) without installing anything?\n\nYes. Booking.com Demand API has a hosted endpoint at https://demandapi-sandbox.booking.com/3.2 and ETG API (RateHawk) at https://api.ratehawk.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/booking-demand-api-vs-ratehawk.json, and with the fewest tokens: https://www.anchorterminal.com/compare/booking-demand-api-vs-ratehawk.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"booking-demand-api\", \"b\": \"ratehawk\"}`. From a terminal: `anchor compare booking-demand-api ratehawk`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/booking-demand-api.json and https://www.anchorterminal.com/api/v1/tools/ratehawk.json\n\n## Other comparisons with Booking.com Demand API or ETG API (RateHawk)\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 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- [Duffel Flights and Stays API vs ETG API (RateHawk)](https://www.anchorterminal.com/compare/duffel-vs-ratehawk.md)\n- [Expedia Group Rapid API vs ETG API (RateHawk)](https://www.anchorterminal.com/compare/expedia-rapid-vs-ratehawk.md)\n- [Hotelbeds Hotel Booking API vs ETG API (RateHawk)](https://www.anchorterminal.com/compare/hotelbeds-vs-ratehawk.md)\n- [LetsFG vs ETG API (RateHawk)](https://www.anchorterminal.com/compare/letsfg-vs-ratehawk.md)\n- [LiteAPI (Nuitee Connect) vs ETG API (RateHawk)](https://www.anchorterminal.com/compare/liteapi-vs-ratehawk.md)\n- [ETG API (RateHawk) vs Skyscanner Travel APIs](https://www.anchorterminal.com/compare/ratehawk-vs-skyscanner.md)\n- [ETG API (RateHawk) vs Travelport TripServices APIs](https://www.anchorterminal.com/compare/ratehawk-vs-travelport.md)\n- [Booking.com Demand API vs FlightClaw](https://www.anchorterminal.com/compare/booking-demand-api-vs-flightclaw.md)\n- [FlightClaw vs ETG API (RateHawk)](https://www.anchorterminal.com/compare/flightclaw-vs-ratehawk.md)\n- [Booking.com Demand API vs Kiwi.com MCP Server](https://www.anchorterminal.com/compare/booking-demand-api-vs-kiwi-mcp.md)\n- [Kiwi.com MCP Server vs ETG API (RateHawk)](https://www.anchorterminal.com/compare/kiwi-mcp-vs-ratehawk.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Booking.com Demand API vs ETG API (RateHawk)",
        "url": ""
      }
    ],
    "description": "ETG API (RateHawk) scores 53 (D) on agent readiness against Booking.com Demand API's 38.1 (E), and leads in every scored category. Both do travel stays. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Booking.com Demand API E 38.1",
      "ETG API (RateHawk) D 53",
      "scores"
    ],
    "h1": "Booking.com Demand API vs ETG API (RateHawk)",
    "image": "https://www.anchorterminal.com/assets/og/compare-booking-demand-api-vs-ratehawk.png",
    "path": "/compare/booking-demand-api-vs-ratehawk",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Booking.com Demand API vs ETG API (RateHawk) for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-ratehawk"
  },
  "tokens": {
    "markdown": 2250,
    "slim": 580
  },
  "version": 1
}
