Agent-First CLI

Amadeus Travel API
for your AI agent

Search flights, hotels, airports, and airlines. Structured JSON for agents, colored tables for humans, TSV for pipelines. Give your agent access to travel data.

Install the amadeus CLI skill for Amadeus travel API access.
Run: npx skills add -g voska/amadeus-cli

Copy and paste into Claude Code, OpenClaw, or any AI agent

zsh
$ amadeus flights search --from JFK --to CDG --date 2026-04-15
ID
ROUTE
STOPS
DURATION
PRICE
1
JFK → CDG
direct
7h35m
EUR 54.74
2
JFK → LHR → CDG
1
10h20m
EUR 121.33
3
JFK → CDG
direct
7h50m
EUR 189.00
3 offers
$ amadeus airports search london
NAME
IATA
TYPE
HEATHROW
LHR
AIRPORT
GATWICK
LGW
AIRPORT
STANSTED
STN
AIRPORT
$ amadeus flights search --from SFO --to NRT --date 2026-05-01 --json | jq '.[0].price'
{ "total": "342.50", "currency": "EUR" }

Built for agents, loved by humans

Three output modes, structured exit codes, and full Amadeus API coverage. Give your agent travel superpowers.

Agent-First Design

Structured exit codes (0-10), --no-input mode, amadeus schema for JSON introspection. Auto-JSON when piped. Built for Claude Code and LLM agents.

JSON / Table / TSV

--json for machines, colored tables for humans, --plain for pipelines. --select to project specific fields.

Flight Search

Search one-way and round-trip flights with flexible dates, cabin classes, stops, and passenger counts. Price confirmation with flights price.

Hotel Search & Booking

Search by city or coordinates, get offers with pricing, and book with guest details. hotels search, hotels offers, hotels book.

Airports & Airlines

Look up airports by keyword and airlines by IATA code. Resolve codes before building flight queries. airports search and airlines lookup.

Secure OAuth 2.0

Client credentials auth with tokens stored in your system keyring. Auto-refresh on expiry. Test and production environments.

Install

One command. No dependencies.

$ npx skills add -g voska/amadeus-cli

Install as a Claude Code skill. Works with any AI agent that supports skills.

Getting API Credentials

Free test environment with synthetic data. No credit card required.

1 Sign up at developers.amadeus.com
Create a free account. No payment info needed for the test environment.
2 Create an app in the dashboard
Go to My Self-Service WorkspaceCreate New App. This gives you an API Key and API Secret.
3 Set your credentials
$ export AMADEUS_API_KEY=your_key
$ export AMADEUS_API_SECRET=your_secret

Quick Start

From credentials to your first query in under a minute.

1 Authenticate
$ amadeus auth login
Authenticated (expires in 1799s)
2 Search flights
$ amadeus flights search --from JFK --to CDG --date 2026-04-15
3 Pipe structured JSON to your agent
$ amadeus flights search --from SFO --to NRT --date 2026-05-01 --json --results-only

FAQ

What is amadeus CLI?
amadeus is a free, open-source command-line interface for the Amadeus travel API. It lets you search flights, hotels, airports, and airlines directly from your terminal. It supports three output modes: structured JSON for AI agents, colored tables for interactive use, and tab-separated values for shell pipelines. Written in Go with zero runtime dependencies.
How do I use this with an AI agent?
Install as a Claude Code skill: npx skills add -g voska/amadeus-cli. The skill includes a full command reference and workflows. amadeus provides structured JSON via --json, machine-readable exit codes (0-10), --no-input for non-interactive use, and amadeus schema for full CLI introspection as JSON.
Is the Amadeus API free?
The test environment is free and rate-limited with synthetic data. Sign up at developers.amadeus.com to get API credentials. Production access requires a paid plan. Use --test to target the free test environment.
What travel data can I access?
amadeus covers the Amadeus Self-Service APIs: search flight offers with flexible dates, cabin classes, and passenger options; search hotels by city or geocoordinates; get hotel offers with pricing and availability; book hotels; look up airports by keyword; and look up airlines by IATA code. All commands support --dry-run to preview requests.