TRANSFERISE PARTNER API · v1 · REFERENCE
Airport transfer API documentation
Endpoints, parameters, example requests and responses for searching places, getting live transfer prices, creating bookings and changing or cancelling them. Use a sandbox key (tfx_test_…) while you build.
Reference
https://transferise.com/api/widget.php?action=…X-Api-Key: tfx_test_… (sandbox) · X-Api-Key: tfx_… (live) — or ?key=Content-Type: application/json) or form fields.book stores a TEST-… booking only you can see; nothing reaches drivers, no payment, no e-mails. booking_url / payment_url open a test page.book / update / cancel from your server, never from the browser. Live keys can be locked to your domains.?action=placesFind a place (airport, hotel, resort or address). Use the returned id in quote and book.
Parameters q (min 2 chars)
curl 'https://transferise.com/api/widget.php?action=places&q=rixos downtown' \
-H 'X-Api-Key: tfx_test_…'
Response
{
"ok": true,
"results": [
{
"id": "hotel:17370",
"kind": "hotel",
"name": "Rixos Downtown Antalya",
"label": "Rixos Downtown Antalya, Antalya City, Antalya, Türkiye",
"iata": null,
"lat": 36.8774,
"lng": 30.6656
}
]
}?action=quoteLive prices and vehicles for a trip. Prices are final (per vehicle unless pricing is per_person). payment_methods lists what the traveller can use for that vehicle. booking_url sends the traveller to our checkout with your reference attached.
Parameters from, to (place id) or from_lat/from_lng/from_label · date (YYYY-MM-DD) · time (HH:MM) · passengers · round=1 + return_date, return_time · currency (EUR, GBP, USD, TRY…) · lang (en, tr, de, ru)
curl 'https://transferise.com/api/widget.php?action=quote&from=airport:68&to=hotel:17370&date=2026-11-21&time=14:00&passengers=2¤cy=GBP' \
-H 'X-Api-Key: tfx_test_…'
Response
{
"ok": true,
"test": false,
"from": "Antalya Airport (AYT)",
"to": "Rixos Downtown Antalya",
"date": "2026-11-21",
"time": "14:00",
"passengers": 2,
"round_trip": false,
"vehicles": [
{
"id": 60,
"name": "Standard Sedan",
"type": "private",
"pricing": "per_vehicle",
"max_passengers": 3,
"max_luggage": 3,
"price": 25.04,
"currency": "GBP",
"price_eur": 30,
"payment_methods": [
"cash_driver",
"iyzico_split",
"iyzico_full"
]
}
],
"booking_url": "https://transferise.com/search?from=…&ref=p12&utm_source=partner&utm_medium=widget&utm_content=api"
}?action=bookCreate a booking (JSON body). Same rules as our website: the vehicle must come from a fresh quote, minimum notice and route checks apply. With an online payment_method the booking is pending_payment and the traveller pays on payment_url (3-D Secure card page); with cash_driver it is confirmed immediately. Send your own partner_reference: repeating a request with the same value returns the existing booking instead of creating a second one.
Parameters vehicle_id · from · to · date · time · round_trip, return_date, return_time · adults, children, infants · currency · lang · customer{first_name,last_name,email,phone} · flight_number · hotel · notes · payment_method · partner_reference
curl -X POST 'https://transferise.com/api/widget.php?action=book' \
-H 'X-Api-Key: tfx_test_…' -H 'Content-Type: application/json' \
-d '{"vehicle_id":60,"from":"airport:68","to":"hotel:17370","date":"2026-11-21","time":"14:00","round_trip":true,"return_date":"2026-11-28","return_time":"10:00","adults":2,"currency":"GBP","lang":"en","customer":{"first_name":"Anna","last_name":"Smith","email":"anna@example.com","phone":"+447700900123"},"flight_number":"TK123","payment_method":"cash_driver","partner_reference":"ARF-1001"}'
Response
{
"ok": true,
"booking": {
"reference": "TRS-7F3A21C",
"status": "confirmed",
"payment_method": "cash_driver",
"payment_status": "pay_on_arrival",
"total": 50.08,
"currency": "GBP",
"vehicle": {
"id": 60,
"name": "Standard Sedan"
},
"round_trip": true,
"passengers": {
"adults": 2,
"children": 0,
"infants": 0,
"total": 2
},
"customer": {
"first_name": "Anna",
"last_name": "Smith",
"email": "anna@example.com",
"phone": "+447700900123"
},
"notes": "",
"legs": [
{
"id": 9812,
"type": "outbound",
"status": "confirmed",
"from": "Antalya Airport (AYT)",
"to": "Rixos Downtown Antalya",
"pickup_date": "2026-11-21",
"pickup_time": "14:00",
"flight_number": "TK123",
"hotel": "",
"can_modify": true,
"hours_until_pickup": 331.5
},
{
"id": 9813,
"type": "return",
"status": "confirmed",
"from": "Rixos Downtown Antalya",
"to": "Antalya Airport (AYT)",
"pickup_date": "2026-11-28",
"pickup_time": "10:00",
"flight_number": "",
"hotel": "",
"can_modify": true,
"hours_until_pickup": 499.5
}
],
"payment_url": null,
"manage_url": "https://transferise.com/my-booking",
"partner_reference": "ARF-1001",
"test": false
}
}?action=bookingOne booking you created, with live status of every leg (outbound / return), can_modify and hours until pickup.
Parameters reference or partner_reference
curl 'https://transferise.com/api/widget.php?action=booking&reference=TRS-7F3A21C' \
-H 'X-Api-Key: tfx_test_…'
Response
{ "ok": true, "booking": { … same as book … } }?action=bookingsYour bookings by pickup date, 50 per page.
Parameters from, to (YYYY-MM-DD, default −30 / +365 days) · page
curl 'https://transferise.com/api/widget.php?action=bookings&from=2026-11-01&to=2027-01-31' \
-H 'X-Api-Key: tfx_test_…'
Response
{ "ok": true, "page": 1, "per_page": 50, "bookings": [ … ] }?action=updateChange pickup date / time, flight number, hotel or notes of a leg. Allowed until the cancellation window closes (24 h before pickup by default); the traveller, driver and our team are notified automatically.
Parameters reference or partner_reference · leg_id (default: outbound) · pickup_date · pickup_time · flight_number · hotel · notes
curl -X POST 'https://transferise.com/api/widget.php?action=update' -H 'X-Api-Key: …' \
-d '{"reference":"TRS-7F3A21C","leg_id":9812,"pickup_time":"15:30","flight_number":"TK999"}'
Response
{ "ok": true, "booking": { … } }?action=cancelCancel one leg (leg_id) or the whole booking (no leg_id). Free until the cancellation window closes. Card payments are refunded under our refund policy.
Parameters reference or partner_reference · leg_id (optional)
curl -X POST 'https://transferise.com/api/widget.php?action=cancel' -H 'X-Api-Key: …' -d '{"reference":"TRS-7F3A21C"}'
Response
{ "ok": true, "booking": { "status": "cancelled", … } }Errors
| HTTP | error | |
|---|---|---|
| 401 | invalid_api_key | Missing / wrong key, or the request comes from a domain the live key is not locked to. |
| 400 | from_to_required · reference_required · q_too_short | A required parameter is missing. |
| 404 | booking_not_found · leg_not_found | Not one of your bookings, or wrong leg id. |
| 405 | use_post | book / update / cancel need POST. |
| 409 | not_modifiable · already_cancelled | The change / cancellation window has closed, or the booking is already cancelled. |
| 422 | booking_rejected | message explains why (price changed → quote again, notice too short, contact data missing…). |
| 429 | rate_limited | 120 requests/min per key; 30 bookings/hour per live key. |
Booking rules
- Payment methods —
cash_driver(pay the driver),iyzico_split(deposit by card, rest cash),iyzico_full(full card payment). Only the codes in the quote'spayment_methodsare accepted for that vehicle. - Status —
pending_payment→confirmed→ legs becomecompleted;cancelledper leg or for the whole booking. - Changes & cancellation — free until the window closes (24 h before each pickup by default). After that, use
manage_urlor contact support. - Traveller communication — the traveller receives our confirmation e-mail with driver details and the My Booking link; changes via API notify the traveller and the driver.
- Attribution — bookings created with your key, and bookings made within 30 days after a traveller opens your
booking_url, carry your partner code.
