Obtain Amadeus API credentials from the self-service developer portal and authenticate to retrieve a bearer token using the client credentials flow
POST to the transfer-offers shopping endpoint with start and end location coordinates or codes, transfer type, number of passengers, and optionally a list of provider codes to filter results
Parse the array of transfer offer objects in the response, each containing vehicle details, price, provider name, and an offer ID with a limited validity window
Present the options to the user and capture their selection; re-validate the offer if significant time has elapsed since the initial search
POST to the transfer orders endpoint with the selected offer ID and traveler contact details to create a confirmed booking
Store the order ID and confirmation details; handle cancellation requests by calling the cancel endpoint within the provider's permitted window
Known gotchas
Transfer offer IDs expire; the validity duration is returned in the offer response and must be respected — submitting an expired offer ID returns a booking error rather than a repriced offer
The Amadeus self-service transfer API connects to a curated set of providers covering approximately 43,500 locations; destinations outside this network return empty results rather than an error, which can look like a bug
Transfer type values such as private, shared, or shuttle affect both availability and pricing logic; passing an unsupported type for a given route yields empty results rather than a validation error
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp