duffel
Search, book, and manage flights via the Duffel Flights API. Covers 300+ airlines (NDC, GDS, LCC). Use when: (1) searching for flights between cities, (2) comparing prices and fare classes, (3) booking flights, (4) checking booking status, (5) cancelling bookings, (6) viewing seat maps, (7) looking up airport/city IATA codes. Supports one-way, round-trip, multi-passenger, cabin class filtering, and nonstop preferences.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/fabiolr/duffelDuffel Flights
Search, book, and manage flights across 300+ airlines via the Duffel API.
Setup
Set DUFFEL_TOKEN env var with your Duffel API access token.
Get one at https://app.duffel.com → Developers → Access Tokens.
Test tokens (prefix duffel_test_) use sandbox data with unlimited balance.
Commands
Search flights
python scripts/duffel.py search --from MIA --to LHR --date 2026-04-15
python scripts/duffel.py search --from MIA --to CDG --date 2026-03-15 --return-date 2026-03-22 --cabin business
python scripts/duffel.py search --from JFK --to LAX --date 2026-05-01 --nonstop --adults 2
Options: --cabin economy|premium_economy|business|first, --nonstop, --adults N, --children N, --infants N, --sort price|duration, --max-results N, --json
Results are numbered. Use the number with other commands.
View offer details
python scripts/duffel.py offer 3
Shows segments, baggage, fare conditions (refund/change), available extras.
Book a flight
python scripts/duffel.py book 3 --pax "RIBEIRO/FABIO MR 1977-01-31 [email protected] +13059159687 BR m"
Pax format: LAST/FIRST TITLE DOB EMAIL PHONE NATIONALITY GENDER
- TITLE: MR, MRS, MS, MISS, DR
- GENDER: m or f
- Multiple passengers: repeat
--pax "..."for each
Payment uses Duffel account balance. Top up at https://app.duffel.com.
Check order status
python scripts/duffel.py order ord_0000XXXXX
Cancel order
python scripts/duffel.py cancel ord_0000XXXXX # Quote (shows refund amount)
python scripts/duffel.py cancel ord_0000XXXXX --confirm # Execute cancellation
Seat map
python scripts/duffel.py seatmap 3
Airport/city lookup
python scripts/duffel.py places "new york"
Typical workflow
search→ browse numbered resultsoffer N→ check details, baggage, conditionsbook N --pax "..."→ get PNRorder <id>→ verify bookingcancel <id>→ if needed
Notes
- Offers expire (usually ~20 min). Re-search if expired.
- Test mode: unlimited balance, bookings on "Duffel Airways" (fake airline).
- Production: real airlines, real tickets. Balance must be funded.
- All commands support
--jsonfor raw API output. - Last search saved to
/tmp/duffel-last-search.jsonfor index reference. - For API details, see
references/api-guide.mdandreferences/booking-flow.md.
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-fabiolr-duffel": {
"enabled": true,
"auto_update": true
}
}
}