Book airport transfers via Amadeus GDS — $0.002 per request, no API keys needed.
What it does
The `/api/transfers/book` endpoint on StableTravel lets you programmatically book an airport transfer by submitting an offer ID obtained from a prior `/api/transfers/search` call. It is a POST endpoint backed by the Amadeus Transfer Booking API. The request body requires an `offerId` (string) and a `data` object containing passenger details and payment information. The endpoint returns the booking confirmation in JSON.
This endpoint is part of StableTravel's broader pay-per-request travel API suite covering flights, hotels, activities, transfers, and real-time flight tracking (via FlightAware AeroAPI) and Google Flights price comparison. No API keys, OAuth tokens, or subscriptions are required — payment is handled automatically via the x402/MPP micropayment protocol using USDC on Base, Solana, or Tempo. The transfer booking call costs $0.002 per request (fixed). The typical workflow is: search transfers → book transfer → optionally cancel transfer.
Transfer types supported by the upstream search include PRIVATE, SHARED, TAXI, HOURLY, AIRPORT_EXPRESS, and AIRPORT_BUS. Vehicle categories range from standard sedans to buses and limousines. The booking endpoint accepts optional fields for flight number, notes, equipment, extra services, loyalty numbers, and connected flight/train segments.
Capabilities
Use cases
- —Agent autonomously books airport-to-hotel transfers after flight booking
- —Travel planning bot arranges ground transport for multi-leg itineraries
- —Concierge agent books private car service from airport to destination
- —Automated trip planner chains flight search → transfer search → transfer book
Fit
Best for
- —AI agents that need end-to-end travel booking including ground transport
- —Developers wanting Amadeus transfer booking without managing API keys or OAuth
- —Autonomous workflows that chain search → book in a single pipeline
Not for
- —Ride-hailing or on-demand taxi dispatch (this books pre-arranged transfers)
- —Bulk or high-volume transfer management with negotiated corporate rates
- —Non-airport point-to-point transfers without an IATA location code
Quick start
npx agentcash fetch -X POST -H "Content-Type: application/json" \
-d '{"offerId":"<OFFER_ID_FROM_SEARCH>","data":{"passengers":[{"firstName":"John","lastName":"Doe","title":"MR","contacts":{"phoneNumber":"+1234567890","email":"john@example.com"}}],"payment":{"methodOfPayment":"CREDIT_CARD","creditCard":{"number":"4111111111111111","holderName":"JOHN DOE","vendorCode":"VI","expiryDate":"2026-08"}}}}' \
"https://stabletravel.dev/api/transfers/book"Example
Request
{
"data": {
"note": "Please wait at arrivals hall",
"payment": {
"creditCard": {
"number": "4111111111111111",
"expiryDate": "2026-08",
"holderName": "JOHN DOE",
"vendorCode": "VI"
},
"methodOfPayment": "CREDIT_CARD"
},
"passengers": [
{
"title": "MR",
"contacts": {
"email": "john.doe@example.com",
"phoneNumber": "+33123456789"
},
"lastName": "Doe",
"firstName": "John"
}
],
"flightNumber": "AF123"
},
"offerId": "1"
}Response
{
"data": {
"id": "12345",
"end": {
"address": "Avenue des Champs-Elysees 1, Paris"
},
"type": "transfer-order",
"price": {
"amount": "45.00",
"currency": "EUR"
},
"start": {
"dateTime": "2025-06-15T10:00:00",
"locationCode": "CDG"
},
"status": "CONFIRMED",
"vehicle": {
"code": "SED",
"description": "Sedan"
},
"confirmNbr": "CONF-98765",
"passengers": 2,
"transferType": "PRIVATE"
}
}Endpoint
Quality
Full OpenAPI schema with request/response types and clear pricing ($0.002/call) from x-payment-info. The endpoint returned 405 on HEAD/GET probes, which is expected since it's POST-only. Comprehensive docs and guidance are available. Deducted slightly because no actual 402 challenge was captured for this specific endpoint and response schema items are loosely typed.
Warnings
- —Endpoint returned 405 on HEAD and GET probes — expected for a POST-only endpoint, not an indication of downtime.
- —Response schema uses untyped `items: {}` for some nested arrays, so exact response structure must be inferred from Amadeus documentation.
- —The example response is inferred from Amadeus Transfer Booking conventions; no actual response sample was captured.
Citations
- —Transfer booking endpoint costs $0.002 per request (amount 0.002160 USD)https://stabletravel.dev/openapi.json
- —Request body requires offerId and data with passengers and payment fieldshttps://stabletravel.dev/openapi.json
- —Payment via USDC on Base, Solana, or Tempo via x402/MPP protocol, no API keys neededhttps://stabletravel.dev
- —Typical transfer workflow: search → book → optionally cancelhttps://stabletravel.dev/docs
- —Transfer types include PRIVATE, SHARED, TAXI, HOURLY, AIRPORT_EXPRESS, AIRPORT_BUShttps://stabletravel.dev/openapi.json