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.
Search
POST /v1/travel/ground-transport
Returns a search_id. Poll the results endpoint until status is complete.
| Field | Type | Required | Description |
|---|---|---|---|
start_address | string | yes | Pickup address or airport name |
end_address | string | yes | Drop-off address |
pickup_datetime | string | yes | ISO-8601 datetime |
num_passengers | integer | yes | Passenger count |
currency | string | no | ISO-4217 |
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/travel/ground-transportSandbox 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_coming—truewhile more suppliers are still respondingcurrency— the search currency; everypricein the response is in itquotes— 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.
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/travel/ground-transport/{search_id}/pollSandbox 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.
| Field | Type | Description |
|---|---|---|
filter_vehicle_types | string[] | Display name or numeric key — ["Sedan", "SUV"] or ["3", "4"] |
filter_vehicle_classes | string[] | ["First Class", "Business"] or ["1", "2"] |
filter_categories | string[] | ["Standard", "Large"] |
filter_amenities | string[] | Amenity keys the quote must offer |
filter_step_type | string | car, bus, ferry, rail, air |
filter_exclude_walk | boolean | Drop itineraries with a walking leg |
filter_min_passengers | integer | Minimum passenger capacity |
filter_min_luggage | integer | Minimum luggage capacity |
filter_cancellable_only | boolean | Cancellable quotes only |
filter_max_price | number | Maximum fare in the search currency |
sort_by | string | price_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.
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/travel/ground-transport/{search_id}/pollSandbox 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"}'