VANITYPASS
White-label APIGround Transport

Search Ground Transport

Search available vehicles for your users and poll for results.

Search Ground Transport

Ground transport uses an async pattern: POST to start a search, then poll until results are ready. All requests carry the white-label headers Authorization: Bearer <JWT>, X-App-Id, and X-Environment.

Search Available Rides

POST /v1/travel/ground-transport

Search for available vehicles and pricing for a route. 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 currency code
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. Carry a quote's id into the quote and booking requests.

Path paramDescription
search_idID returned by the search endpoint

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, so nothing new appears at checkout.

make and model are supplier-reported and often null. Fall back to vehicle_description (free text, usually names the car), 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, so filters passed there have nothing to match against.

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, so re-posting the original search body also works. A malformed body, or a filter value outside the supported taxonomy (e.g. "Platinum" as a vehicle class), 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"}'