Duffel website screenshot

Duffel

Duffel provides a single REST API for selling travel - flights from 300+ airlines, 2M+ hotel properties (Stays), loyalty programmes, and merchant-of-record payments. The Duffel API exposes offer requests, offers, orders, seat maps, order changes and cancellations, payments, and Stays search-to-booking, with webhooks for asynchronous events.

Duffel publishes 10 APIs on the APIs.io network, including Ancillaries API, Offer Requests API, Offers API, and 7 more. Tagged areas include Travel, Flights, Hotels, Booking, and Payments.

Duffel’s developer surface includes authentication, documentation, engineering blog, and 9 more developer resources.

34.9/100 thin ▬ flat Agent 31/100 agent aware Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessPaidSelf serve
10 APIs
TravelFlightsHotelsBookingPayments

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 34.9/100 · thin
Contract Quality 13.1 / 25
Developer Ergonomics 4.3 / 20
Commercial Clarity 7.9 / 20
Operational Transparency 3.4 / 13
Governance 0.0 / 12
Discoverability 7.4 / 10
Agent readiness — 31/100 · agent aware
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/duffel: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 10

Individual APIs this provider publishes, each with its own machine-readable definition.

Duffel Ancillaries API

The Ancillaries API from Duffel — 2 operation(s) for ancillaries.

Duffel Offer Requests API

Search for flights by creating offer requests.

Duffel Offers API

Flight offers returned for an offer request.

Duffel Order Cancellations API

Cancel an existing order and preview refunds.

Duffel Order Changes API

Modify an existing order.

Duffel Orders API

Create and manage flight orders (bookings).

Duffel Payments API

Pay for held orders.

Duffel Seat Maps API

Seat maps for an offer.

Duffel Stays API

Accommodation search and booking.

Duffel Webhooks API

Register endpoints to receive event notifications.

Scroll for all 10

Open Collections 1

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

Duffel API

OPEN COLLECTION

Pricing Plans 1

Published pricing tiers and plan structures.

Duffel Plans Pricing

3 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Duffel Rate Limits

2 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Security Posture 3

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Duffel Authentication

http · 1 scheme

SECURITY

Duffel Domain Security

TLSv1.3 · HSTS · DNSSEC · DMARC

SECURITY

Duffel Vulnerability Disclosure

disclosure policy published

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Duffel Agentic Access

39 operations · 21 acting

39 operations · 21 acting

AGENTIC

Resources

Documentation 1

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 1

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 3

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
aid: duffel
url: https://raw.githubusercontent.com/api-evangelist/duffel/refs/heads/main/apis.yml
name: Duffel
kind: company
description: Duffel provides a single REST API for selling travel - flights from 300+ airlines, 2M+ hotel properties (Stays),
  loyalty programmes, and merchant-of-record payments. The Duffel API exposes offer requests, offers, orders, seat maps, order
  changes and cancellations, payments, and Stays search-to-booking, with webhooks for asynchronous events.
accessModel:
  pricing: paid
  onboarding: self-serve
  trial: false
  try_now: false
  public: false
  label: Paid · Self-serve signup
  confidence: high
  source:
  - plans
  - authentication
  generated: '2026-07-22'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/duffel.png
tags:
- Travel
- Flights
- Hotels
- Booking
- Payments
created: '2026-06-25'
modified: '2026-06-25'
specificationVersion: '0.19'
apis:
- aid: duffel:duffel-ancillaries-api
  name: Duffel Ancillaries API
  description: The Ancillaries API from Duffel — 2 operation(s) for ancillaries.
  humanURL: https://duffel.com/docs/api/v2/offer-requests
  baseURL: https://api.duffel.com
  tags:
  - Ancillaries
  properties:
  - type: OpenAPI
    url: openapi/duffel-ancillaries-api-openapi.yml
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offers
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offers
  - type: Documentation
    url: https://duffel.com/docs/api/v2/orders
  - type: APIReference
    url: https://duffel.com/docs/api/v2/orders
  - type: Documentation
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: APIReference
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-changes
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-changes
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: Documentation
    url: https://duffel.com/docs/api/v2/payments
  - type: APIReference
    url: https://duffel.com/docs/api/v2/payments
  - type: Documentation
    url: https://duffel.com/docs/api/v2/search
  - type: APIReference
    url: https://duffel.com/docs/api/v2/search
  - type: Documentation
    url: https://duffel.com/docs/api/v2/webhooks
  - type: APIReference
    url: https://duffel.com/docs/api/v2/webhooks
- aid: duffel:duffel-offer-requests-api
  name: Duffel Offer Requests API
  description: Search for flights by creating offer requests.
  humanURL: https://duffel.com/docs/api/v2/offer-requests
  baseURL: https://api.duffel.com
  tags:
  - Offer Requests
  properties:
  - type: OpenAPI
    url: openapi/duffel-offer-requests-api-openapi.yml
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offers
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offers
  - type: Documentation
    url: https://duffel.com/docs/api/v2/orders
  - type: APIReference
    url: https://duffel.com/docs/api/v2/orders
  - type: Documentation
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: APIReference
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-changes
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-changes
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: Documentation
    url: https://duffel.com/docs/api/v2/payments
  - type: APIReference
    url: https://duffel.com/docs/api/v2/payments
  - type: Documentation
    url: https://duffel.com/docs/api/v2/search
  - type: APIReference
    url: https://duffel.com/docs/api/v2/search
  - type: Documentation
    url: https://duffel.com/docs/api/v2/webhooks
  - type: APIReference
    url: https://duffel.com/docs/api/v2/webhooks
- aid: duffel:duffel-offers-api
  name: Duffel Offers API
  description: Flight offers returned for an offer request.
  humanURL: https://duffel.com/docs/api/v2/offer-requests
  baseURL: https://api.duffel.com
  tags:
  - Offers
  properties:
  - type: OpenAPI
    url: openapi/duffel-offers-api-openapi.yml
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offers
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offers
  - type: Documentation
    url: https://duffel.com/docs/api/v2/orders
  - type: APIReference
    url: https://duffel.com/docs/api/v2/orders
  - type: Documentation
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: APIReference
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-changes
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-changes
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: Documentation
    url: https://duffel.com/docs/api/v2/payments
  - type: APIReference
    url: https://duffel.com/docs/api/v2/payments
  - type: Documentation
    url: https://duffel.com/docs/api/v2/search
  - type: APIReference
    url: https://duffel.com/docs/api/v2/search
  - type: Documentation
    url: https://duffel.com/docs/api/v2/webhooks
  - type: APIReference
    url: https://duffel.com/docs/api/v2/webhooks
- aid: duffel:duffel-order-cancellations-api
  name: Duffel Order Cancellations API
  description: Cancel an existing order and preview refunds.
  humanURL: https://duffel.com/docs/api/v2/offer-requests
  baseURL: https://api.duffel.com
  tags:
  - Order Cancellations
  properties:
  - type: OpenAPI
    url: openapi/duffel-order-cancellations-api-openapi.yml
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offers
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offers
  - type: Documentation
    url: https://duffel.com/docs/api/v2/orders
  - type: APIReference
    url: https://duffel.com/docs/api/v2/orders
  - type: Documentation
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: APIReference
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-changes
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-changes
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: Documentation
    url: https://duffel.com/docs/api/v2/payments
  - type: APIReference
    url: https://duffel.com/docs/api/v2/payments
  - type: Documentation
    url: https://duffel.com/docs/api/v2/search
  - type: APIReference
    url: https://duffel.com/docs/api/v2/search
  - type: Documentation
    url: https://duffel.com/docs/api/v2/webhooks
  - type: APIReference
    url: https://duffel.com/docs/api/v2/webhooks
- aid: duffel:duffel-order-changes-api
  name: Duffel Order Changes API
  description: Modify an existing order.
  humanURL: https://duffel.com/docs/api/v2/offer-requests
  baseURL: https://api.duffel.com
  tags:
  - Order Changes
  properties:
  - type: OpenAPI
    url: openapi/duffel-order-changes-api-openapi.yml
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offers
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offers
  - type: Documentation
    url: https://duffel.com/docs/api/v2/orders
  - type: APIReference
    url: https://duffel.com/docs/api/v2/orders
  - type: Documentation
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: APIReference
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-changes
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-changes
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: Documentation
    url: https://duffel.com/docs/api/v2/payments
  - type: APIReference
    url: https://duffel.com/docs/api/v2/payments
  - type: Documentation
    url: https://duffel.com/docs/api/v2/search
  - type: APIReference
    url: https://duffel.com/docs/api/v2/search
  - type: Documentation
    url: https://duffel.com/docs/api/v2/webhooks
  - type: APIReference
    url: https://duffel.com/docs/api/v2/webhooks
- aid: duffel:duffel-orders-api
  name: Duffel Orders API
  description: Create and manage flight orders (bookings).
  humanURL: https://duffel.com/docs/api/v2/offer-requests
  baseURL: https://api.duffel.com
  tags:
  - Orders
  properties:
  - type: OpenAPI
    url: openapi/duffel-orders-api-openapi.yml
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offers
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offers
  - type: Documentation
    url: https://duffel.com/docs/api/v2/orders
  - type: APIReference
    url: https://duffel.com/docs/api/v2/orders
  - type: Documentation
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: APIReference
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-changes
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-changes
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: Documentation
    url: https://duffel.com/docs/api/v2/payments
  - type: APIReference
    url: https://duffel.com/docs/api/v2/payments
  - type: Documentation
    url: https://duffel.com/docs/api/v2/search
  - type: APIReference
    url: https://duffel.com/docs/api/v2/search
  - type: Documentation
    url: https://duffel.com/docs/api/v2/webhooks
  - type: APIReference
    url: https://duffel.com/docs/api/v2/webhooks
- aid: duffel:duffel-payments-api
  name: Duffel Payments API
  description: Pay for held orders.
  humanURL: https://duffel.com/docs/api/v2/offer-requests
  baseURL: https://api.duffel.com
  tags:
  - Payments
  properties:
  - type: OpenAPI
    url: openapi/duffel-payments-api-openapi.yml
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offers
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offers
  - type: Documentation
    url: https://duffel.com/docs/api/v2/orders
  - type: APIReference
    url: https://duffel.com/docs/api/v2/orders
  - type: Documentation
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: APIReference
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-changes
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-changes
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: Documentation
    url: https://duffel.com/docs/api/v2/payments
  - type: APIReference
    url: https://duffel.com/docs/api/v2/payments
  - type: Documentation
    url: https://duffel.com/docs/api/v2/search
  - type: APIReference
    url: https://duffel.com/docs/api/v2/search
  - type: Documentation
    url: https://duffel.com/docs/api/v2/webhooks
  - type: APIReference
    url: https://duffel.com/docs/api/v2/webhooks
- aid: duffel:duffel-seat-maps-api
  name: Duffel Seat Maps API
  description: Seat maps for an offer.
  humanURL: https://duffel.com/docs/api/v2/offer-requests
  baseURL: https://api.duffel.com
  tags:
  - Seat Maps
  properties:
  - type: OpenAPI
    url: openapi/duffel-seat-maps-api-openapi.yml
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offers
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offers
  - type: Documentation
    url: https://duffel.com/docs/api/v2/orders
  - type: APIReference
    url: https://duffel.com/docs/api/v2/orders
  - type: Documentation
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: APIReference
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-changes
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-changes
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: Documentation
    url: https://duffel.com/docs/api/v2/payments
  - type: APIReference
    url: https://duffel.com/docs/api/v2/payments
  - type: Documentation
    url: https://duffel.com/docs/api/v2/search
  - type: APIReference
    url: https://duffel.com/docs/api/v2/search
  - type: Documentation
    url: https://duffel.com/docs/api/v2/webhooks
  - type: APIReference
    url: https://duffel.com/docs/api/v2/webhooks
- aid: duffel:duffel-stays-api
  name: Duffel Stays API
  description: Accommodation search and booking.
  humanURL: https://duffel.com/docs/api/v2/offer-requests
  baseURL: https://api.duffel.com
  tags:
  - Stays
  properties:
  - type: OpenAPI
    url: openapi/duffel-stays-api-openapi.yml
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offers
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offers
  - type: Documentation
    url: https://duffel.com/docs/api/v2/orders
  - type: APIReference
    url: https://duffel.com/docs/api/v2/orders
  - type: Documentation
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: APIReference
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-changes
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-changes
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: Documentation
    url: https://duffel.com/docs/api/v2/payments
  - type: APIReference
    url: https://duffel.com/docs/api/v2/payments
  - type: Documentation
    url: https://duffel.com/docs/api/v2/search
  - type: APIReference
    url: https://duffel.com/docs/api/v2/search
  - type: Documentation
    url: https://duffel.com/docs/api/v2/webhooks
  - type: APIReference
    url: https://duffel.com/docs/api/v2/webhooks
- aid: duffel:duffel-webhooks-api
  name: Duffel Webhooks API
  description: Register endpoints to receive event notifications.
  humanURL: https://duffel.com/docs/api/v2/offer-requests
  baseURL: https://api.duffel.com
  tags:
  - Webhooks
  properties:
  - type: OpenAPI
    url: openapi/duffel-webhooks-api-openapi.yml
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offer-requests
  - type: Documentation
    url: https://duffel.com/docs/api/v2/offers
  - type: APIReference
    url: https://duffel.com/docs/api/v2/offers
  - type: Documentation
    url: https://duffel.com/docs/api/v2/orders
  - type: APIReference
    url: https://duffel.com/docs/api/v2/orders
  - type: Documentation
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: APIReference
    url: https://duffel.com/docs/api/v2/seat-maps
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-changes
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-changes
  - type: Documentation
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: APIReference
    url: https://duffel.com/docs/api/v2/order-cancellations
  - type: Documentation
    url: https://duffel.com/docs/api/v2/payments
  - type: APIReference
    url: https://duffel.com/docs/api/v2/payments
  - type: Documentation
    url: https://duffel.com/docs/api/v2/search
  - type: APIReference
    url: https://duffel.com/docs/api/v2/search
  - type: Documentation
    url: https://duffel.com/docs/api/v2/webhooks
  - type: APIReference
    url: https://duffel.com/docs/api/v2/webhooks
common:
- type: AgenticAccess
  url: agentic-access/duffel-agentic-access.yml
- type: VulnerabilityDisclosure
  url: security/duffel-vulnerability-disclosure.yml
- type: DomainSecurity
  url: security/duffel-domain-security.yml
- type: Authentication
  url: authentication/duffel-authentication.yml
- type: GitHubOrganization
  url: https://github.com/duffelhq
- type: LinkedIn
  url: https://www.linkedin.com/company/duffel
- type: Website
  url: https://duffel.com
- type: Documentation
  url: https://duffel.com/docs
- type: Plans
  url: plans/duffel-plans-pricing.yml
- type: RateLimits
  url: rate-limits/duffel-rate-limits.yml
- type: FinOps
  url: finops/duffel-finops.yml
- url: https://duffel.com/blog
  type: Blog
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com