Transfer types
One endpoint, POST /v1/search, serves every transfer type. The body's transfer_type
selects the request schema:
transfer_type | Request schema | Unknown fields |
|---|---|---|
omitted or airport | Airport | ignored |
point_to_point or intercity | Point-to-point | rejected (422) |
hourly | Hourly | rejected (422) |
A search usually takes 5–15 seconds. Each provider gets at most 30 seconds; a slower one is reported in errors[]
as timeout and the other offers are still returned. Set your client timeout to 60 seconds.
Airport
From an airport to an address (arrival), from an address to an airport (departure), or both in one search.
{
"transfer_type": "airport",
"iata": "BOM",
"airport_name": "Chhatrapati Shivaji Maharaj International Airport",
"source_type": "air",
"place": {"lat": 18.9217, "lng": 72.8332, "name": "The Taj Mahal Palace",
"address": "Apollo Bunder, Colaba, Mumbai 400001"},
"arrival_date": "2026-11-26",
"arrival_time": "10:30",
"adults": 2,
"currency": "INR"
}
iatais a 3-letter airport code (city codes such asLONare not supported).source_type: airstarts at the airport (anarrival);hotelorgeostarts atplace(adeparture).- Set
departure_dateanddeparture_timeas well to search both directions in one call. - All dates and times are pickup times, local to the pickup, not flight times:
| You search | Set | arrival_* is | departure_* is |
|---|---|---|---|
| Airport → address | source_type: air, arrival_* | pickup time at the airport | – |
| Address → airport | source_type: hotel, arrival_* | pickup time at the address | – |
| Both directions | arrival_* and departure_* | pickup time at the airport | pickup time at the address |
Airport dates and times are passed to providers as sent: validate YYYY-MM-DD and HH:MM on your side. Send the
real flight at book time in flight_info; it is required when the offer has flight_info_required: true.
Point-to-point
Address to address, one way or round trip. intercity is accepted as an alias; responses say point_to_point.
{
"transfer_type": "point_to_point",
"trip_type": "round_trip",
"pickup": {"lat": 18.9217, "lng": 72.8332, "name": "The Taj Mahal Palace",
"address": "Apollo Bunder, Colaba, Mumbai 400001", "city": "Mumbai", "country_code": "IN"},
"dropoff": {"lat": 18.5308, "lng": 73.8475, "name": "Shivajinagar",
"address": "Shivajinagar, Pune, Maharashtra 411005", "city": "Pune", "country_code": "IN"},
"pickup_date": "2026-11-27",
"pickup_time": "09:00",
"return_date": "2026-11-29",
"return_time": "18:00",
"adults": 2,
"currency": "INR"
}
transfer_typeis required: without it, the body is read as an airport search.addressis required (at least 3 characters). Sendcityandcountry_codetoo: some providers select service areas by city (city_not_mappedwithout it) or serve one country only.- Pickup and drop-off must be at least 1 km apart; at most 16 passengers;
luggage0–20 (defaults toadults). return_dateandreturn_timeare required withround_tripand rejected withone_way. The return must be at least 1 hour after the outbound pickup. A pickup clearly in the past is rejected.- Round trips return
outbound,returnand, from some providers,round_tripoffers: see Round trips.
Hourly
A car and driver at the customer's disposal for hours hours (1–24) from the pickup.
{
"transfer_type": "hourly",
"hours": 4,
"pickup": {"lat": 18.9217, "lng": 72.8332, "name": "The Taj Mahal Palace",
"address": "Apollo Bunder, Colaba, Mumbai 400001", "city": "Mumbai", "country_code": "IN"},
"pickup_date": "2026-11-27",
"pickup_time": "10:00",
"adults": 2,
"currency": "INR"
}
Availability varies by location. A provider that cannot serve the request returns no offers and is listed in
meta.skipped_providers. How hours are priced differs by offer, so always read package:
| Offer pricing | What package shows |
|---|---|
| Exactly the requested hours | hours_included = requested hours, sometimes with a km_included allowance |
| Fixed packages (for example 4, 8 or 12 hours) | The smallest package that covers the request, for example 6 h requested → hours_included: 8 |
Extra hours or kilometres beyond the package are described in extra_charges and inclusions. In
extra_charges, null means unknown, not free.
Capabilities
The providers enabled for your key are agreed during onboarding; coverage (cities, countries, vehicle types) varies by location and provider. Always rely on the values in each offer.
| Capability | What to expect |
|---|---|
| Airport arrival and departure | Both directions can be searched in one call |
| Point-to-point, round trip | Two legs (outbound + return) or, from providers that sell round trips natively, one round_trip package |
| Hourly hire | 1–24 hours requested; availability varies by location. Some providers price the exact hours, others sell fixed packages with a kilometre allowance. |
| Countries | Multi-country. Some providers serve a single country and are skipped when the pickup country_code is elsewhere. |
| Minimum notice | Some providers need several hours' notice for point-to-point and hourly pickups (lead_time_too_short) |
| Offer validity | From about 20 minutes to 24 hours depending on the provider; recheck right before booking |
| Flight details at book | Required when the offer has flight_info_required: true; recommended otherwise |
| Cancellation | Immediate, or cancellation_pending first for providers that confirm later |
| Provider voucher URL | Some providers only (supplier_voucher_url) |
| Sandbox | Most providers, on their test systems; providers without a test system are available with a live key only |
Reading offers
| Field | Notes |
|---|---|
price.total | Total for the vehicle (not per person), taxes included, in the search currency |
vehicle.category | The provider's own label (Sedan, economy, AC SUV Large): not normalised. Group by max_passengers and max_bags. |
vehicle.model | Example model, always "or similar" |
pricing_model | fixed_route, hourly_package or outstation_package |
cancellation / cancellation_summary | Policy before booking; the binding policy is in booking details |
flight_info_required | true when the provider needs the airline and flight number at book time |
For point-to-point and hourly searches, vehicles with fewer seats than adults + children are removed. For
airport offers, check vehicle.max_passengers yourself. Every field is documented in the
search reference.
Locations
| Format | Where | Notes |
|---|---|---|
| IATA airport code | iata | 3 letters, airport codes only |
| Latitude / longitude | place, pickup, dropoff | Decimal degrees, WGS 84. Always required and authoritative. |
| Street address | address | Sent to providers and shown on vouchers. Not geocoded: make sure it matches the coordinates. |
| City / country | city, country_code | Optional hints that improve provider coverage |
Not supported: map-service place ids, hotel codes, station codes, postal-code-only locations.
There is no special-requests field in v1 (child seats, signs, driver notes). Choose a vehicle with enough
capacity and contact us about urgent special requests.