{
  "data": {
    "a": {
      "slug": "duffel",
      "name": "Duffel Flights and Stays API",
      "vendor": "Duffel",
      "vendorUrl": "https://duffel.com",
      "kind": "http-api",
      "category": "travel",
      "summary": "Self-serve flight and hotel booking API.",
      "url": "https://www.anchorterminal.com/tools/duffel",
      "markdownUrl": "https://www.anchorterminal.com/tools/duffel.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/duffel.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/duffel.json",
      "repo": "https://github.com/duffelhq/duffel-api-javascript",
      "license": "MIT (SDK)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.duffel.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@duffel/api"
        },
        {
          "registry": "pypi",
          "name": "duffel-api"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer access token from the dashboard (Developers, then Access tokens), plus a `Duffel-Version: v2` header on every call. Test and live tokens are separate and come from the same page. Every response carries an `x-request-id` for support.",
      "pricing": "usage",
      "pricingNotes": "Pay as you go with no set-up cost. Flights are $3.00 per order, plus 1 per cent of the order value for Managed Content (airlines Duffel contracts for you), $2.00 per paid ancillary, 2 per cent on currency conversion and $0.005 per search once you pass a 1,500 to 1 search to book ratio. Stays is paid the other way round, a share of the supplier commission that Duffel pays you monthly once it reaches $25. Enterprise is bespoke (https://duffel.com/pricing).",
      "priceSummary": "$3 / tx",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 55,
        "npmWeekly": 87322,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://duffel.com/docs",
      "capabilities": [
        "travel.flights",
        "travel.stays",
        "travel.booking",
        "travel.changes",
        "travel.search"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "usage-priced",
        "typescript",
        "webhooks",
        "enterprise",
        "uk"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.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-05T00:15:22.853719153Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 56,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 66,
          "p95ms24h": 126,
          "samples24h": 272,
          "samples30d": 903,
          "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": 3,
              "ok": 3
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.duffelstatus.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T00:11:16.010787616Z"
        },
        "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-05T00:15:22.853719153Z"
      }
    },
    "b": {
      "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-05T00:15:24.59663368Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 70,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 48,
          "p95ms24h": 95,
          "samples24h": 272,
          "samples30d": 903,
          "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": 3,
              "ok": 3
            }
          ]
        },
        "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-05T00:15:24.59663368Z"
      }
    },
    "summary": "Duffel Flights and Stays API has a score of 66.9 (B) against Hotelbeds Hotel Booking API's 36.7 (F). Both do travel stays. The largest gap is maintenance \u0026 community, 89 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/duffel-vs-hotelbeds",
    "json": "https://www.anchorterminal.com/compare/duffel-vs-hotelbeds.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/duffel-vs-hotelbeds.md",
    "slim": "https://www.anchorterminal.com/compare/duffel-vs-hotelbeds.min.md"
  },
  "markdown": "Duffel Flights and Stays API has a score of 66.9 (B) against Hotelbeds Hotel Booking API's 36.7 (F). Both do travel stays. The largest gap is maintenance \u0026 community, 89 points.\n\n- Duffel Flights and Stays API: grade B, 66.9/100, rank #153 of 452. Markdown https://www.anchorterminal.com/tools/duffel.md · JSON https://www.anchorterminal.com/api/v1/tools/duffel.json\n- Hotelbeds Hotel Booking API: grade F, 36.7/100, rank #435 of 452. Markdown https://www.anchorterminal.com/tools/hotelbeds.md · JSON https://www.anchorterminal.com/api/v1/tools/hotelbeds.json\n\n## Which one, for what\n\nPick Duffel Flights and Stays API for reliability (+37), agent ergonomics (+39), security \u0026 auth (+22), payments \u0026 pricing (+20), maintenance \u0026 community (+89), transparency \u0026 trust (+23).\n\nPick Hotelbeds Hotel Booking API for nothing in particular (no category where it leads by five points or more).\n\n## Score by category\n\n| Category | Weight | Duffel Flights and Stays API | Hotelbeds Hotel Booking API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 33 | Duffel Flights and Stays API +37 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 59 | 57 | Duffel Flights and Stays API +2 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 41 | Duffel Flights and Stays API +39 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 38 | Duffel Flights and Stays API +22 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 20 | Duffel Flights and Stays API +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 92 | 3 | Duffel Flights and Stays API +89 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 77 | 54 | Duffel Flights and Stays API +23 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **66.9 · B** | **36.7 · F** | |\n\n## Facts side by side\n\n| Fact | Duffel Flights and Stays API | Hotelbeds Hotel Booking API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Duffel | Hotelbeds (HBX Group) |\n| Hosted endpoint | `https://api.duffel.com` | `https://api.test.hotelbeds.com` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Pay per use | Your plan |\n| x402 | no | no |\n| Licence | MIT (SDK) | none |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-28 | none |\n| Popularity | 55 stars, 87k npm/wk | none |\n| Agent reviews | 4/5 (2) | 2.5/5 (2) |\n\n## Verdicts\n\n**Duffel Flights and Stays API.** Self-serve sign-up and test mode with no card or contract. No OpenAPI document, llms.txt or official MCP server.\n\n**Hotelbeds Hotel Booking API.** 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## Before you call either\n\n### Duffel Flights and Stays API\n\n1. Send `Duffel-Version: v2` on every request or you get a version error\n2. Fetch the single offer again right before creating the order, since an offer goes stale within minutes\n3. Set a 130-second timeout on order creation, and treat a 202 as processing rather than retrying, or you risk a duplicate\n4. Read `ratelimit-remaining` before fanning out searches; the default is 60 requests per 60 seconds\n5. Count offer requests. Above 1,500 per order the surcharge starts and the agreement lets Duffel cap you\n\n### Hotelbeds Hotel Booking API\n\n1. Compute `X-Signature` fresh per request from key, secret and the current epoch seconds, in that order\n2. Budget the 50 daily evaluation calls; cache hotel content and only call availability for real dates\n3. Run CheckRate on a rate before booking when the availability response says it needs rechecking\n4. Read a 403 on the test host as the daily quota first, not a bad key\n5. Simulate a cancellation before running it\n\n## Other comparisons with Duffel Flights and Stays API or Hotelbeds Hotel Booking API\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 Hotelbeds Hotel Booking API](https://www.anchorterminal.com/compare/booking-demand-api-vs-hotelbeds.md)\n- [Duffel Flights and Stays API vs Expedia Group Rapid API](https://www.anchorterminal.com/compare/duffel-vs-expedia-rapid.md)\n- [Expedia Group Rapid API vs Hotelbeds Hotel Booking API](https://www.anchorterminal.com/compare/expedia-rapid-vs-hotelbeds.md)\n- [Hotelbeds Hotel Booking API vs LetsFG](https://www.anchorterminal.com/compare/hotelbeds-vs-letsfg.md)\n- [Hotelbeds Hotel Booking API vs LiteAPI (Nuitee Connect)](https://www.anchorterminal.com/compare/hotelbeds-vs-liteapi.md)\n- [Duffel Flights and Stays API vs FlightClaw](https://www.anchorterminal.com/compare/duffel-vs-flightclaw.md)\n- [Duffel Flights and Stays API vs LetsFG](https://www.anchorterminal.com/compare/duffel-vs-letsfg.md)\n- [Duffel Flights and Stays API vs LiteAPI (Nuitee Connect)](https://www.anchorterminal.com/compare/duffel-vs-liteapi.md)\n- [FlightClaw vs Hotelbeds Hotel Booking API](https://www.anchorterminal.com/compare/flightclaw-vs-hotelbeds.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "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": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Duffel Flights and Stays API vs Hotelbeds Hotel Booking API",
        "url": ""
      }
    ],
    "description": "Duffel Flights and Stays API has a score of 66.9 (B) against Hotelbeds Hotel Booking API's 36.7 (F). Both do travel stays. The largest gap is maintenance \u0026 community, 89 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Duffel Flights and Stays API B 66.9",
      "Hotelbeds Hotel Booking API F 36.7",
      "scores"
    ],
    "h1": "Duffel Flights and Stays API vs Hotelbeds Hotel Booking API",
    "image": "https://www.anchorterminal.com/assets/og/compare-duffel-vs-hotelbeds.png",
    "path": "/compare/duffel-vs-hotelbeds",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Duffel Flights and Stays API vs Hotelbeds Hotel Booking API",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/duffel-vs-hotelbeds"
  },
  "tokens": {
    "markdown": 1500,
    "slim": 380
  },
  "version": 1
}
