VANITYPASS
B2B APIGround Transport

Search Ground Transport

Search available vehicles and poll for results.

Search Ground Transport

Ground transport uses an async pattern: POST to search, then poll until results are ready.

POST /v1/travel/ground-transport

Returns a search_id. Poll the results endpoint until status is complete.

FieldTypeRequiredDescription
start_addressstringyesPickup address or airport name
end_addressstringyesDrop-off address
pickup_datetimestringyesISO-8601 datetime
num_passengersintegeryesPassenger count
currencystringnoISO-4217
Sandbox-only. Try-it requests target https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us.
POST/v1/travel/ground-transport

Sandbox credentials

Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.

curl -X POST 'https://cloud.vanitypass.com/v1/travel/ground-transport' \
  -H 'Content-Type: application/json' \
  -H 'X-Environment: Sandbox' \
  -d '{"start_address":"Heathrow Airport, London","end_address":"1 Buckingham Palace Rd, London SW1W 0QT","pickup_datetime":"2026-07-01T10:00:00Z","num_passengers":2,"currency":"USD"}'

Poll Search Results

GET /v1/travel/ground-transport/{search_id}/poll

Repeat every 2 seconds until more_coming is false. Quotes arrive across several polls — the initial search response carries none.

Response fields:

  • more_comingtrue while more suppliers are still responding
  • currency — the search currency; every price in the response is in it
  • quotes — available vehicles with pricing

Each quote's price is the full fare for the itinerary, already including any supplier fees — the same amount POST /v1/travel/quotes returns at checkout for that quote in the same currency. Amenity price values are likewise the amount charged to add the amenity.

make and model are supplier-reported and often null. Fall back to vehicle_description, then vehicle_type + vehicle_class.

Sandbox-only. Try-it requests target https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us.
GET/v1/travel/ground-transport/{search_id}/poll

Sandbox credentials

Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.

curl -X GET 'https://cloud.vanitypass.com/v1/travel/ground-transport/{search_id}/poll' \
  -H 'Content-Type: application/json' \
  -H 'X-Environment: Sandbox' \

Filter and Sort Results

POST /v1/travel/ground-transport/{search_id}/poll

Same endpoint, with a filters-only JSON body. Filter on the poll, not the search — the search response carries no quotes yet.

FieldTypeDescription
filter_vehicle_typesstring[]Display name or numeric key — ["Sedan", "SUV"] or ["3", "4"]
filter_vehicle_classesstring[]["First Class", "Business"] or ["1", "2"]
filter_categoriesstring[]["Standard", "Large"]
filter_amenitiesstring[]Amenity keys the quote must offer
filter_step_typestringcar, bus, ferry, rail, air
filter_exclude_walkbooleanDrop itineraries with a walking leg
filter_min_passengersintegerMinimum passenger capacity
filter_min_luggageintegerMinimum luggage capacity
filter_cancellable_onlybooleanCancellable quotes only
filter_max_pricenumberMaximum fare in the search currency
sort_bystringprice_asc (default), price_desc, rating_desc, capacity_desc

Every field is optional and unknown fields are ignored. A malformed body, or a filter value outside the supported taxonomy, returns 400 — filters are never silently ignored.

Sandbox-only. Try-it requests target https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us.
POST/v1/travel/ground-transport/{search_id}/poll

Sandbox credentials

Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.

curl -X POST 'https://cloud.vanitypass.com/v1/travel/ground-transport/{search_id}/poll' \
  -H 'Content-Type: application/json' \
  -H 'X-Environment: Sandbox' \
  -d '{"filter_vehicle_classes":["First Class"],"sort_by":"price_asc"}'