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

Base URLhttps://transferise.com/api/widget.php?action=…
AuthX-Api-Key: tfx_test_… (sandbox) · X-Api-Key: tfx_… (live) — or ?key=
FormatJSON in / out, UTF-8. POST bodies as JSON (Content-Type: application/json) or form fields.
SandboxSame places, prices and validation as live. 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.
SecurityCall book / update / cancel from your server, never from the browser. Live keys can be locked to your domains.
GET?action=places

Find 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
        }
    ]
}
GET?action=quote

Live 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&currency=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"
}
POST?action=book

Create 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
    }
}
GET?action=booking

One 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 … } }
GET?action=bookings

Your 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": [ … ] }
POST?action=update

Change 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": { … } }
POST?action=cancel

Cancel 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

HTTPerror
401invalid_api_keyMissing / wrong key, or the request comes from a domain the live key is not locked to.
400from_to_required · reference_required · q_too_shortA required parameter is missing.
404booking_not_found · leg_not_foundNot one of your bookings, or wrong leg id.
405use_postbook / update / cancel need POST.
409not_modifiable · already_cancelledThe change / cancellation window has closed, or the booking is already cancelled.
422booking_rejectedmessage explains why (price changed → quote again, notice too short, contact data missing…).
429rate_limited120 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's payment_methods are accepted for that vehicle.
  • Status — pending_payment → confirmed → legs become completed; cancelled per leg or for the whole booking.
  • Changes & cancellation — free until the window closes (24 h before each pickup by default). After that, use manage_url or 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.